Build, Run, Repeat

  • Feature Cost

    We can build more, faster, “better”, than ever have before. What we’re seeing as a consequence is a rapid “spread” of features - applications that go from doing nearly nothing, to everything short of taking out the rubbish - in the span of a few days/weeks.

    Personally I’ve always been an advocate of slowing down, even before we had LLMs in the mix, but I think there’s a different way of phrasing it. Now we can build features incredibly quickly, and we aren’t compensating for the maintenance burden that used to build slowly over time.

  • Moving fast in the wrong direction

    LLM-enhanced programming is here to stay. Arguments against it are dead, especially in the professional world, and the only reason it would shift “backwards” is because running the models is currently subsidised to the extreme. This isn’t going to be a piece about how it’s “bad”, nor how we should all abandon the tools - might as well try and pick a fight with a rhino, ultimately it’s still going to run you over.

    No, this is about trying to encourage you to step left, when the whole world is pretending to sprint to the right.

    Stone Carver - Source https://commons.wikimedia.org/wiki/File:Stone-cutter,_chisel,_beret_Fortepan_89605.jpg

  • 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.

subscribe via RSS