My dearest gentlest reader,
Another hello, another new issue!
Every developer needs to self-host. Self-hosting fosters an operator mindset and forces you to learn how software actually runs beyond deployment. It also builds essential skills in networking, security, and DevOps, providing real-world troubleshooting confidence and opening doors for a career in infrastructure.
The rise of the AI engineer. An AI engineer is someone who orchestrates and integrates AI components into a software architecture. AI is not perfect and falls short in areas such as understanding business context, critical thinking, and ethical compliance. The gaps created by AI require human developers, and to fill the gap, we need to upskill.
Writing code was never the bottleneck in software development. The challenge is in coordination, review and shared understanding. Large language models accelerate code generation but also increase the burden on teams to integrate and maintain the generated code efficiently. Faster code doesn’t make faster teams. What is crucial is thoughtful design and maintaining shared context.
Software architecture is finally fixing its biggest problem. Developer experience. This approach prioritises usability, maintainability, and team productivity over theoretical perfection. Success is measured by how quickly teams can deploy features, how easily they coordinate across systems, and how confidently they debug and scale their solutions.
The best software I have ever used was written by one Person.
How we migrated 1 billion records from DB1 to DB2 without downtime. This article details a high-stakes database migration involving over 1 billion records, executed without any downtime. The team employed a dual-write strategy, synchronising data between the old and new databases while gradually redirecting traffic. They addressed challenges such as schema mismatches, data consistency, and performance bottlenecks through careful planning and the development of custom tooling. The success was due to rigorous testing, a phased rollout, and real-time monitoring, which ensured a seamless transition for users.
The simple habit that saves my evenings.
How to write “garbage code” (by Linus Torvalds), writing clean and maintainable code is not about following rigid rules, but about reducing friction for future developers, including your future self. Good code communicates intent and fits naturally within its context. The main goal is to make the next person’s job easier.
The word of the day is Embarrass. To embarrass someone is to make them feel confused and humiliated in front of others.
Examples in a sentence:
Your past work will always be a source of embarrassment.
I am making my grand departure into the unknown.
Until the next fortnight, my treasured reader, go forth, and may the odds be ever in your favour! 👏 🤖 ✊ ☠️ 🏹 🪖
Do you enjoy the latest issues of my newsletter? Buy me a piping cup of hot chocolate today!