I got my first internship in software development thirteen years ago and I had no idea what I was doing. But over time I a suspicion grew on me: are we maybe all more or less experienced amateurs who dabble in building mankind’s most complex machine.
We are in 2019 and the typical quality and reliability properties of our discipline’s work would be intolerable in any other industry. No month without a data breach, our most expensive bugs amount to billions and we cannot even agree how to conceptualize our profession. We so much prefer novelty over reliability that we are fatigued of the new and frame reliable as “boring”. It doesn’t look better when we look into methodology: agile is dead, so is Scrum (which also won and is terrible), only programming matters but it’s dying and we are not just code monkeys and SAFe is considered unsafe. While women used to dominate our industry, they are nowadays not even joining or leaving at an alarming rate.
The discontent with the status quo fuels me and my interests grew along the two dimensions of technique and technology. What kind of organizations and what kind of technologies do we need to build better software? Not from an ivory tower but in the trenches, both participating and observing. Practical, growth oriented and optimistic in the long term. It is too important to not get better.