avatarJavier Menéndez

Summary

The software industry is undergoing a transformation due to advancements in AI, natural language programming, remote work, and cloud computing, which may signal the end of its golden age for developers.

Abstract

The software industry is facing a period of significant change, reminiscent of the disruption experienced by the banking sector. Historically, software development has been a lucrative and sought-after career, much like banking was before the advent of online and mobile banking led to widespread branch closures and job displacement. Now, software engineers are seeing their roles evolve due to AI-assisted programming tools like Github Copilot, which increase efficiency but may reduce the need for large teams. Additionally, the rise of natural language programming and remote work is expanding the pool of potential developers and intensifying global competition, potentially affecting salaries and working conditions, especially in higher-income countries. Cloud computing further accelerates these changes by enabling smaller teams to manage complex IT infrastructures. As a result, developers are encouraged to adapt by focusing on strategic thinking, understanding their company's needs, and improving soft skills to thrive in this new era.

Opinions

  • AI-assisted programming tools, while not replacing human developers, will significantly increase productivity, potentially reducing the number of developers needed.
  • The industry is moving towards a future where coding may be accomplished through natural language processing, making programming more accessible to non-experts.
  • Remote work is seen as a positive development for inclusivity and global collaboration but may lead to increased competition and downward pressure on salaries in higher-income regions.
  • Cloud computing is making it possible for small, agile teams to handle IT infrastructure that once required large teams, suggesting a shift in the demand for software developers.
  • Software developers are advised to broaden their skill sets beyond coding to include strategic planning and soft skills to remain relevant in the evolving industry landscape.

Why The Software Industry Will Follow the Same Fate as Banking

This is what its transformation means for you and how to get ready.

Photo by Andrea Piacquadio from Pexels

For many decades, working for a bank was one of the most desired career paths. Banks provided stability, high salaries, and other exceptional perks that their employees enjoyed until their retirements and beyond. Getting a job at a big bank almost felt like winning the lottery.

With the arrival of the 21st century though, things changed drastically. Online and mobile banking became very popular and banks started changing their business models.

Since then, thousands of branches around the world have been closed. Banks have also replaced their employees with software engineers that can help them build the new era of banking.

Change is the only constant in life — Heraclitus

But the careers of these same engineers, who left bank employees without their juicy bonuses and pensions, might be about to change. They are about to see their industry disrupted in a way that might cause the end of the golden age of software development.

From unpopular hobby to dream career

When computers arrived at universities, being tech-savvy was like holding a sign that read “Unpopular”. Geeks were considered uncool and didn’t seem to fit into a society that didn’t understand much about technology.

This has changed a lot during the past decades. Technology has become a huge part of everyone’s lives, and just like bank employees did, software developers have been enjoying their golden age.

Working in the software industry has become a top career. The lack of qualified applicants has made tech companies raise the bar in an attempt to find and keep the best talent. Their offers tend to include high salaries, pension schemes, healthcare insurances, and several weeks of paid holidays.

Now, these perks may have topped out. Even though the demand for software engineers will keep growing, the disruption of the industry has already started. Developers will now need to adapt to a series of social changes and technical challenges if they want to keep “living the dream”.

The disruption of the software industry

Building software has always been a fast-changing world. Thriving in the industry requires constantly learning new programming languages and technologies.

Yet, the last decade has brought some technological breakthroughs and social changes that are transforming the industry in unprecedented ways.

AI-assisted programming

You may have heard before that Artificial Intelligence is not going to replace software developers any time soon. I agree with that. Yet, recent advancements in AI have opened the doors to new tools which promise increased development efficiency.

The most popular application in this category is Github Copilot. Copilot is an AI programming assistant. According to Github’s website, it “puts the knowledge you need at your fingertips, saving you time and helping you stay focused.”

The Internet is full of articles on Copilot that show the general feeling of the industry. Some start with headlines like “Is GitHub Copilot a blessing or a curse?” or “GitHub Copilot is not stealing our jobs”. After reading some of them, I believe that some professionals are missing the big picture.

AI-programming tools might never replace human programmers, but they will increase their productivity. This means that a team of four engineers will be able to do the job that used to be done by five people. These four employees will be very happy with the assistance provided by the AI tool, but what about their former colleague? Will there always be a new position waiting for them?

AI-programming tools might never replace human programmers, but they will increase their productivity

Using natural language to code

Some professionals think that tools like Github’s Copilot won’t even change the industry any time soon. They argue that you need to be an experienced programmer to benefit from what Copilot offers. While that is true now, what will happen when you don’t even need to know how to code to produce working software?

Creating software is a very complex art, but the first examples of tools that translate natural language into code are already out there. Microsoft has started working on some uses cases that harness the power of GPT-3 to allow people to explain in natural language what they want to achieve.

In September 2020, Microsoft purchased an exclusive license to the underlying technology behind GPT-3, an AI language tool built by OpenAI. Now, the Redmond, Washington-based tech giant has announced its first commercial use case for the program: an assistive feature in the company’s PowerApps software that turns natural language into readymade code.

If we now add voice support to the equation, the result could be mind-blowing. My 11-year-old niece could use an AI-programming tool to build a catalog of the latest Disney movies using IMDB’s API. Imagine the possibilities and what this means for the software industry.

Remote work

The COVID-19 pandemic has made remote work part of our lives. Something that seemed impossible just a couple of years ago is now a must-have for most people working in technology. And if there is one field where remote work has taken off, that is software engineering.

While most software developers see this as a very positive change, it has also opened the doors to cross-country competition. Many companies have established remote development teams in countries where salaries are lower. These teams can now collaborate naturally with others using video conferencing tools.

This is great news for digital nomads and people located in low-income countries. Those living in higher-income countries, though, might need to start lowering their expectations. Negotiating new salaries just became a bit harder.

Cloud computing

Cloud computing has made creating and deploying software easier than ever before. Innovative projects that would have required the work of dozens of engineers just a few years ago, can now be managed by small agile teams.

This focus on efficiency will keep balancing the demand for more software developers in the coming years. We will see more large corporations that rely on very small IT departments. These departments will be able to manage their whole IT infrastructure and software portfolio with remarkable efficiency.

How to get ready

The new technologies and social changes mentioned in this article can have multiple consequences. Yet there is one clear reading: more people will be able to create software, and they will do it more efficiently.

In a way, the task of coding in itself will be relegated to a back seat and programmers’ responsibilities will change. “Building the right things” will become more important than “building things right”. This type of strategic thinking has typically been someone else’s job. But once programming becomes an easier task — one that many others can do — software developers will need to step up their game.

Those who decide to learn about their company’s needs and products will thrive over those who purely focus on coding.

Another way of staying relevant will be to become an expert on AI-assisted tools. This is not about learning how to train ML models or build new AI tools. It is about learning what the latest AI-assisted tools can do for your company.

There is also work to do on the non-technical side. Soft skills will become more important than ever before, even for technical roles.

In a hybrid work environment, improving communication skills will make it easier to collaborate effectively with remote teams. Better interpersonal skills will help to build key relationships across departments.

The software industry is undergoing a profound transformation that will span over the next decade. The final outcome of this transformation is still unknown, but it is key to prepare for it. A new era of software development is awaiting.

More articles from Javier

Software Engineering
Programming
Artificial Intelligence
Careers
Software Development
Recommended from ReadMedium