Thursday, May 28, 2026

Promoting and pushing developers to use AI

 At Octopus, leadership is calling for people to develop fluency with AI, and to start adopting it if they haven't been already.

I've had a few chats with people about it, and feelings about it. Here is my take, and some bits from those discussions in case they are helpful to anyone else.

Once you get to Senior Software Engineer, the primary reason you get paid switches away from the ability to write code (at this level, everyone can do this well, it's just table stakes) and towards Decision Making and Good Judgement. Thinking about tradeoffs, pros and cons, effects of designs on humans and other parts of the system, etc.
  • This has always been the case. If you are at a lower level, once you've proven your technical coding ability, that's what you're shooting for.

AI brings new tools to the table. Just like you probably wouldn't write a string-scanner by hand when regex is available, if AI can write a piece of code in 10 minutes that might take you 3 hours, you probably should use AI.Like any other tool, we can't make good decisions about when to use AI and when not to, if we don't understand it or can't effectively operate it. So we should learn.

Making good decisions also means understanding when not to use AI, and how to validate the results.
  • AI helps you move quickly but it carries zero authority. If AI says the right answer is X, that means nothing unless you back it up, with external research, testing, or other source of truth.
  • This applies to any code it generates. You need to back it up.
    • If it generates code, you should review and run that code.
    • If it generates tests, you should review and run those tests.
    • If it adds a comment referencing some quirk in a framework, you need to understand that quirk and whether it actually applies.
    • and so on.

I find, if I have a clear and detailed idea of exactly what I want the result to be, I can describe this to AI, and these days it usually does a good job. But if I don't have a clear idea of the solution (design, code structure, etc), then I cannot make good decisions or judge anything that an AI might produce, so it is upon me to go and figure that out. Usually that involves exploratory "manual" coding.For me, this is where the interesting parts of software development have always been, and I'm not bothered about losing any coding-time towards AI. I'm always the one in charge of deciding whether to use AI for any given task because I'm being paid to use my good judgement about these things.

To recap: Nobody should use AI just because a senior person said so. But you're responsible for making good decisions, and sometimes the best might be to use AI. Get yourself to the point where you can make that decision confidently 😀

(With honesty: I'm not at that point yet myself. There are some places where I'll write code by hand for ages and then think, hmmm, did I just waste a bunch of time? and some other times where I've tried to use AI and it's taken longer than it would have by hand. Maybe nobody ever gets there completely, because the field keeps moving. But that's OK.)

No comments: