Some Sunday Thoughts on Software Design

I have just read a really good analysis on 737-Max crashes and the role of software engineering in safety critical systems. This is a really interesting highlight!

Given the fact that most of the companies nowadays don’t seem to find value of having technical Product/Project Managers, management aspect of software engineering is always important to remember.

I’m not suggesting anyone start coding now but trying to explain concepts, getting out of comfort zone and trying to speak the same language in development looks like really important for a successful software manager…

But then something funny happened to software. Managers (often lacking coding experience or an engineering background) decided that it would be more efficient if one group of people focused on designing software systems while another group of people actually wrote the code. I have never understood how this could possibly work, and quite frankly, I have never seen it succeed in a seriously complex environment. But there you have it – for a couple of decades, common software practice has been to separate design from implementation, distancing software engineers from the design of the systems they are supposed to implement.