Writing
Engineering notes, written to be used.
Short pieces on software engineering, backend systems and the operational software I actually ship. New articles go here.
6 Sept 2026
Product
When Does a Business Actually Need Custom Software?
Spreadsheets and disconnected tools stop helping when the process no longer fits them. Custom software is for that gap — not for rebuilding everything.
5 min read
2 Sept 2026
Product
“We Just Need a Website” Often Means More Than a Website
A website is the part customers see. “We just need a website” is often not the complete requirement.
5 min read
30 Aug 2026
Software Engineering
Changing a Working System Is Not the Same as Writing in a Blank File
When you build a new system, everything feels easier. Most changes, though, land on a system that is already running.
4 min read
26 Aug 2026
Software Engineering
When I get a requirement, I don’t start coding
The important part is understanding what you are actually trying to solve. The code comes after that.
4 min read
17 Aug 2026
Backend Architecture
Why a simple feature grows once it reaches the backend
Behind one button there is often validation, a database, a transaction and a call to another service.
4 min read
16 Aug 2026
Software Engineering
The bug was not in the Java code
Sometimes you read the same Java code for hours while the cause sits somewhere else entirely.
3 min read
15 Aug 2026
Databases
Some backend decisions are made by the database, not by Java
When the data model is thought about late, no amount of service code written afterwards will fix it.
4 min read
14 Aug 2026
Backend Architecture
Not everything has to be a microservice
A microservice architecture is sometimes not the solution but an extra problem.
4 min read
13 Aug 2026
Software Engineering
The backend problems tutorials do not show
Learning to write code is one thing. Turning that code into a system people use is another.
3 min read
12 Aug 2026
Backend Architecture
One guest record across the stay
Hotel software falls apart when reservations, the restaurant and the guest portal each keep their own version of the guest.
6 min read
11 Aug 2026
Software Engineering
Solving one problem without creating the next one
Every technical decision has a price. A fix that removes one problem can quietly create behaviour somewhere else.
4 min read
10 Aug 2026
Java
What good backend code looks like to me
Tidy classes are worth having. But the code that survives is the code that does not hide what the system does.
4 min read
4 Aug 2026
Software Engineering
Reservations that still hold at 21:00
A booking system is not a calendar widget. It is a promise about a room, a table or a station — and the promise has to survive a busy Saturday.
5 min read