Jon Hilton

@jonhilton.net

Day Job: I build modern, clean, scalable web apps | Side Hustle: Have helped over 1K .NET Web Developers improve their craft | .NET Web Developers click here ➡️ https://www.skool.com/ai-for-software-engineers-2648/

Today I'm doing a lot of Iceberg development. On the surface - AI smashes out an entire, high quality feature in 20 minutes. Underneath - I spend endless hours thinking, architecting, and running small experiments to get to the point where AI can code it in 20 minutes.

AI may generate code faster than a human, but that isn't the bottleneck. A better question - how can you get clarity on what to build and whether it delivers value?

Going round in circles. Anyone else feeling it? As software developers we're very susceptible to the silver bullet, shiny new thing that's going to make building stuff easier. Queue the fail loop: see shiny thing, adopt shiny thing, run into problems, see new shiny thing.

The more I use AI for coding the more it becomes apparent - AI generating realms of code isn't speeding us up. If the goal is to solve problems, deliver value, meaningfully impact our users, then AI generating more code, more quickly doesn't cut it.

I've recently found myself pondering earlier career choices, wondering if I made a mis-step somewhere, worrying about AI I mean, I even switched from PC to Mac! But I've just realised what's going on. Mid-life crisis ain't it! Phew, for a minute I thought I was losing it.

With AI we're coding faster than ever! Moar code! But what if the bottleneck isn't: - Understanding the requirement - Writing the tests - Writing the code - Reviewing the code What if it's getting feedback from users?

An old boss of mine loved nothing more than to come to the dev team armed with a 'mockup' for a screen they wanted building. The mockup was, in fact, an Excel sheet, where they'd used the border tool to make it look like the picture in their head.

Are LLMs like car engines, and harnesses like cars? A Škoda Octavia and base Porsche Macan use the same VW engine platform. Same engine, wildly different driving experience.

Team struggling to ship? Identify the bottleneck - the one part of the system where work backs up. It might be obvious (you're swamped in code reviews because... AI). Or less obvious (devs waiting for clarification on requirements from a PM or designer).

If I could magic one thing into the world it would be that more people leverage AI to help THEM think through, analyse and define the problem they're trying to solve. Before AI writes any code.

Imagine you're a junior developer and your boss asks you to "build a car finance calculator" You, the junior, don't know the rules, moving parts, how to calculate finance based on deposits, depreciation, interest rates etc. But, keen to impress, you give it a go.

For the engineering team leaders out there - how are you tackling the adoption of AI within your team? Maybe you've thrown some Claude/Copilot licenses at them and are hoping they can figure it out.

Let's be honest, as developers we've known the value of tests for a long time, doesn't mean we've always written them. But in the last few weeks I've made sure to get AI to write tests first, before implementing, and in most cases it's been much better in two key regards.

Everyone knows AI can generate code, but what if that isn't even its best party trick? I've found the most useful and productive sessions I've had are those where I get AI to help me do the work.

AI coding risks having us all spin around in circles doing more work than ever, while simultaneously failing to make progress towards our goals. Hell, half the time we don't even know what those goals are! Beware AI doesn't turn you into a busy fool.

There's a notable fail mode I see being amplified by AI right now. Especially for developers. We decide we want to build something, because we have a problem and feel like building something will help us fix it.

So, with AI, we can generate more code! MOAR CODE! Or... we can use it to help us think through what we're building, and why. And question whether we need to build anything at all, or at least hold off until we've analysed the business problem first.

The more I use AI for coding the more I realise feedback loops are vital now. (side note, they always were) Linters, compile checks, tests, extensions to test the UI in the browser, code quality reviews.

It's OK to feel unmoored by the noise around AI right now. If you're wondering how it impacts your role as a software engineer or manager, I got ya. I'm feeling it too. It's OK to feel curious, skeptical, excited, fearful, all at the same time.

Getting into a habit of recording more videos and publishing them. And I'm reminded that things like this are a great way to push past perfectionism, and ship the dodgy first 1, 2, 10 videos, knowing it's all part of the process.

If there's one thing I'm very glad to have tools like Claude Code help me with it's merge conflicts! I've had a few to deal with recently and it's sorted them out every time.

I increasingly find my main role with AI coding is to notice when it's guessing, and give it the tools to stop, look at the evidence, and go from there. Even better when that can be done up front, to reduce the times when AI starts guessing in the first place.

It feels like good code architecture matters more now than ever. Messy codebase? Messy AI results. Clean boundaries, consistent boundaries? Generally better results (albeit you still have to remind it sometimes).