AI has also exposed that many "engineers" are just "people who like fiddling with code" and that's fine in the sense that it makes it clear who are the actual engineers who are engineering solutions to real human problems and who just want to tinker with code.
Like imagine slandering a civil engineer "you just want a bridge that is safe and lasts for a century, you don't care about enjoying the journey of construction".
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.
- 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.
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.
Would you currently trust a bridge designed by a civil engineer using AI for all of their calculations ?
Of course. I've seen how sloppy and lazy humans are, and I already use the bridge, and if the safety truly came down to the output of single person, then the risk is already significant.
I must say, I got a chuckle at "using AI to do their calculations". Oh no, my agent is going to write a python script to do basic maths, and check their work against a series of automated tests, the sky is falling!
Not a great comparison. I'd agree with you if it was straight up vibe coding.
But co-creating (which is what I do) I create plan, then step through it with Claude. Claude creates a small part of what I want, I review, tweak or ask Claude why it took that approach if its different.
I know the subject matter of what it is creating, so in this sense it is safe, as long as I am reviewing everything.
It gets dangerous if you just let it create something without any interaction or understanding of what is being created.
It's not so much a project manager. I have something I want to build, I create the plan and work slowly through it with Claude. Stopping at every piece and reviewing as I go.
I can confirm the code is good, but also when it takes a different approach I question why it took that approach. Occasionally I learn something.
> who just wants the end result regardless of how it's made.
Sometimes you want the app but don't care how it gets created, because its helping you focus on what you really want to do. For example I created a mindmap App in XCode on-par with XMind. Not every feature, but everything I use.
The less coding you do, the less good you will be at making those decisions on code quality. Coding skills atrophy when not used.