It’s safe to say that software engineering is a hot profession. And it doesn’t look like demand for software engineers is going to decrease any time soon. So, if you’re thinking about becoming a software engineer, now is a good time to do it! But what does the future hold for this in-demand profession? Keep reading to find out!
What is a Software Engineer? According to Wikipedia, A software engineer is a person who applies the principles of software engineering to design, develop, maintain, test, and evaluate computer software. The term programmer is sometimes used as a synonym, but may also lack connotations of engineering education or skills.
It’s hard to believe, but demand for software engineers shows no sign of abating. Despite automation and the ever-growing availability of open source software, companies are still finding that they need people with specialized skills to design, build, and maintain their applications.
The question is “Will software engineers ever stop being in demand?”
There are two schools of thought.
- Those with a background in business see developers as commodities and fully believe that programmers will program themselves out of a job field. The idea is that in some distant future, jobs like project manager, product manager, and marketing manager will still be critical but programmers themselves will be extinct as a result of the tools they created.
- The other school of thought is hard to understand because the programmers are laughing so hard they can’t talk.
Its funny that the marketing manager doesn’t think he’s going to get automated out of existence.
What’s interesting is that marketing and software engineers (product people) are inextricably tied and both respond to the ever-changing needs of human beings.
Finance, Accounting and Operational functions will increasingly be automated. Marketing can automate some things but for the foreseeable future, you will need a human being to use a mix of intuition and data to figure out what to build, just as you will need a human being to figure out the best way to build it (engineers).
Any business partner worth their salt in today’s economy knows software engineers are your most valuable asset. Period.
“Any business partner worth their salt in today’s economy knows software engineers are your most valuable asset. Period.” I’m shocked and thrilled by this statement. I’ve often seen engineers treated as as expensive data entry specialists. But engineering has a steep learning curve and it requires a lot of time and concentration to master. Plus engineers acquire a lot of tribal knowledge during their time at a company, which is important because reading code is not as easy as reading a book. New engineers take time to get fully up to speed.
In 1980 I read in a newspaper that software developers would be extinct by year 2000. Probably something that could be extrapolated from the Maya calendar or Nostradamus or something.
People have been predicting the demise of programmers since the invention of COBOL. That’s a long time ago, for you youngsters.
Business people are taught to believe everyone but themselves are expendable. What we often ignore is that making people expendable requires code… the very people we wish not to be dependent on.
I wish business and engineering folks had a more symbiotic relationship, because the truth is, when business and engineers are on the same page and have mutual respect for the value the other brings, companies become unstoppable.
I stopped laughing awhile ago, because the joke is so old that it stopped being funny a long time ago. I personally saw several iterations of software companies coming up with programmer replacement tools, and many bean counters actually bought into it and spent $billions. One can go through the glossary of dead buried developer replacement tools and take your pick, but most laymen probably heard of program generators and 4GL. None of them even came close to achieving their stated goal, and all are 6-feet under now. The most laughable part is that COBOL, the original human understandable programming language is still being used today. So, I say to those “visionaries” not to bother, but just keep using COBOL if replacing the programmers is your inspiration.
I heard this exact same claim 25 years ago from 4 Harvard grads (who were hiring myself and three of my colleagues to develop a product) who said XML would making coding obsolete.
I would love to watch a product manager attempt to use a tool like co-pilot to write code himself…on any sizable codebase, it would take ten developers ten years each to unravel the mess that individual would make per 10k lines of code he “produced”.
Take a hard look at Elon Musk
Not only can he code
He can imagine new modes of transportation
He can imagine new ways to recover rocket boosters
He can imagine new applications to compensate people for their labors
Egomaniacal Software Engineers need to be exited from the profession
Software Engineers who can use their coding and enterprise-architect skillsets to address a new market…are worth their weight in GOLD
Being a programmer who has tried “low code solutions” they are nothing like custom-made solutions by a developer. And even with low-code solutions, you still need to employ a lot of the same type of reasoning and skills that a programmer would or you’re going to come out with a crappy end result for all but the simplest automations. Even if it were the case that people think programmers will automate themselves out of a job (not something I foresee and if you understand programming, you see it too) but even if they would, this is VERY far in the future and not something I’ll be worrying about at night 🙂
I’m a software developer. However, I disagree with this. When artificial general intelligence arrives, it could in principle take the role of the engineer away from a human.
I’m aware of the comic strip jokes about this, but I feel they miss an important point. I’m not talking about there being an even higher level language that somehow simplifies the source code beyond what would be possible. You can make it as simple as possible, but not any simpler.
Consider a freelance engineer. Their job is to listen to the needs to the client, and fill in the gaps in their vague and informal specification, and to understand the clients needs in a way the client themselves cannot, to facilitate the development of a formal specification (the code itself), and its technical implementation.
The engineer chooses appropriate algorithms, researches appropriate technologies, and instruments the production of the software on behalf of their client.
I can’t see a reason why a generally intelligent machine could not fulfil the same role – we ourselves are probably just quasi-generally intelligent automatons. In this sense, the “even higher level language” is the system of inference the AI is using to be able to produce the complete and formal specification.
Of course, without proper AI, you can’t do this sort of thing properly. However, I think it’s a mistake to discount the possibility.
Probably, this is a very long way off into the future. There will surely still be people writing code for the fun of it. However, once the responsibility of a developer can be delegated to an AI, it makes for a good business case to use it. Possibly, the logical end of this technology is a self-sustaining system of machines that mine material, assemble factories, construct tools, and produce products – while repairing each other in the case of failures.
So keep on laughing for now, but probably you won’t have the last laugh. Hopefully, maybe idealistically, the last laugh will be shared between us all.
What you’re missing is that we don’t even know what we don’t know about AGI yet. We’re barely closer to AGI than we’ve been for the past fifty years.
There’s another thing too: Programming is one of the harder human endeavors. The very first AGI may not even be much more capable than an average human with an integrated mind reading calculator. There’s no guarantee that it will immediately be smarter than a human. But it would be able to do menial jobs that still need a human, assuming its hardware can be made to be cheap enough. (Say it requires some new kind of chip with quantum properties.)
As it learns more it will be able to do harder and harder jobs.
So effectively every other job will be able to be done by an AGI before an AGI will be able to do the job of a human.
Meaning that if cheap AGI becomes a thing, humans will either be killed off a la Terminator or put on some kind of UBI well before software engineers lose their jobs to computers. If AGI stays perpetually expensive, though, then you’ll just have new AGI “people” joining the workforce in small numbers.
Artificial intelligence doesn’t have intuition and also can’t find relations between processes unless those are very obvious and have obvious pattern. Human brain is hard to simulate because we still don’t know everything about it and even if we would do, it would be to complex to make simulation of it.