London based software development consultant

  • 479 Posts
  • 60 Comments
Joined 4 months ago
cake
Cake day: September 29th, 2025

help-circle















  • I am not surprised that there are parallels between vibe coding and gambling:

    With vibe coding, people often report not realizing until hours, weeks, or even months later whether the code produced is any good. They find new bugs or they can’t make simple modifications; the program crashes in unexpected ways. Moreover, the signs of how hard the AI coding agent is working and the quantities of code produced often seem like short-term indicators of productivity. These can trigger the same feelings as the celebratory noises from the multiline slot machine.











  • Where did you get the impression that the author is an inexperienced developer and finance bro? The introduces himself as someone who started programming from the age of eleven.

    I’m Michael Arnaldi, Founder and CEO of Effectful Technologies — the company behind Effect, the TypeScript library for building production-grade systems. I’ve been programming most of my life. I started at 11 with the goal of cracking video games. Since then, I’ve written code at every level: from kernel development to the highest abstractions in TypeScript.


  • I think the most interesting, and also concerning, point is the eighth point, that people may become busier than ever.

    After guiding way too many hobby projects through Claude Code over the past two months, I’m starting to think that most people won’t become unemployed due to AI—they will become busier than ever. Power tools allow more work to be done in less time, and the economy will demand more productivity to match.

    Consider the advent of the steam shovel, which allowed humans to dig holes faster than a team using hand shovels. It made existing projects faster and new projects possible. But think about the human operator of the steam shovel. Suddenly, we had a tireless tool that could work 24 hours a day if fueled up and maintained properly, while the human piloting it would need to eat, sleep, and rest.

    In fact, we may end up needing new protections for human knowledge workers using these tireless information engines to implement their ideas, much as unions rose as a response to industrial production lines over 100 years ago. Humans need rest, even when machines don’t.

    This does sound very much like what Cory Doctorow refers to as a reverse-centaur, where the developer’s responsibility becomes overseeing the AI tool.


  • This article is quite interesting! There are a few standout quotes for me:

    On one hand, we are witnessing the true democratisation of software creation. The barrier to entry has effectively collapsed. For the first time, non-developers aren’t just consumers of software - they are the architects of their own tools.

    The democratisation effect is something I’ve been thinking about myself, as hiring developers or learning to code doesn’t come cheap. However, if it allows non-profits to build ideas that can make our world a better place, then that is a good thing.

    We’re entering a new era of software development where the goal isn’t always longevity. For years, the industry has been obsessed with building “platforms” and “ecosystems,” but the tide is shifting toward something more ephemeral. We’re moving from SaaS to scratchpads.

    A lot of this new software isn’t meant to live forever. In fact, it’s the opposite. People are increasingly building tools to solve a single, specific problem exactly once—and then discarding them. It is software as a disposable utility, designed for the immediate “now” rather than the distant “later.”

    I’ve not thought about it in this way but this is a really good point. When you make code cheap, it makes it easier to create bespoke short-lived solutions.

    The real cost of software isn’t the initial write; it’s the maintenance, the edge cases, the mounting UX debt, and the complexities of data ownership. These “fast” solutions are brittle.

    Though, as much as these tools might democratise software development, they still require engineering expertise to be sustainable.




  • I use AI coding tools, and I often find them quite useful, but I completely agree with this statement:

    And if you think of LLMs as an extra teammate, there’s no fun in managing them either. Nurturing the personal growth of an LLM is an obvious waste of time.___

    At first I found AI coding tools like a junior developer, in that it will keep trying to solve the problem, and never give up or grow frustrated. However, I can’t teach an LLM, yes I can give it guard rails and detailed prompts, but it can’t learn in the same way a teammate can. It will always require supervision and review of its output. Whereas, I can teach a teammate new or different ways to do things, and over time their skills and knowledge will grow, as will my trust in them.


  • My understanding of how this relates to Jevons paradox, is because it had been believed that advances in tooling would mean that companies could lower their headcount, because developers would become more efficient, however it has the opposite effect:

    Every abstraction layer - from assembly to C to Python to frameworks to low-code - followed the same pattern. Each one was supposed to mean we’d need fewer developers. Each one instead enabled us to build more software.

    The meta-point here is that we keep making the same prediction error. Every time we make something more efficient, we predict it will mean less of that thing. But efficiency improvements don’t reduce demand - they reveal latent demand that was previously uneconomic to address. Coal. Computing. Cloud infrastructure. And now, knowledge work.



  • Kent Beck does mention CodeRabbit, however he also highlights the benefits of pairing with humans, as he later goes on to say:

    It’s not pairing. Pairing is a conversation with someone who pushes back, who has their own ideas, who brings experience I don’t have. CodeRabbit is more like… a very thorough checklist that can read code.

    I’d rather be pairing.

    I miss the back-and-forth with another human who cares about the code. I miss being surprised by someone else’s solution. I miss the social pressure to explain my thinking out loud, which always makes the thinking better.




  • Based on my own experience of using Claude for AI coding, and using the Whisper model on my phone for dictation, for the most part AI tools can be very useful. Yet there is nearly always mistakes, even if they are quite minor at times, which is why I am sceptical of AI taking my job.

    Perhaps the biggest reason AI won’t take my job is it has no accountability. For example, if an AI coding tool introduces a major bug into the codebase, I doubt you’d be able to make OpenAI or Anthropic accountable. However if you have a human developer supervising it, that person is very much accountable. This is something that Cory Doctorow talks about in his reverse-centaur article.

    “And if the AI misses a tumor, this will be the human radiologist’s fault, because they are the ‘human in the loop.’ It’s their signature on the diagnosis.”

    This is a reverse centaur, and it’s a specific kind of reverse-centaur: it’s what Dan Davies calls an “accountability sink.” The radiologist’s job isn’t really to oversee the AI’s work, it’s to take the blame for the AI’s mistakes.


  • This really sums up Beck’s argument, that now is the perfect time to invest in junior developers, because AI allows them to learn and skill up faster:

    The juniors working this way compress their ramp dramatically. Tasks that used to take days take hours. Not because the AI does the work, but because the AI collapses the search space. Instead of spending three hours figuring out which API to use, they spend twenty minutes evaluating options the AI surfaced. The time freed this way isn’t invested in another unprofitable feature, though, it’s invested in learning.



  • This quote from the article very much sums up my own experience of Claude:

    In my recent experience at least, these improvements mean you can generate good quality code, with the right guardrails in place. However without them (or when it ignores them, which is another matter) the output still trends towards the same issues: long functions, heavy nesting of conditional logic, unnecessary comments, repeated logic – code that is far more complex than it needs to be.

    AI coding tools definitely helpful with boilerplate code but they still require a lot of supervision. I am interested to see if these tools can be used to tackle tech debt, as often the argument for not addressing tech debt is a lack of time, or if they would just contribute it to it, even with thorough instructions and guardrails.