Build, Run, Repeat
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.
Beware the Increment
Conflict and grief in our working lives often comes from expectations of what is happening not matching the reality. Misrepresentation of work can take different forms - such as unrealistic expectations from upper management, teams not being transparent in what they’re doing, and trying to force tactical work to fit with a predetermined strategic plan. What this blog post focuses on is projects that are planned incrementally, then try to be executed with iterations.
subscribe via RSS