Not a clue...

Here is why software engineering is not an engineering discipline and what sandpits have to do with that!

Fact: It’s a gut wrenching endeavour to be a software engineer, that is somehow up to date with current developments in technologies and practices. Things move as fast as they can be - huge sums of money are poured into a technology, design paradigm or process that is obsolete a few months later and replaced by a different technology, a different paradigm and different process.

Software development is on the way to becoming a recognized engineering discipline which it should be, but is far away from being. About as far as a teenager is from being a grownup.

Let’s be honest: We simply have no clue what we are doing!

This assessment I make having insights into electrical and mechanical engineering disciplines. Compared to these disciplines, we’re more like kids playing in a sandpit: We discover, that we can build almost anything and are mostly limited by our tools. Most of the stuff we build today will - much like a sandcastle - not make it through the rising tide at night!

We have not agreed on how we test the stuff we write. We don’t know how to measure or even agree on how and how well our systems perform. We lack any kind of standard or agreement on how to write code. We have no common notion of what architectures are suitable to solve a certain set of problems. We deliberately avoid standardizing our tooling so it could eventually benefit someone else, and last but not least, we almost pride ourselves in the omission of any ethical and or moral guide rails for what we can or cannot build.

Yet we complain - we’re not being taken seriously! Everybody is laughing at us. We expose a classic Napoleon complex and comes from a well cultivated spite for the more traditional engineering disciplines.

We are not aware that no mechanical engineer would ever use a material for a task he does not absolutely know it is suitable for. To assess this, he has massive amounts of information in books, tables or formulas to assess/disprove his predictions. No electrical engineer would ever rush a PCB into mass production without having it prototyped and tested and knows it will work as designed. No architect will even lay the foundations to a bridge without verifying it’s statics using math first!

We are not an engineering discipline - and rightly so! We need get out of the sand pit and join the grownups.