Hacker News new | ask | show | jobs
by ZenoArrow 90 days ago
Haha! Your analogy doesn't work on multiple levels. Firstly, if you're outsourcing your work to AI you're not the engineer anymore. A civil engineer is different from a manager of a civil engineering project. Just like I wouldn't call myself an artist if I got AI to generate me some art, I wouldn't call myself a software engineer if I got AI to write all the code for me.

Secondly, it's not just about "enjoying the journey of construction", it's also about caring about the quality of the end results. Getting vibe coded software that is as stable as a "bridge that is safe and lasts for a century" is not a matter of careful engineering decisions, it's mostly a matter of luck, because you don't have the necessary oversight in the quality of the output unless you're doing extensive reviews of the generated code, at which point you greatly diminish the time you're supposedly saving.

1 comments

The analogy works fine! You're just being obtuse.

- Outsourcing

False. If you "outsource your code" to a compiler and just write higher level language, you're not an engineer. You literally don't own any of your own code, just an abstraction of it written in human language. See how that works? An engineer can delegate -- period.

- "I wouldn't call myself a software engineer if I got AI to write all the code for me"

If all you do is write code you're not an engineer. I think you fundamentally don't know what engineering is. In a very real sense engineering is what you do when you're not coding. The civil engineer doesn't construct the bridge personally.

- "Secondly, it's not just about "enjoying the journey of construction", it's also about caring about the quality of the end results".

Codemonkeys DON'T CARE about the quality of the end result. They only care about their little corner of the zen garden. Writing real software for real users is by far the worst part of a codemonkeys job.

- "Getting vibe coded software that is as stable as a "bridge that is safe and lasts for a century" is not a matter of careful engineering decisions, it's mostly a matter of luck"

Nonsense. The engineer who spends 90% of his time architecting systems and testing them at a high level is making safer and more stable software than the codemonkey who spends 90% of his time tinkering with the details. Forest for the trees.

- "unless you're doing extensive reviews of the generated code, at which point you greatly diminish the time you're supposedly saving."

Who said anything about "saving time"? We're engineering high quality systems. Some of us spend our time at a higher level, thinking holistically about the system, testing multiple concepts and rapidly iterating. Others demand bespoke handwritten code and in the time allowed can barely finish a single concept with a questionable amount of polish. Whatever their first idea is will ship, and they'll have no real ability to justify the architecture other than vibes.

> An engineer can delegate -- period.

Yes and no. Engineering does involve delegation but what defines an engineer is is what work they do, not what work they pass onto others.

If it helps you understand this, consider the role of an engineer as someone that makes engineering decisions. If you give a specification to a colleague and ask them to write code for you, then you're delegating those engineering decisions. When you write high level code, yes you allow a compiler or interpreter to determine how to turn your instructions into machine code, but you have made engineering decisions in order to design the end result. If you give instructions via product specifications, then you have acted as a project manager or business analyst, not as an engineer.

To use another analogy, imagine you are a chef and you go to eat at a restaurant you don't work in. When you order from the menu, you are not a chef at that moment, even if your background suggests you are capable of being one. Similarly, ordering code from an AI agent does not give you the right to call yourself an engineer when doing so, as you did very little of the real engineering work to produce the end result.

> If all you do is write code you're not an engineer.

Engineering requires thought and application of thought, and if you're outsourcing both then you don't qualify as an engineer.

> The engineer who spends 90% of his time architecting systems and testing them at a high level is making safer and more stable software than the codemonkey who spends 90% of his time tinkering with the details.

The devil is in the details. A technical architect that doesn't understand the tradeoffs in the designs they're specifying isn't worth the money they earn.

> Who said anything about "saving time"?

Almost everyone that is selling the benefits of AI. Clearly you haven't been paying attention to industry trends.