Skip to content

2025

Paradigms of Software Development: How Great Engineers Adapt

The Singaporean drummer Brandon Khoo was once asked in a Q&A session: how do you tell a good drummer and a bad drummer apart? To which he replied: a good drummer is someone who knows how to play for the music.

An analogous case might be made for software engineering: a good engineer shapes their work around the needs of the application.

At its heart, software engineering is about trade-offs. Different stages of a product's lifecycle demand different engineering priorities. There are different attitudes and perspectives to software engineering, and a master engineer will change their approach as circumstances evolve.

With this in mind, I began thinking in terms of paradigms. In this article, I outline three distinct yet complementary approaches to engineering: Start-up Engineering, Bulletproof Engineering, and Optimisation Engineering, which broadly correspond to the inception, maturity and scale of a software project.