Why AI divides programmers

I think the biggest reason that some programmers don’t like AI is that they expect determinism, and generative AI is not deterministic.

We are used to programming being the bit where we feel like a wizard.

We’ve came up with the plan, worked out what the inputs/outputs of our program are, what functions we might need, and thought about edge cases and where things might fail.

This is arguably the hard part of programming. It’s solving problems effectively.

Now the part where we actually get to implement our plan is traditionally typing the code in by hand. Translating our pseduocode we’ve written into a programming language.

AI automates the part where we type these esoteric symbols by hand to get our program to work and feel like magic.

That doesn’t necessarily feel… good?

This puts us in the “reviewer” position. For many people, this is synonymous with “boring”. For me, it feels okay in small doses.

There’s also less of an active feedback loop as you let the AI generate however many LOC it wants, then you review. You aren’t implementing a small function yourself, noticing something and tweaking it, and then moving onto the next piece of code.

I think that the tool just has different audiences. Product-minded people will use any tools at their disposal to build a product. That’s understandable. People who like to tinker and experiment might not find it as fun.

There’s also something important here which is that no matter how you frame it, you have to understand code to be able to effectively (or at least responsibly) use what it has generated.

This is different from using AI in the learning or exploration process. I’ve personally had some very good experiences asking AI tools extremely niche questions about random porgramming things, and getting back an astoundingly good repsonse. That’s pretty useful.

At the same time, for me at least it requires a lot of willpower to use the interface of a chat to really critically think and digest information compared to a book, course, or even video.

Of course there are many more reason why AI divides programmers, and to be honest, I genuinely don’t know and can’t predict how AI is going to work in a year or even further than that.

I’m not a betting man, but my closest approximation will be that they continue to be useful because of sheer amount of capital being deployed to make them better.

From a holistic perspective though, I’m yet to be sold on them being some kind of silver bullet and I’m not sure how they will affect my skills over a long period of time. Agents and other crazy workflows don’t really interest me yet.

I hope you enjoyed!