In 1930, John Maynard Keynespredictedwed be having 15-hour workweeks by the end of the century.

But by the time it was 2013, it was wipe the great economist had gotten something wrong.

Welcome to the era ofbullshit jobs, as anthropologist David Graeber coined it.

Why software developers might be obsolete by 2030

Graeber would probably call most jobs in software developmentbullshit.

I dont share Graebers opinion, especially when it comes to software.

According to one estimate,45 percentof all jobs could be automated using current technology.

Development of the three areas over time. Today, the first two areas are being automated, but not the third one.

And over time, they probably will.

40% off TNW Conference!

If more and moremachines can write codefor themselves, what do we need humans for?

Diagram of novel manifolds versus scalability. The areas of automation are in the lower left corner.

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.

Man and two women sitting at table with laptops laughing

With the rise of artificial intelligence, were seeing a paradigm shift though.

Developers arent designing logical links anymore.

Instead, theyre training models on the heuristic of these logical links.

Woman sitting at coffee table with laptop and checking her phone

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.

This is the first area of automation in software development.

As machines understand what youre 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, its closed insofar as it isnt designed to directly communicate with another service.

The third and last area is that of integrated systems.

This applies to software development as well as many other areas.

But often, thats not what matters to get a job done.

Even the most complex projects consist of many small parts that can be automated.

Dont get me wrong; human qualities are amazing.

But weve been overestimating the importance of these problems when it comes to regular tasks.

Thats what a photo of a kitten is through a machines eyes: an undefined state.

Secondly, working on novel manifolds.

Weve all experienced how well computers work at a scale.

For example, if you take a piece of paper, thats a two-dimensional manifold in three-dimensional space.

If you scrunch up the piece of paper or fold it to a plane, its still a manifold.

Current developments

It might seem like developers are already using a lot of automations.

But were 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 companyDeepCodeis working on a tool for automatic bug identification.

GooglesDeepMindcan already recommend more elegant solutions for existing code.

And FacebooksAromacan autocomplete small programs on its own.

Since MISIM hasnt been around for a long time, the jury is still out on this automation.

Soon-to-come applications

Some early applications of these new automations could include tracking human activity.

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 inCOBOL, which is hardly taught today.

Translating this code into a newer language would make it easier to maintain.

So, how can developers and corporations can stay ahead of the curve?

All these new applications are exciting.

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 theyre important nevertheless.

Continuous delivery is a practice thatmore and moreteamsare picking up, and for good reason.

In most cases, it seemsbetter to payfor these automations than to build them yourself.

After all, your developers were hired to build new projects, not to automate boring tasks.

If youre a manager, consider these purchases an investment.

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.

Not only to they know what can be implemented and what cant.

With their creativity, they might add value in ways that are not imaginable a priori.

Not only should developers shift left in management.

Software should shift up in priorities.

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

I really wish I were exaggerating.

The more time is progressing, however, the more people are seeing the other sides of developers.

Software is gaining more power the more its being automated.

In that sense, your fear of losing your developer job due to automation is largely unfounded.

But that doesnt 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 oughta shake off is the fear of the unknown.

Developers, you wont be obsolete.

You just wont be nerds that much longer.

Rather, youll become leaders.

This article was written by Ari Joury and was originally published onTowards Data Science.

it’s possible for you to read ithere.

Also tagged with