What Actually Slows Software Delivery Down
Software delivery usually slows down because of decisions, handoffs, fear, and bad environments, not because developers are typing too slowly.
wade womersley – york based software engineer
Engineering notes from the sharp end
wade womersley – york based software engineer I write the way I work: direct, useful, and more interested in what holds up in production than what sounds clever on a slide.
199 published posts
Latest update
Latest post
Software delivery usually slows down because of decisions, handoffs, fear, and bad environments, not because developers are typing too slowly.
Archive
Offline support looks like a simple feature request until you have to deal with stale data, sync conflicts, retry rules, and user expectations. The hard part is not storing data locally. It is keeping the whole system honest.
Build pipelines stop being “just internal tooling” the moment they start deciding how fast you can ship, how often you break things, and how painful releases feel.
Kotlin feels good when it removes friction instead of adding ceremony. After enough Java, that difference becomes obvious very quickly.
The hard part of a mobile app is usually not the screen layout. It is sync, auth, state, permissions, offline behavior, and the release problems that show up after the UI already looks finished.
A good API is not just functional. It is predictable, consistent, and easy to use without a lot of guesswork.
Clever infrastructure looks impressive in diagrams. Boring infrastructure is usually easier to operate, easier to debug, and much easier to keep alive once real users depend on it.
Environment management usually looks simple at first. Then defaults drift, secrets spread out, local setups stop matching production, and the whole thing becomes a source of avoidable mistakes.
AWS diagrams love to look simple. The problem is that the operational reality behind them is usually doing a lot more work than the picture admits.
Serverless has real tradeoffs, but for small teams I still think it usually wins. The operational overhead stays low, the first version ships faster, and the mistakes are easier to afford early on.