Why More Software Requires More Engineering

The latest advances in LLMs and agentic work have shown one thing: roles within traditional software engineering teams must change. In many businesses a typical engineer would preferably spend 80% of their time on writing code, 5% on software architecture and the remainder on communication, including gathering requirements. The latter two are what I typically think of when discussing engineering. Agentic software development turns this on its head. Honestly, it's about time. Software engineering was the only remaining field in which the engineer actually implemented what they designed.

Continue reading »

Culture as a Replacement for Systems

When you want consistency you enact systems. Systems are made up by triggers that transform input into the desired output through a defined recipe (check out my friend's book!). The downside is that systems can be rigid, while the operating environment is ever changing. Systems can get clumsy or inefficient when you’re not careful about right-sizing your processes to the problems you’re trying to solve. There is no silver bullet, yet many knowledge intensive organizations have a knee-jerk reactie to schedule more meetings when systems break down.

Continue reading »

The Capability Development vs. Execution Paradox

Developing a skill takes time and practice. Complimentary or associated skills form a capability when combined: an effective way to execute on a non-trivial task. Skills and capabilities seldom develop in parallel fully. Innate talents might allow for the faster development of certain skills. Some environments might expose you to more learning opportunities, allowing you to improve faster.

Continue reading »