Ask HN: If You Don't Use AI, Are You Irrelevant?

4 months ago 27

AI is rapidly changing how we write software. But are these changes for the better, or are we trading deep expertise for quick wins? Let's explore some uncomfortable truths and contradictions in the current AI + software engineering hype.

1. There are some common rhetorics around like, If you don't use AI, you will soon become irrelevant, "AI won't replace software engineers, but a person using AI will" or "AI will make programmers who don't use it obsolete". How true are these statements? Are engineers that use AI actually better placed, or are engineers that don't use AI better placed? Is it efficient to use AI or vibe coding in the long run?

Analyzing the first question, in any given field, we could say that a person with knowledge on the subject will be at the front of the subject. A quote from E.M. Forster, "Spoon feeding in the long run teaches us nothing but the shape of the spoon." I feel is quite relevant here. We've had people who were decent engineers who could write code on their own and are now using AI and waiting for it to autocomplete whole functions for them, and accepting if it does the job. Remove the AI tool, and they struggle to write basic code again. Hence, learnt the shape of the spoon and forgot actual programming. Countering this, you could say it doesn't matter and as long as you are able to produce the product fast, that's what matters. This is often said by people who have no hands-on experience and haven't built any product themselves. However, they are people who are in very valuable groups like executives, founders, investors and others who have built large companies around software. There are others that also push this rhetoric like hack culture promoters, journalists that don't work with software, quick fix managers, and media. Who’ve never debugged a strange architecture problem at 2 a.m.

The second question, is it efficient in the long run? Most experienced engineers will tell you no. This is because software is much more complex. With AI, it takes more effort to write paragraphs to tell AI how to fix the issue then fixing the issue itself. A self validating and a good example is in this post https://www.reddit.com/r/ExperiencedDevs/comments/1krttqo/my_new_hobby_watching_ai_slowly_drive_microsoft/. Other arguments are, AI produces a lot more code than needed, and products heavily built with AI are very tricky to debug. All of this builds technical debt, and there are numerous arguments you can find on why technical debt is costly later on. The counterpoint to this is, it still doesn't matter. AI is getting very good quite fast, and you could use AI in the future to fix the technical debt. If you need things fixed quick, you could also hire junior devs to do it for you. There is also an AI management architecture that the managers have come up with. AI bots that write code, AI bots that manage them and, AI bots that strategize. Regardless, the question becomes: Are we building sustainable systems or just automating messes faster?

2. Software engineering is a highly sophisticated field. Vibe coding is not. There are good software design principles, science and theories behind certain algorithms, security, cryptography with research and science behind it, architecture, cloud architecture, networks and a lot more things. An experienced engineer knows about these, and more that's not mentioned, and has experience and intuition that cannot be described in words. Should such an engineer buy into vibe coding right now and erode his skills? Come on, you can't tell me how to chat with a bot is an art when I've been destructuring complex and conflicting requirements from the managers, CEOs and sales people. On the other side, you can say, AI makes this type of engineer much more efficient. AI will now transform his job. Or, bluntly, he'll become irrelevant if he doesn't use AI. As if using a chatbot is a skill you can't learn in 1 day.

I'm curious. How are you thinking about AI in your engineering? Is it a useful, a distraction, or a threat to the craft itself? Where do you draw the line?

Continued ...

Read Entire Article