Free Republic
Browse · Search
General/Chat
Topics · Post Article

Skip to comments.

Software developers might be obsolete by 2030
Towards Data Science ^ | 10/19/2020 | Rhea Moutafis

Posted on 10/19/2020 8:49:54 PM PDT by SeekAndFind

In 1930, John Maynard Keynes predicted that we’d be having 15-hour workweeks by the end of the century. But by the time it was 2013, it was clear that the great economist had gotten something wrong.

Welcome to the era of bullshit jobs, as anthropologist David Graeber coined it. Since the 1930s, whole new industries have sprung up, which don’t necessarily add much value to our lives. Graeber would probably call most jobs in software development bullshit.

I don’t share Graeber’s opinion, especially when it comes to software. But he does touch an interesting point: as more and more processes are automated, most jobs are obsolete at some point. According to one estimate, 45 percent of all jobs could be automated using current technology. And over time, they probably will.

In software development, where things move pretty fast anyway, you can see this happen in real-time: as soon as software testing became a hot topic, automation tools started springing up. And this is just one of the many areas where the bullshit-parts — the parts that are iterative and time-consuming — of software has been automated away.

This begs the question, though, whether developers are making themselves obsolete by building automation tools. If more and more machines can write code for themselves, what do we need humans for?

From designing logic to designing minds

Software developers are builders at heart. They build logical links, algorithms, programs, projects, and more. The point is: they build logical stuff.

With the rise of artificial intelligence, we’re seeing a paradigm shift though. Developers aren’t designing logical links anymore. Instead, they’re training models on the heuristic of these logical links.

Many developers have gone from building logic to building minds. To put it differently, more and more software developers are taking on the activities of data scientists.

The three levels of automation

If you’ve ever used an IDE, then you know how amazing assisted software development can be. Once you’ve gotten used to features like autocomplete or semantic code search, you don’t want to go without them again.

This is the first area of automation in software development. As machines understand what you’re trying to implement, they can help you through the process.

The second area is that of closed systems. Consider a social media app: it consists of many different pages that are linked among each other. However, it’s closed insofar as it isn’t designed to directly communicate with another service.

Although the technology for building such an app is getting more and more easy to use, we can’t speak of real automation yet. As of now, you need to be able to code if you want to create dynamic pages, use variables, apply security rules, or integrate databases.

The third and last area is that of integrated systems. The API of a bank, for example, is such a system since it is built to communicate with other services. At this point in time, however, it’s pretty impossible to automate ATM integrations, communications, world models, deep security, and complex troubleshooting issues.

The three areas of automation. Image by the author, but adapted from Emil Wallner’s talk at InfoQ. Software development is a bumpy road, and we don’t really know when the future will arrive.

The world through a computer’s eyes

When asked whether they’ll be replaced by a robot in the future, human workers often don’t think so. This applies to software development as well as many other areas.

Their reason is clear: qualities like creativity, empathy, collaboration, or critical thinking are not what computers are good at.

But often, that’s not what matters to get a job done. Even the most complex projects consist of many small parts that can be automated. DeepMind scientist Richard S. Sutton puts it like this:

Don’t get me wrong; human qualities are amazing. But we’ve been overestimating the importance of these problems when it comes to regular tasks. For a long time, for example, even researchers believed that machines would never be able to recognize a cat on a photo.

Nowadays, a single machine can categorize billions of photos at a time, and with a greater accuracy than a human. While a machine might be unable to marvel at the cuteness of a little cat, it’s excellent at working with undefined states. That’s what a photo of a kitten is through a machine’s eyes: an undefined state.

Towards new manifolds and scales

In addition to working with undefined states, there are two other things that computers can do more efficiently than humans: firstly, doing things at a scale. Secondly, working on novel manifolds.

We’ve all experienced how well computers work at a scale. For example, if you ask a computer to print("I am so stupid") two-hundred times, it will do so without complaining, and complete the task in a fraction of a second. Ask a human, and you’ll need to wait for hours to get the job done…

Manifolds are basically a fancy, or mathematical, way of referring to subsets of space that share particular properties. For example, if you take a piece of paper, that’s a two-dimensional manifold in three-dimensional space. If you scrunch up the piece of paper or fold it to a plane, it’s still a manifold.

It turns out that computers are really good at working in manifolds that humans find hard to visualize, for example because they extend into twenty dimensions or have lots of complicated kinks and edges. Since many everyday problems, like human language or computer code, can be expressed as a mathematical manifold, there is a lot of potential to deploy really efficient products in the future.

Where we are in terms of computer scalability and the exploration of novel manifolds. We’re working on areas one and two, but have barely touched area number three. Image by the author, but adapted from Emil Wallner’s talk at InfoQ.

The status quo

Current developments

It might seem like developers are already using a lot of automations. But we’re only at the cusp of software automation. Automating integrated systems is almost impossible as of today. But other areas are already being automated.

For one, code reviews and debugging might soon be a thing of the past. Swiss company DeepCode is working on a tool for automatic bug identification. Google’s DeepMind can already recommend more elegant solutions for existing code. And Facebook’s Aroma can autocomplete small programs on its own.

What’s more, the Machine Inferred Code Similarity System, short MISIM, claims to be able to understand computer code in the same way that Alexa or Siri can understand human language. This is exciting because such a system could allow developers to automate common and time-consuming tasks, such as pushing code to the cloud or implementing compliance processes.

Exciting horizons

So far, all these automations work great on small projects, but are quite useless on more complex ones. For example, bug identification software is still returning many false positives, and autocompletion doesn’t work if the project has a very novel goal.

Since MISIM hasn’t been around for a long time, the jury is still out on this automation. However, you’ll need to keep in mind that these are the very beginnings, and these tools are expected to become a lot more powerful in the future.

Soon-to-come applications

Some early applications of these new automations could include tracking human activity. This isn’t meant like a spy-software, of course; rather, things like scheduling the hours of a worker or individualizing the lessons for a student could be optimized this way.

This, in itself, presents huge economic opportunities because students could learn the important stuff faster, and workers could serve during the hours in which they happen to be more productive.

If MISIM is as good as it promises, it could also be used to rewrite legacy code. For example, lots of banking and government software is written in COBOL, which is hardly taught today. Translating this code into a newer language would make it easier to maintain.

Being a software developer will remain exciting for a long time to come. Photo by Brooke Cagle on Unsplash

How developers and corporations can stay ahead of the curve

All these new applications are exciting. But above them looms a big Damocles’ sword: what if the competition makes use of those automations before you catch on? What if they make developers totally obsolete?

Investing in continuous delivery and automated testing

These are certainly two buzzwords in the world of automation. But they’re important nevertheless.

If you don’t test your software before releases, you might be compromising the user experience or encounter security issues down the road. And experience shows that automated testing covers cases that human testers didn’t even think of although they might have been crucial.

Continuous delivery is a practise that more and more teams are picking up, and for good reason. When you bundle lots and lots of features and only release an update, say, once every three months, you often spend the next few months fixing everything that got broken in the process. Not only is this way of working a big hindrance for speedy development, it also compromises the user experience.

There’s plenty of automation software for testing, and there’s version control (and many other frameworks) for continuous delivery. In most cases, it seems better to pay for these automations than to build them yourself. After all, your developers were hired to build new projects, not to automate boring tasks.

If you’re a manager, consider these purchases an investment. By doing so, you’re supporting your developers the best you can because you’re capitalizing on what they’re really good at.

The left shift: including developers in the early stages of every project

Oftentimes, projects get created somewhere in upper management or close to the R&D-team, and then get passed down until they reach the development team — which then has the task of making this project idea real.

However, since not every project manager is also a seasoned software engineer, some parts of the project might be implementable by the development team, while others would be costly or pretty much impossible.

That approach may have been legitimate in the past. But as lots of the monotonous parts of software development — yes, those parts exist! — are being automated, developers are getting a chance to get more and more creative.

This is an excellent chance to move developers left, i.e., involving them in the planning stages of a project. Not only to they know what can be implemented and what can’t. With their creativity, they might add value in ways that are not imaginable a priori.

Make software a top priority

It’s been a brief five years since Microsoft’s Satya Nadella proclaimed that “every business will be a software business”. He was right.

Not only should developers shift left in management. Software should shift up in priorities.

If the current pandemic taught you anything, then it is that much of life, and value creation, happens online these days.

Software is king. Paradoxically, this becomes more apparent the more of it gets automated.

The bottom line: geeks are becoming leaders

When I was at school, people who liked computers were deemed unsociable kids, nerds, geeks, unlikeable creatures, and zombie-like beings devoid of human feelings and passions. I really wish I were exaggerating.

The more time is progressing, however, the more people are seeing the other sides of developers. People who code are not regarded as nerds any more, but rather as smart folks who can build cool stuff.

Software is gaining more power the more it’s being automated. In that sense, your fear of losing your developer job due to automation is largely unfounded.

Sure, in a decade — in a few months even — you’ll probably be doing things that you can’t even imagine right now. But that doesn’t mean that your job will go away. Rather, it will be upgraded.

The fear that you really need to conquer is not that you might lose your job. What you need to shake off is the fear of the unknown.

Developers, you won’t be obsolete. You just won’t be nerds that much longer. Rather, you’ll become leaders.

Written by

Pursuing my PhD on Dark Matter physics. Lover of art, music and beautiful things. Queer in every sense.



TOPICS: Business/Economy; Computers/Internet; Society
KEYWORDS: automation; coding; developers; software
Navigation: use the links below to view more comments.
first 1-2021-4041-45 next last

1 posted on 10/19/2020 8:49:54 PM PDT by SeekAndFind
[ Post Reply | Private Reply | View Replies]

To: SeekAndFind

No machine can do my job until it learns how to drink.


2 posted on 10/19/2020 8:56:11 PM PDT by The Antiyuppie (When small men cast long shadows, then it is very late in the day.)
[ Post Reply | Private Reply | To 1 | View Replies]

To: SeekAndFind

yes and no.

Programming was and is a skill and an art but, like industrialization, we’ve distilled a lot of it down to rote techniques which can be automated and auto-coded by machine or quickly assembled by unskilled staff.

Like everything else that doesn’t completely eliminate the need for the actual, skilled, software engineer but those jobs will be harder to come by.


3 posted on 10/19/2020 8:57:10 PM PDT by Skywise
[ Post Reply | Private Reply | To 1 | View Replies]

To: SeekAndFind

Seriously, most of what I write is designed to be automated or part of automation. But there seems to be a never ending stream of things to automate.


4 posted on 10/19/2020 8:58:23 PM PDT by The Antiyuppie (When small men cast long shadows, then it is very late in the day.)
[ Post Reply | Private Reply | To 1 | View Replies]

To: SeekAndFind

We can all be cops.


5 posted on 10/19/2020 8:59:16 PM PDT by Berlin_Freeper
[ Post Reply | Private Reply | To 1 | View Replies]

To: SeekAndFind
Software developers might be obsolete by 2030

Yeah sure. And machine trading will be making money for people playing the stock market.

6 posted on 10/19/2020 9:03:17 PM PDT by Steely Tom ([Seth Rich] == [the Democrats' John Dean])
[ Post Reply | Private Reply | To 1 | View Replies]

To: SeekAndFind

Might, maybe, could be, if, granted, theorized, prognosticated, possibly, perhaps, conceivably, perchance, credibly, feasibly, .......Not a chance...


7 posted on 10/19/2020 9:03:22 PM PDT by Fungi
[ Post Reply | Private Reply | To 1 | View Replies]

To: Skywise

Problem is only idiotic brainless Indian “programmers” who just copy-paste code are the ones getting hired at present. Seems decent American programmers are stuck in the computer games industry or stuck
unemployed. Even here, if you don’t have a few AAA titles currently under your belt, you won’t get an interview. This is the only niche where Indian by-rote copy-pasting isn’t useful.


8 posted on 10/19/2020 9:04:15 PM PDT by Starcitizen (Communist China needs to be treated like the pariah country it is. Send it back to 1971)
[ Post Reply | Private Reply | To 3 | View Replies]

To: SeekAndFind
If more and more machines can write code for themselves, what do we need humans for?

To write the code for the machines that write the code.

My degree in Computer Science is from 1980 - 40 years ago. And 40 years before that, in 1940, there was pretty much no such thing as a computer. Hmmm.

9 posted on 10/19/2020 9:04:56 PM PDT by libertylover (Election 2020: Make America Great Again or Burn it to the Ground. Choose one.)
[ Post Reply | Private Reply | To 1 | View Replies]

To: ShadowAce

ping


10 posted on 10/19/2020 9:17:27 PM PDT by Bikkuri
[ Post Reply | Private Reply | To 1 | View Replies]

To: SeekAndFind
Software developers might be obsolete by [insert year]

This is being said since the 1970s. The newest fad/hype is no code/low code.

11 posted on 10/19/2020 9:18:06 PM PDT by libh8er
[ Post Reply | Private Reply | To 1 | View Replies]

To: Skywise
"we’ve distilled a lot of it down to rote techniques which can be automated and auto-coded by machine or quickly assembled"


2 of the most important languages.. (plus binary)..

I need to go back and refresh my skills on those, plus Fortran/Cobol/Watfiv/etc...
I read that they are in demand..
12 posted on 10/19/2020 9:22:36 PM PDT by Bikkuri
[ Post Reply | Private Reply | To 3 | View Replies]

To: SeekAndFind

Salary scales indicate they have been obsolete since about 2002.


13 posted on 10/19/2020 9:25:26 PM PDT by Mr. Jeeves ([CTRL]-[GALT]-[DELETE])
[ Post Reply | Private Reply | To 1 | View Replies]

To: Starcitizen

Starcitizen eh? Check out embedded systems programming (consumer electronics, that sort of thing) that’s where i shifted after my stint in games programming. You have the same people attempting to get jobs there but they fail miserably.
That got parlayed into cloud programming is a similar issue - they can copy and paste the java and python - but they don’t understand how the cloud pieces fit together or how to do it cheaply and efficiently.


14 posted on 10/19/2020 9:29:56 PM PDT by Skywise
[ Post Reply | Private Reply | To 8 | View Replies]

To: SeekAndFind

Some programming will move to higher levels of abstraction. Humans will still provide the creativity and big picture designs, but automated systems will fill in the blanks. This will grow out of model based systems engineering. But there will always have to be low level systems coders. OS and driver builders. Or programmers in domains that are so specialized and or small-market that it isn’t cost effective to automate.


15 posted on 10/19/2020 9:36:56 PM PDT by ThunderSleeps
[ Post Reply | Private Reply | To 1 | View Replies]

To: Steely Tom

“Yeah sure. And machine trading will be making money for people playing the stock market.”

It already has!


16 posted on 10/19/2020 9:38:14 PM PDT by TexasGator (Z1z)
[ Post Reply | Private Reply | To 6 | View Replies]

To: Skywise

Know my way around GCP, AWS, and Azure. I can write decent micro-services. Last project was a MLB reply service used to rewind and replay games in offseason for developer support. Got a commendation from The Commissioner of Baseball for it just 2 months before the season shut in March due to the WuFlu and my team’s furlough.

Fail miserably when given whiteboard 30-minute coding tests taken from some Indian CS textbook given by some Indian H1B technical or engineering manager. Most of it is miscommunication as can’t understand their accent. So I stick to games development for now.


17 posted on 10/19/2020 9:38:43 PM PDT by Starcitizen (Communist China needs to be treated like the pariah country it is. Send it back to 1971)
[ Post Reply | Private Reply | To 14 | View Replies]

To: TexasGator

Yeah, like at Long Term Capital.

But hey, knock yourself out.


18 posted on 10/19/2020 9:39:45 PM PDT by Steely Tom ([Seth Rich] == [the Democrats' John Dean])
[ Post Reply | Private Reply | To 16 | View Replies]

To: Steely Tom

“Yeah, like at Long Term Capital.

But hey, knock yourself out.”

I have no idea what your point is.


19 posted on 10/19/2020 9:42:07 PM PDT by TexasGator (Z1z)
[ Post Reply | Private Reply | To 18 | View Replies]

To: libh8er
> The newest fad/hype is no code/low code.

Methinks the last time the MBAs pushed their wet dream of eliminating software developers (that is before the currently waning fad of "offshoring" ) it was called "4GL development".

20 posted on 10/19/2020 9:42:49 PM PDT by SecondAmendment (This just proves my latest theory ... LEFTISTS RUIN EVERYTHING)
[ Post Reply | Private Reply | To 11 | View Replies]


Navigation: use the links below to view more comments.
first 1-2021-4041-45 next last

Disclaimer: Opinions posted on Free Republic are those of the individual posters and do not necessarily represent the opinion of Free Republic or its management. All materials posted herein are protected by copyright law and the exemption for fair use of copyrighted works.

Free Republic
Browse · Search
General/Chat
Topics · Post Article

FreeRepublic, LLC, PO BOX 9771, FRESNO, CA 93794
FreeRepublic.com is powered by software copyright 2000-2008 John Robinson