Build, Run, Repeat
-
Why not approve?
This is something I wrote years ago, which I’ve rescued from my inbox
I’ve been thinking about pull requests a lot recently. It stems from an impassioned rant one of my former mentors gave over beer-and-boardgames recently, that can be summarised thus:
“We’ve got this great system for dealing with a group of perfect strangers working together around a piece of software - but why do we keep taking this system and using it in businesses where you can just talk to the person about their changes”
The reason it’s been rattling in my skull, is that after mentoring under him, I’ve basically carried forward an attitude of approve-by-default. I know that might sound like a terrifying way to work, you might even call me reckless - but let me try and talk you round.
-
AI Code tools are a Tarpit
All anyone has wanted to talk about for the last couple of years has been AI - and really, that being a shorthand for LLMs. As a developer who is quite slow to adopt technologies, it’s had a fairly minimal impact on my actual process. The main change has been that ChatGPT is a ready replacement for Google - and in honesty, that’s in part due to the fact that Google search has been on a massive decline of late.
LLMs have huge potential as part of software development - both as systems to integrate into the software you produce, and tools to help you write the code itself. That’s not a position I’m going to try and stand against, because it’s just bad faith to pretend these models aren’t anything other than a big leap forward. Instead I want to look backward, and really consider the forgotten lessons of the past that - I think - are beginning to repeat themselves.
-
Enterprise Crossword Solving
Software development is an enigmatic field to people who are not themselves software developers. We type strange words into computers and it makes pixels on someone else’s screen move around. Very little of what we produce can be shown off - handed to your grandparents at a dinner table - unless you’re lucky enough to work in firmware. So when we talk about feeling burned out or frustrated with our jobs, it can be hard for people on the outside to understand - especially when we’ll talk endlessly and passionately about that very same job.
So I want you to imagine you’re solving a crossword puzzle.
-
Server Side Rendering Racing - Next.js vs. PHP
When working on Mince Pie Rank at christmas, I was caught a little off guard when I was working on the “All pies” page. It seemed like the page would take a good 3-5 seconds to load - at first I thought it was the cassandra queries being slow, or just returning too much data. After a bit of playing around, what I actually found was that the HTML of the page seemed to be taking much longer to render that I would have expected.
-
Why I TDD
Over the last couple of years, my focus has been on process. As I experimented with more languages and frameworks, it became clear that it was where there was the most room to grow, without boxing myself into a corner. Part of this has been a real drive to not just practice Test Driven Development (TDD) by rote, but to really understand why to do it on a personal level - which I’ve whittled down to four core pillars.

subscribe via RSS