Essays

Explore articles about essays on Life Beyond Fife

The Three Layers of Software Engineering
essays

The Three Layers of Software Engineering

Code being written instantaneously by AI makes expertise in the craft of software engineering more valuable, not less. What a good software engineer looks like will have many subjective answers depending on who you ask. Some might want a driven finisher, some might want a meticulous bug fixer. But those aren't skills of a software engineer so much as personality traits; important ones to balance across a team. Training to become an entry-level software engineer, and the journey progressing to senior, takes a decade or more. In the past, engineers could choose the pace of their progress to some degree...

13 min readRead more →
Defend your codebase against AI comments
essays

Defend your codebase against AI comments

Generative AI tools such as Claude Code, Cursor, Devin, Roo Code, Windsurf have fundamentally changed the process of how software is written. As teams increasingly rely on AI-generated code, they need to rethink how they merge this code into their codebase, especially regarding comments. I’ve long taken a policy against most comments when writing code. It has been perfectly summed up by this tweet. Maybe at one point the plastic container did hold basmati rice, but today, it’s clearly storing biscuits. This is it, the fundamental point: the compiler ignores your comments, so their relationship to the truth holds no...

5 min readRead more →
The Slow Path to Everything
essays

The Slow Path to Everything

Over twenty years in software development, I’ve witnessed an evolution in how code integrates with other code. Each step has enabled more complex and distributed systems capable of progressively more impressive achievements. This comes with the price of understanding each new layer’s abstraction, moving us further from fast, direct execution and closer to slow, human communication. This journey reveals where we could be heading next. It’s all code, in one place My first job as a software developer in the early 2000s was a lesson in how not to do things. The best example I can give is how version...

7 min readRead more →
 The Deployment Constraint: Speed, Safety, and Automation
essays

The Deployment Constraint: Speed, Safety, and Automation

In software deployment, there exists a fundamental tension between three critical factors: speed, safety, and automation. This forms a triangle where engineering teams can optimise for any two points, but something must give on the third. You can deploy fast and safely, but only with significant automation investment. You can deploy fast with minimal automation, but safety suffers. Or you can achieve safety with simple processes, but speed becomes the casualty. This tension plays out in predictable patterns across the industry. Teams prioritising speed and simplicity push code quickly with minimal testing, accepting the safety risks that come with “move...

7 min readRead more →
essays

Stop saying Tech Debt

If you gave two options to someone who cared about business outcomes, about what they could have, which do you think they’d choose? new product feature or reduce technical debt fix a bug or reduce technical debt improved sales channel or reduce technical debt more accessible UI or reduce technical debt increased performance or reduce technical debt Technical debt, or more simply tech debt, is the losing horse in every race because only one group cares about the problems caused by it: the engineers on the team supporting the product. A clean, well architected system is easier to reason with,...

4 min readRead more →
Hiring advice for bootcamp graduates
essays

Hiring advice for bootcamp graduates

I'm currently trying to hire as many software engineers as I can, and more and more I'm seeing applications from candidates who retrained via an intense, engineering bootcamp. I want to hire every single one of them. In general whenever I'm interviewing someone I want them to succeed regardless, but there's a lack of diversity of thought in tech and when I see someone with a background in marketing, customer support, or even a short order cook, I get excited about what they could teach me. Anecdotally, I see the tech enthusiastic clique who started coding when they were a...

9 min readRead more →