Maybe this is what will turn software engineering into an Engineering field.
Right know, prompters are setting up whole company infrastructure. I personally know one. He migrated the companies database to a newer Postgres version. He was successful in the end, but I was gnawing my teeth when he described every step of the process.
It sounded like "And then, I poured gasoline on the servers while smoking a cigarette. But don't worry, I found a fire extinguisher in the basement. The gauge says it's empty, but I can still hear some liquid when I shake it..."
If he leaves the company, they will need an even more confident prompter to maintain their DB infrastructure.
As a junior dev there is this pressure to produce code, add features, and investigate bugs within unprecedented time period. I know whole code base is fking up but i will still add that feature or do a sloppy bug fix without digging deeper.
In my experience, AI really lowered the bar for bad code in the name of delivering faster.
I have seen people write highly complex code where all the complexity was not necessary. Think: deep unnecessary branching, pointless error handling and retries which make no sense in our context, hand-coded parsing using regexps, haphazard data flow, functions which seem purely computational but slyly make API calls, pointlessly nullable model fields, verbose doc comments which describe the implementation instead of the contract. I could go on.
The worst part is, even when "prompted" by bad coders, it works in the end. Even has tests (ostensibly mock-ridden, a pet peeve of mine which always falls on deaf ears). So I cannot reject the PR without being an asshole.
I am no luddite. I make heavy use of AI, with all the skills / AGENTS.md / style guides and clear specs, then review every line of code, prefer testing with minimal mocking. I'd even say with right prompting, it can write better low level code than me (eg: anticipating common error conditions).
But my biggest fear about AI is how it enables normies with little to no understanding of CS principles to produce code faster which looks correct but slowly poisons the codebase.
> Maybe this is what will turn software engineering into an Engineering field
I think it’ll be the opposite. Maybe it’ll be what will eventually cement the field as “talent” based field. Just like it was difficult to quantify what makes a flute player better than another, how good your are at endlessly prompting a blackbox machine would be the only measure. The engineers of ol’ whoe developed kernels and drivers would be thought of as the “crazy people who put the flute against their temple to tune it” LOL. we don’t need people like that. You can just buy a flute tuning device. who gives a fuck? Can you make the next “Shake it, Shake it”?
> Maybe this is what will turn software engineering into an Engineering field.
Oh man, I think you may have touched the third rail here.
My first job out of high school was as an AutoCAD/network admin at a large Civil & Structural firm. I later got further into tech, but after my initial experience with real Engineering, "software engineering" always made my eyes roll. Without real enforced standards, without consequences, it's been vibe engineering the whole time.
In Civil, Structural, and many other fields, Engineers have a path to Professional Engineer. That PE stamp means that you suffer actual legal consequences if you are found guilty of gross negligence in your field. This is why Engineering firms are a collective of actual Professional Engineer partners, and not your average corporate structure.
The issue is that in software dev, we move fast, SOC2 is screenshot theater, and actual Engineering would slow things way down. But, now that coding is fast, maybe you are correct! Maybe vibe coding is the forcing function for actual Software Engineering!
___
edit: I just searched to see if my comment was correct, and it turns out that Software PE was attempted! It was discontinued due to low participation.
> NCEES will discontinue the Principles and Practice of Engineering (PE) Software Engineering exam after the April 2019 exam administration. Since the original offering in 2013, the exam has been administered five times, with a total population of 81 candidates.
https://ncees.org/ncees-discontinuing-pe-software-engineerin...
Note that other types of engineering are also often vibes based. The mechanical engineering for a rocket engine is extremely rigorous but the engineering for an injection molded housing for a cheap cell phone is a lot more about following a few heuristics and getting it out the door. Even in robotics where I work, it’s mostly about making parts that pass whatever acceptance tests you come up with. In civil engineering and aerospace failure costs human lives and millions or billions of dollars. In robotics maybe you have some machines fail in the field but in many instances you have one overarching safety system and many of the parts are irrelevant to that. The camera housing for example. So no paper trail or mathematical design validation is required to prove you designed it right. Often those are desirable but if you just manufacture it and test it a lot you’re probably fine.
This was something I noticed in my early career in mechanical engineering and later doing PCB design and software for robotics. It’s easy to find firms that just need adequate parts without the professional certifications or ass-covering calculations of other engineering fields.
All this to say, it’s not just software versus the rest of them. From my position, civil and aerospace seemed more like the exception while much of the rest of the engineering world is more vibes based.
>He was successful in the end
So it sounds like it was fine? Why would this prompt (haha) a change in their approach to things?
Now imagine if you’re one step removed. You don’t see the cigarettes, smell the gasoline, nor see the fire extinguisher gauge. You only see the servers running business-as-usual. Those “engineering” guys are always drama queens, you think. We have processes and fire extinguishers when shit hits the fan, right?
That’s basically every M2, and many if not most M1s, in the last 10 years. So fuck it. Why does any of it matters?