5 min read

Why developers need to embrace AI

I think the perception of AI among developers is a bit interesting. I see quite a big division between Hacker News and Lobsters. On Hacker News, people seem a bit more enthusiastic about and embracing of AI. On Lobsters, there's a big crowd of people who really despise AI and don't want to read anything that has any connection at all to AI.

On Lobsters, they have different tags that you can tag submissions with. One of those tags has been "vibecoding," and a lot of AI-related stuff has been grouped into that tag. Now they recently made a change to that, but reading the comments, there are a lot of people who don't want to read any AI news. They don't want to see anything about projects that have been AI-generated. Nothing about projects where the developers are using AI assistance just for development but still reviewing the code properly.

They also don't want to read about research, new technology, or anything where AI has been used in the process. Maybe someone used AI to generate some example site for a research result, even if the actual research was done by hand and AI was only used for some peripheral thing on the side. They don't want to read anything about that either. This crowd seems to be quite big, or at least vocal. So they really despise AI and don't want to have any affiliation or connection with it, even if it's some very vague connection to AI, which I guess will be more and more difficult going forward.

The problem with the vibecoding tag on Lobsters was that it was a bit derogatory. You might have put a lot of effort into some project or blog post or something, but just because there is some vague connection to AI somewhere, or you're linking to or mentioning some project that has something to do with AI, the post gets labeled "vibecoding."

It's interesting to see the Lobsters community discussing this, because it's difficult to satisfy both camps. On one hand, there are users who really embrace and love AI. On the other hand, there is another camp that despises AI and doesn't want to read anything about it, contribute in any way to anything AI-related, or use software if anything AI-generated is part of it.

I think AI is here to stay, and it will be difficult to find something that doesn't have some piece that's been influenced by AI in any way.

For instance, people are now a bit upset about Linux and Linus Torvalds because they are allowing AI to be used in kernel development. It's still the kernel developer who needs to understand the code that they submit and that gets merged. It's still the developers who have responsibility for their own code, but they are allowed to use AI when developing.

Linus Torvalds himself is using AI for development. There has been some recent news about that, which has made this crowd of people upset. Now they feel bad about using Linux because Linux developers and other developers are getting help during development from AI.

I also like to write my code myself. I think it's fun to code, but knowing that there are tools that would make me more efficient, of course I'm going to use those tools if I'm allowed to at my workplace.

I could write my code in Notepad without syntax highlighting and without any help, with no file browser, no auto-completion or anything, and no debugger. But the more rational thing is to use all tools that are available to me to produce as much and as good a result as possible.

If I'm doing .NET development, of course I'm going to use Visual Studio or Rider to get as much assistance as possible. Since a few years ago, it's also logical to use an LLM and an agent if you're allowed to at your workplace.

In the past, we were all using Stack Overflow to look up things, googling a lot, and finding old forum posts to try to solve our bugs. What's the difference between doing that manually and now using an LLM to do it for you? It's just more time efficient, and it feels like a bit of a waste of time to do it the old way when there is now a more efficient way to produce the same result.

Even if I'm using an AI agent, I can still be in the steering seat, and I don't need to vibe code and not look at the code. I can still describe the outline, how I want my architecture, what kind of services I want, and what technology to use. Then it's not different from being a lead developer who hands out a task to some other developer and just verifies the result.

In some way, I think AI is a bit like a compiler. I know that a lot of people don't agree because a compiler is deterministic, while an LLM is stochastic. Given the same input with an LLM, you get different outputs. Given the same input with a compiler, you get the same output.

Although some languages have different compilers, like C, with Clang and GCC, they output different results. Even though the behavior of the code might be the same, the exact code run is probably different if you use different compilers.

In some way, it's a bit similar to an LLM. You specify in English or some other language how you want your application to behave, and then the LLM will generate a program that fulfills that. But each time you run the same prompt, you get different-looking results. The variation is, of course, larger with an LLM, but it's a bit similar to a compiler. I know that there are people who don't agree with it.

I think in the end, for a customer or end user, it's quite rare that they care exactly how the code is written: whether it's handwritten, each line of code is super beautiful, and a lot of thought is put into each line, or whether it's AI-generated and mass-produced.

I think the end user probably cares more about the result and what they can do with the application, if it works for them or not. How it's implemented under the hood doesn't matter at all, whether it's just an LLM, C, Rust, JavaScript, or whatever, as long as it's working.

It's a bit similar to how most people prefer buying IKEA furniture because it is relatively cheap, at least, and mass-produced. They all follow the same shape and form, but there are still woodworkers who make unique, handcrafted tables and chairs and other furniture.

Most people don't care if their bookshelf is handmade or mass-produced. Most people are buying a Billy bookshelf from IKEA when they buy a new bookshelf. Some people seek out a handcrafted bookshelf, but that also costs a lot. It's not that many people who value handcrafted furniture enough to appreciate that. Most people are just looking for the utility of a bookshelf, and how it's produced doesn't really matter.

I think it's similar with software: people want to fill a need and get some utility out of it, and exactly how it was implemented doesn't matter.

I also think that it's a bit arrogant, from some luxury standpoint, to insist on handwriting all your code. Today, maybe you are currently being paid to handwrite each line of code, but I think that is, in large part, going away, regardless of whether we like it or not.

If you can develop 10 times as much code and 10 times as many features in the same amount of time if you are AI-assisted, I think most stakeholders, who are paying for your salary, paying for your project, or paying for the product, would want more output.

Regardless of what you personally think about it, sure, you can hate AI and write your own code. Power to you, and I'm happy for you if you can get paid to do that. But I think that the number of people in the future who will get paid to handwrite all of their code will be decreasing.

I think most developers just need to embrace the future. Just acknowledge it and accept it. This is the direction the software industry is moving in, regardless of whether you like it or not.