Ask HN: Is software engineering heading towards obsoletion?

16 points by negamax ↗ HN
What the title says. Have most of the heavy lifting moved to cloud. Too many ready to use solutions. Is software engineering a dying art at this stage?

44 comments

[ 3.9 ms ] story [ 113 ms ] thread
(comment deleted)
Demand for programmers is at an all-time high, and grows every year. There are no signs of a slowdown I know about. Someone has to write the cloud SAAS and build the infrastructure and integration around those. Companies grow, requirements change, technologies evolve. I’ve been hearing predictions about demand for programming skills decreasing for 4 decades, it has yet to happen.
it may grow, however isnt it because of lot of BS work like maintain our webpage or ancient billing SW, glue stuff together for our "startup"?
BS stuff like getting paid a lot of money to write code? Your BS may be my bread and butter.

It’s possible some segment of programmers will obsolete themselves by calling actual business requirements BS, or insisting that they will only work in Clojure on new development with a custom standing desk from home and never have to attend a meeting or engage with the rest of the company. But the work is there, more of it every day, and it’s only boring BS if you perceive it that way.

Same boat as you very grateful for my job but pwrent may have a point that such old systems may be phased out.
BS jobs must be automated or deprecated. you may find a short term security in being a doorman for someone but for both of our sake I hope soon we will be freed from such toil.
You can find dignity in all kinds of work. You may not want to be a doorman, but someone else might love it.
LOL. My GPS recently tried to route my car through a pedestrian-only plaza on GWU campus. I don’t think it’s been open to vehicles for 30 years. We have no prospect at this time (without some unexpected and unpredictable breakthrough in science) of automating even simple programming jobs.
Working on legacy code, doing work that isn’t the fad of the month, is not the same as a BS job. That kind of work is the least likely to get automated or deprecated. Right now data science and ML are increasingly automated and commoditized. Cookie-cutter web sites are easy to build with SAAS off-the-shelf. It’s the niche custom domains and legacy code maintenance that are not commodity work or the target of “no-code/low-code” tools.
Being responsible for your work includes maintaining legacy code.

And more importantly, when required code that ain't yours, plenty of people that don't do and don't like it unfortunately.

But it's useful to know which mistakes were made so you don't need to repeat them.

>I’ve been hearing predictions about demand for programming skills decreasing for 4 decades, it has yet to happen.

The market was definitely down after the dot com bust.

If interest rates rise substantially then I wouldn't be surprised to see a lot of the VC money disappearing followed by a drop in demand.

I survived the dot-com bust. At that time I had 20 years of experience programming. I worked at a cool hip marketing/multimedia company when the bottom dropped out. The programmers who only had experience doing .com startup nonsense and very little tech background ended up working at Borders and Starbucks (actual examples). I went to a logistics company working on an Oracle code base. Lesson: don’t over-specialize, don’t self-limit your career. I have worked steadily as a programmer for 40 years, always plenty of demand even if it shifts around business domains. Watch out for fads. Old things like relational databases and Unix/Linux hang on for a reason.

Younger less-experienced programmers I worked with who got laid off in 2000 when their startup tanked struggled for a long time to get back to their pre-bust salaries. They were probably overpaid in the first place, hired in as fresh talent in an overheated VC-driven job market that was not sustainable. When that happens it’s disillusioning and depressing. I see that happening again, kids fresh out of college hired at Facebook/Meta at crazy salaries that no other employer will match if/when Meta tanks.

well, it is evolving... a dying art - for sure, the "golden" days are long over, however that does not mean its not a viable job anymore..
I’m 30-ish years into professional software dev and think things are getting better not worse.

The software ecosystem is so much richer and it’s possible to accomplish so much more per hour by past tedium avoided (and the resulting pay is so much better) that I think if we’re exiting the golden age, it’s towards a platinum or diamond age rather than a silver or bronze.

coming from embedded my biggest complaint is _some_ companies gluing together or building on top of open source and monetizing it. instead of building their solutions in house from scratch.
Why would I build my own OS from scratch if I could embed Linux in my project? Why write my own C compiler and stdlib if I can use GNU’s? It seems strange to me to want people to start from scratch; I see the value of open source as avoiding that pointless toil and am happy to see build their companies on top of open source (so long as they’re in compliance with the license).
there is a grey area between reuse and abuse
Why would I build my own OS from scratch if I could embed Linux in my project?

In a word, performance. You know how when you were a kid and turned some device like a TV on it worked instantly but these days you might have to wait a minute before anything interesting happens? That's one thing that can happen when layers and layers of abstraction and generic software replace highly specialised firmware designed for each product. Of course building all those layers might be cheaper, faster or easier. Unfortunately that doesn't always mean the end result is better for the user.

Yes.

I think programming work in the next decade will be done by logicians using something like TLA+[0] to simply describe specifications.

And something like GitHub co-pilot to translate those specifications to working code.

[0]: https://en.m.wikipedia.org/wiki/TLA%2B

At first, i thought you delusional, because make no mistake AI will never make quality software better than a dedicated human (that is until AI is so smart that trying to use it in this fashion is tantamount to slavery).

However... The software doesn't need to be good, just functional. Getting good specs is hard too, but the specs don't need to be complete... I could imagine a terrifying world of startups with very fast "functional" MVPs that are slow as dirt and robust as paper with giant bugs caused by bad specs. It wouldn't be too different from the status quo!

> AI will never make quality software better than a dedicated human

This seems doubtful given the average quality of human code.

This sounds like you're describing 4GLs. That was a popular idea a while ago and it has some echos today, but a lot of that effort died. Outside of very specific scenarios (LabVIEW, maybe crystal reports?), the usage is still minimal. I interact with a single clipper application which I hope gets rewritten soon.

The "your analyst will write your low-code solution" idea is still futurism.

So what you're saying is software will be created by people using some kind of formal notation to write a precise specification for how it should behave, which the technology then follows? If only we had a name for that process...
Exactly, we already do that. We want more detail and control, which means lower-level programming and writing more software.

Specify programs by only a very brief specification is similar to No Code/Low Code. It's great for prototyping and not much more.

> programming work in the next decade will be done by logicians using something like TLA+

How is that not software engineering?

That’s just a different workflow for producing software. What you’re calling a logician here is what most people just call a ‘programmer.’
It's the Law of Leaky Abstractions though isn't it? Most of my time isn't taken by the mainline stuff - it's dealing with things that don't do what they say on the tin or weird edge cases. I'm thinking back to my recent work and really can't imagine any of it being turned into something that could be done in something like TLA+.
No, TLA+ is not end-to-end. It's describing a toy model only, not the actual programmed system. End-to-end formal methods are completely different.
Not at all. We have barely scratched the surface of what computers can accomplish and all of that will require programmers. Comment’s mentioning AI obviously haven’t spent much time actually working on AI projects because it is a long time away from being able to even develop simple crud applications without developer intervention. Software Engineers will have jobs long after you and I are dead
Yes but so is everything else, AI is eating the world. No profession will be spared, even the oldest is getting AI'fied.
Counterpoint: I spend a lot of time coaching data scientists and others building the “AI” on better software engineering. I have noticed a distinct difference in those that can organize, scale, and test their AI stuff over those that rely on software engineers to do it for them. Often left to their own devices, Unconstrained by software eng concerns, DS can push more and more to a theoretical and impractical direction, creating models that don’t actually work at scale. Whereas more constrained by these more SW eng concerns, DS will make more practical decisions. Often simpler models that scale.

I think this is reflected in the marketplace with the new ML and data engineer roles that try to find people on a data-eng spectrum.

IMO the DS with software eng skills (and software eng with DS skills) is the future - https://shopify.engineering/search-at-shopify

This is a pretty curious statement. Can you name any profession that has been replaced by AI?
Yes, AI and/or commoditisation will take over. Programming will look more like collaboration with AI agents, and developers will be paid for creative insights, not for grunt work.

But not for a while. My personal estimate is 25 yrs +/-10. 50 yrs would be the absolute limit.

I'm not sure I'd expect the startup scene to survive much beyond than that. For various reasons, it will either become impossibly difficult or trivially easy to start an online business.

Once AI smart enough to write complete software packages exists, that means that AI will have also penetrated other parts of society like driving and Medicine and Law.

Professions which are way easier to automate than software development.

Radiology and Driving are the canary in the coal mine in my opinion.

No. Most people lack the numeracy/logical reasoning skills to even configure nearly ready-to-deploy software and services for specific business use cases. There will always be a domain for people with this particular talent. Plus there’s billions of people out there yet to be served by the existing stuff.
If the bubble bursts a lot of BS jobs will go away including a lot of jobs in the 'innovative' sector, which only exist due to Americans having more cash than they know what to do with. Think the 23rd food delivery app, uber but for x, crypto, etc. Cowboys will be devastated but the highly skilled and credentialed will always have options.
Nope. The absolute hardest part about building software (at the intersection of frequent problem / difficult problem) is capturing business requirements and making the computer do that thing.

This is a people problem. Not a code problem.

Software development will never be automated unless people can begin creating extremely accurate business requirements. And that is never going to happen unless human nature changes. And it won't.

Not by a long shot. There is an irreducible tension between lean 80% solutions to targeted problems and enterprise kitchen sink solutions to “integrate” everything. The latter inevitably sucks which means there’s always an opportunity for the former. As long as we don’t let megacorps gain complete control through market dominance there will be no shortage of new and interesting work.
There is so much automation to be done that engineering is going to stay. Software is eating the world and there is a lot morr eating to be done.
Lonewolf software engineer(ing)

That is those without sale and marketing team or resource. As a software engineer, you will be fine indefinitely. As a software engineer founder of a company or just an indie who likes to develop and sell software, it becomes more and more inhabitable.

What are people putting in the cloud? Software developed by engineers! What is the cloud? Software developed by engineers! What are ready-to-use solutions? Software developed by engineers! How are people accessing all this stuff? Software developed by engineers!

There's plenty of engineers needed for the internet, but even if we assume the internet will never need any more software engineers, there are still tons of other areas that do: embedded, automotive, manufacturing, phone apps, defense, logistics/supply-chain, etc.