Software Engineering As Legitimate Engineering Discipline

Wed 20 January 2016

For 2016 I've decided it's time I take my public communications seriously.

Perhaps some of my customers and colleagues realize that my previous attempts at wit are born from decades of struggle on difficult software projects.

But most of the internet has no idea who I am, and my previous devcurmudgeon posts make it quite easy for competitors to claim I'm just a joker.

So from now I'm planning to be as blunt and direct as I can, on issues I encounter in large scale software engineering.

This is not to gratify my ego, or for 'marketing'.

My motivation is, as I've said many times to customers and colleagues in private, that I want to help establish Software Engineering as a legitimate Engineering Discipline.

Not a craft. Not a playground for 'rockstar developers'. Not an arcane dance that can only by performed by geeks.

A discipline which

  • can be learned by people with intelligence, aptitude and dedication
  • whose capabilities be easily distinguished from fakes and incompetents
  • and whose work can be managed effectively in even large-scale projects
  • with reasonable expectation of predictable outcomes
  • where the results can be measured and relied upon and maintained

Obviously I'm not the first to write about this. The following are all interesting and worth a read:

But to be clear, I intend to help change this picture. Software systems are now too complex and too important for us to continue building on sand.