AI programming tools should be added to the Joel Test

Here's a wake-up call to all CTOs: AI programming tools are getting freaking amazing and if you don't allow your teams to use them somehow, it will bite you in the ass in a couple of years. You will be slower and you will lose your best people.

The infamous Joel Test is a list from the year 2000 of 12 things all great software companies do. Since then most companies have implemented Git and CI/CD, checking of three items, so we have some space left in the 2024 update ;) I believe "Do you allow your developers to use AI assisted development environments?" is a necessary addition.

I get that you don't want your source code to end up on some OpenAI / Microsoft / Github server somewhere, sure, but find a way to use your own models or learn to live with it. Note that this is often not the same as "#9 - Do you use the best tools money can buy?" as blocking AI tools is about data security, not money.

So why do I think developers need AI programming tools? I'm a seasoned developer with about 15 years of serious programming experience. In the last 10 years I've done less of it, as I was busy with Product Manager / CTO things. I'm now starting my own company, so I'm programming a lot, and I'm exploring whether some technologies really have a 2-10x impact on my work (supabase does, shout-out to you guys!). I wanted to give AI assistants a try, so I spun up Github Copilot, plandex.ai and aider.chat .

There's plenty of things wrong with these tools: they are often wrong, are slow and the GPT4 ones are really expensive. I have many opinions on how AI programming tools should work instead of the brute-force LLMs we use today, but I'll reserve those for another post. Because even in this early phase I can say that I will never go back to not using them. And this is just the start, it will only get better from here. Programming with Copilot is different from normal programming, a bit like singing a duet I guess. You have to adapt to having a partner, give it the right cues, move out of the way when it's their turn etc. But it takes the boring repetitive tasks out of programming, and I love it. I feel less tired, can do better work, and feel like I'm often going 2x faster.

So if you're an engineer, find a place that does not block you from using AI tools. Ask it during your interview process!

If you're a CTO: find a way to get your engineers to use them, or make one.

And if you're Joel Spolsky, please release an update of the Joel Test, would love to know what you think in 2024 ;)

Discuss on HN

Comments

Popular posts from this blog

The unreasonable effectiveness of i3, or: ten years of a boring desktop environment

Idea time: RFID+E-Ink, electronic price tags without batteries