Will Programmers Have a Job in the Future?
Or will AI take them too?
We've ushered into the age of technology, and if programming was considered in the 60s and 70s a "geek activity," today it has become one of the most respectable, high-paying jobs one could get. It is also a sector that is rapidly evolving, and almost everything that has recently been associated with progress has also been associated with programming. That's great. But programmers are no less susceptible than everyone else when it comes to losing their jobs. In this article, we ask the question, "will programmers still have a job in the future?"
WILL PROGRAMMERS HAVE A JOB IN THE FUTURE?
According to EDC, there are 23 million software developers in the world. By 2023, that number is expected to grow to 27.7 million. According to the US Bureau of Labor Statistics, between 2016 and 2026, the number of software engineers is expected to grow at a rate of 24% - much faster than any other occupation in the country. When you look at these statistics, one would assume there is nothing to worry about.
However, some are worried that programming, just like any other job, is at a risk to be made obsolete in the future. The main argument given is usually that of AI and automation: What if AI can program other things or itself? What if we can automate much of the same code programmers now do? In a way, the worry is somewhat understandable. We need only to look at companies such as Wix and SquareSpace, which allow anyone to design and "build" a website without ever having to learn HTML and CSS. That's right - today, if you want to build a website by yourself, at home, you can do it.
Though these worries have some footing, there are plenty of reasons to put them aside for the time being.
Firstly, we have been automating things for a long time, and yet, if anything, demand for software engineers has only increased. Taking into account website programming, with HTML and CSS, it is true that we have been able to automate some of it. But, for one, these services can't really be said to be replacing anyone who would have otherwise built the website themselves. Most people benefiting from these are bloggers, online sellers, and so on, not programmers. On top of that, while these services are good, there is a lot of custom functionality, of the kind you might see on Facebook, that comes from years of iterating and improving the code. That must be done by people that understand the product, the customers, and, at least for now, people that can code.
Secondly, though AI is becoming more and more powerful, someone still needs to program that AI. While things such as machine learning seem magical, as if the AI were programming itself, they would be nothing without people working on the algorithms - inventing them, improving them, refining them. In fact, Google alone now employs around 30,000 people to work on their various AI platforms.
Software developers might be obsolete by 2030
Why you won’t lose your job though
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:
Researchers seek to leverage their human knowledge of the domain, but the only thing that matters in the long run is the leveraging of computation.
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.
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.
Automation is turning software nerds into leaders.
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.
Future Trends in Software Engineering
The push for innovation in the technology sector is unlike any other, which is a big reason why software developers are in such high demand. These are some of the most noteworthy future trends expected to change the current landscape.
1. Cloud Services
Moving to a cloud-based service isn’t just a possibility for most businesses; it’s practically inevitable. Although cloud computing has been around for some time, it’s now emerging as a viable hosting option for businesses in many different sectors. Companies such as Facebook, General Electric, eBay, and Fitbit have already fully adopted cloud-based technology, which has motivated other companies to follow suit.
Among the many benefits of moving to the cloud include significant cost savings, increased security, ease of use, increased flexibility, and the ability to seamlessly collaborate. Additionally, many cloud-based services offer cloud analytics, which is a valuable tool for those who make data-driven decisions.
Because so many companies are transitioning to cloud-based services, demand has never been higher for cloud engineers.
2. Artificial Intelligence
No future trends list would be complete without artificial intelligence. Although long discussed in theoretical terms, it’s only recently begun to show promise with practical applications. We see these in the form of voice assistants, chatbots, and other AI-enabled devices designed to make our daily lives more convenient. AI has allowed companies to automate menial tasks, perform complex analyses, and reduce human-made errors, among other benefits.
However, the technology has a long way to go to reach its full potential. Developers are trying to train AI to perform complex tasks without human intervention. It’s still relatively early in the realm of AI development, which means there’s room for growth. AI developers are in high demand, and this demand is forecasted to continue growing in the coming years.
3. Blockchain Technology
Now that blockchain technology has proven itself in the world of cryptocurrency with Bitcoin and its descendants, other industries are realizing its true potential. The strength of blockchain is that it establishes trust between parties using transparency and security, hence its appeal to the banking industry. However, its applications go far beyond the financial sector. The shared, immutable ledgers blockchain employs can be used for car sales, land purchases, or intangible items such as copyrights or intellectual property.
4. Cybersecurity
Cybersecurity remains a top priority for companies that need to protect valuable data from hackers and cybercriminals. Financial institutions especially need to be able to assure their customers that their data is secure behind an uncrackable digital lock, which is why the cybersecurity industry remains a popular field for developers. Cyber attacks are becoming increasingly more innovative and sophisticated, which means security needs to be stepped up to defend organizations against them. Cybersecurity is likely to be a key part of the future of software engineering.
5. Advanced Algorithms Driving Automation
Businesses are increasingly shifting their operations toward automation. Machines and computer software increasingly handle more repetitive tasks, freeing up people to leverage their creativity. Global sales of automated industrial robots reached around 373,000 units in 2019, according to Statista. Automation technology runs these machines and allows them to perform efficiency.
Automation goes beyond robots on the manufacturing floor: It also impacts the online business world. For instance, digital marketing automation relies on algorithms that determine everything from when companies send out content to how they structure marketing campaigns and place ads. According to Grand View Research, the global marketing automation market was valued at $4.06 billion in 2019 and was expected to grow by 9.8% annually between 2020 and 2027. This demand opens up opportunities for aspiring software engineers with leading-edge skills in coding, computer programming, mathematics, and software engineering.
High Demand for Skilled Software Engineers
Why will there be an increasing demand for skilled software developers as we look to the future of software engineering? The answer is simple — the modern world runs on software. Most companies and organizations rely on websites, apps, or computer-based software to keep their businesses running and successful. Responding to constant competition and advancements, software engineers build programs, make improvements, and adjust code to maintain agility and usefulness. Even as the tools that software engineers use to develop their programs improve, market demands are becoming more complex, meaning potential employers desire a high level of professional expertise.
The future of software engineering welcomes professionals who are savvy about existing tech and creative enough to help drive the future of this field and its applications.
Career-Oriented Computer Science Education
Software development trends show the ever-growing volume and range of new technology platforms is creating new software engineering positions at a robust rate. If you are a professional who is looking to seize opportunities in the future of software engineering, you should first gain advanced skills and knowledge in computer science.
A master’s degree in the field of computer science offers the opportunity to engage with the concepts that are informing tomorrow’s software development trends, as well as prepare for the careers that will actively shape the industry. From DevOps engineering — creating automated processes between various teams that allow them to work together efficiently — to data science, a computer science curriculum empowers you to build knowledge that has broad and meaningful applications, with the opportunity to dig deeper into specific areas that interest you.
Help Shape Software Development Trends
You can learn about the future of software engineering and prepare for a potential career in the field by pursuing one of Maryville University’s online computer science degrees, such as the master’s in software development. With web-based advanced study options that keep future trends in the forefront, you can not only learn necessary skills to enter the workforce, but also gain the vision to drive innovation.
11 predictions for the future of programming
It’s been over five decades since programming pushed the boundaries of digital craftsmanship, and it is still doing so with no signs of stopping or slowing down. There is a new tool, framework, add-on, functionality, technology, or a programming language breaking the Internet every now and then.
Any adept programmer not only needs to be good at coding but also has to stay abreast with the ongoing and upcoming happenings in the programming world. Just learning to code does not a give you a big edge over others. By having a good idea of what’s coming ahead, present steps can be planned effectively. Obviously, no one can perfectly forecast the future of computer programming, but that won’t stop us from speculating, right! Here are 11 predictions for the future of programming that we think programmers should keep an eye on.
#1 Cloud native as the new default
Do you know that in order to cater to a single search query, Google Search uses more than 1000s of servers? All this is done in order to serve the right results. Cloud has been popular for past one decade but it’s destined to grow immensely in the future as more and more developers intend to use cloud for faster go to market. Tinkering in the cloud to build an app is so much easier as compared to managing your own servers as you don’t have to buy new servers, maintain them, upgrade them, or add new servers as and when the demand fluctuates.
Web users are an impatient lot these days; so making web pages faster is the main goal for developers. 40% of people abandon a website that takes more than 3 seconds to load. More efficient algorithms save a few microseconds whereas additional impetus is provided by the rapidly developing enhanced servers.
#2 IoT security concerns will escalate
IoT is a growing technological concept these days. The promising piece of tech has already made it to the market, although in a limited form. Any smart device is just like a computer or machine that can be hacked by means of feeding some simple malicious lines of code. So, security of IoT devices is as important as their deployment. Or else, we will have to face dire consequences, as experienced recently in the form of a North Korean hacker charged for WannaCry ransomware and a 16 year old hacking into Apple’s servers to access customer data.
Programmers need to develop suspicious-activity-proof algorithms for IoT devices. Failing to do so will not only make the devices vulnerable to unintended use but also put the entire system at risk. Hence, with the growth in the IoT market, concern about its safety will also mushroom.
#3 Video Content will continue to dominate the Web
In order to solve the dire glitches caused by plugins, the HTML standards committee started embedding video tags into HTML. Videos tags are programmable by virtue of the fact that basic video tags respond to JavaScript commands. Earlier video content was fixed. If you watch a video about dogs fighting cats, then you will be recommended just that. Nothing more, nothing less.
However, this is not the case anymore. It is the time of seamless canvas design, in which web designers figure out clever ways to deploy different video content. Doing so allows the user to steer the way in which a narrative is unfolded and it opens up new ways of interacting with the video content.
Now machine learning can deliver higher-quality streaming experiences that do not buffer as much as many existing systems. More efficient codecs and better video compression are also playing a role in making video a better digital consumption medium. Again, programming makes it feasible, as video tags and iframe are part of the programming code.
#4 Consoles, consoles everywhere
Thanks to the groundbreaking progress in video game console technology, PCs are continuously being rejected in favor of gaming consoles. Living room consoles are just the start. With the concept of intelligent devices, makers of other household items are also looking to make their offerings smarter.
Our hairdryers and toasters are already boasting digital memory, allowing for remembering our preferences. However, the time when these, and other household units as well, will start communicating with each other i.e. exchanging information on their own is yet to come. All of these scenarios are only made possible by programming. As several programmers have already embarked on the journey for achieving results in the same direction, we might not be that far away from a time when the aforementioned scenario would be a day-to-day reality.
#5 Data is important, data will be important
Data is the backbone of the network of networks i.e. the Internet. What we see, read, and hear over the gigantic web is data, loads and loads of it. However, data collection is not something new for humanity. Since antiquity, humans have collected and stored large chunks of data for churning out important information at some later time.
With the passage of time, enriching and protecting data have become important. While the former is achieved by presenting data in the form of videos, pictures, pie charts, etc., the latter is accomplished by adding SSL to the website and using better encryption techniques. Data processing has become equally important just like the digital ecosphere itself. In the enterprise community, data gathering will branch out more elaborately into storing, curating, and parsing. Simply said, data is and data will be the undisputed champion in the Digital World.
#6 Machine Learning dominance
Machine Learning is already flourishing and seeping into everyday enterprise and life.
For example, machine learning algorithms are already finding a place in important automation code for big businesses. They are used for heaping big data projects. Languages like the R programming language and Python have enabled this proliferation of machine learning, so far.
What’s amazing about machine learning is that it is slowly being integrated into modern life. It will soon become a common entity in a person’s life, just like smartphones and IoT. Again, machine learning also requires services of programming and code, of course. No code, no machine learning. At least for now.
There is the rise of machine learning as a service trend which aims to remove or minimize programming. However, if we ever learning anything from the history of web development, even as drag and drop web design tools grow, professional web developers also grow in demand. We can expect to see a similar trend with machine learning as it continues down the path of democratization.
#7 User Interface design will continue gaining popularity
The time when an Internet user was expected to use a keyboard and mouse is long gone. With each passing day, using a PC is preferred less and less. Apart from offices and college laboratories, PCs are gradually being replaced by other smart devices.
As smartphones, tablets, living room consoles, etc. take on the world, the emphasis on UI has heightened. A touch and a click on the screen is different. With the advancement in technology, the former is given preference. This is because it’s quick and convenient at the same time. Furthermore, face and fingerprint recognition are the new cool.
Research on voice control is also advancing. Many brands have already incepted their very own virtual assistants, such as Amazon Alexa, Siri and Google Assistant, which can recognize the demands of their users with mere voice commands and interaction.
For example, Android 9 Pie comes with a number of UI alterations to stay relevant with the present UI scenario, including a new position for the volume controls and Material Theming. The latter is a built-in Android toolset meant for customizing the Material Design supported by the Android.
Again, designing a powerful user interface is dependent on great programming. A user interface needs not only to be robust only but also show signs of intuitiveness and interactivity. The stress on UI designing will continue growing in the future. Some of the upcoming UI trends forecasted for 2019 are the overlapping effect, functional animations, and contrast of fonts.
#8 Open Source vs. Closed Development
Nearly all laptops run on proprietary software but Smartphones with Android leading the race are mostly open source. iOS is still closed but it has a robust set of APIs on which developers can build their own empires.
While open source software is something that anyone can tinker with, closed development environment restricts 3rd-party from accessing and toying with such a system. Among other differences between the two, a significant difference is in the quality of support. This is, obviously, better offered by closed source software.
Open source is rocking the world with new developers entering into programming by tinkering with open source whereas closed environment is also growing tremendously because of personalization and security features. This is one hell of a competition.
#9 Autonomous Transportation
Another industry that requires services of programming is the autonomous vehicles. Just yesterday, Waymo announced that their first driverless cars will be on the road commercially next month. So far, we have only seen some of the many accomplishments that a driverless mode of transportation can achieve. Though we have only cars, for now, that is making use of autonomous transportation algorithms, soon other transportation means will also join the parade.
There are already crowdfunding projects for autonomous skateboards. Known as XTND Board, it is a lightweight electric vehicle meant to redefine commuting. Autonomous aircrafts are already being used in the military. However, pilotless airplane transportation may just be around the corner. All it requires is an excellent programming code to allow a vehicle to know that what route should it chose. So, maybe flights might become autonomous after rides.
#10 The Law will redefine new limits
Writing code is like fixing something, setting up protocols. What the program will do and what it won’t, depends entirely on the coding. However, there are several ways to manipulate harmful programming code. There’s a subtle analogy between programming code and law and both have their own jurisdictions.
Though there is a bright, sunny side to the technological advancement, there’s also a darker side of the same that needs to be reviewed and regulated. As years will pass from this point in time, programmers will face real-world challenges to assist the Law & Order to sustain the malicious content of the society, both on the digital front and the real-world front.
We have already seen how adding technology to law works. However, the other side is that it can also act as a tool to break the law(s). Cyberattacks, identity theft, and data laundering are some of the notable examples made possible by technology. This is a question which is also its own solution.
In order to prevent such insincere acts, security personnel need to think like bypassers. This is where ethical hacking comes in. It is simply thinking and operating like a malicious hacker but doing so for the right cause.
#11 Containers will continue to rule
Theoretically, there isn’t a need for the so-called containers, which are heavily deployed in the modern-day programming. In theory, the executable files can run anywhere and various requisite permissions, such as using hardware, are given by the OS. Hence, there is, theoretically, no requirements for a container.
However, because of being theoretical, all executables are considered the same. Obviously, this is not the general case. What happens is that executables are different and each one of them requires specific libraries to run. For instance, the WORA (Write Once, Run Anywhere) chant of Java fails owing to the virtue that there are several different versions of virtual machines (VMs).
Though using a comprehensive VM might solve the issue, the solution lacks practicality. On the other hand, the sleek and lightweight containers win the preference. Containers are the solution to the issue of reliability caused by a software when it is to be migrated from one computing environment to another.
A container is simply a complete package that contains an entire runtime environment with the application, its dependencies and libraries, other required binaries, configuration files, etc.
So, when a container of a specific application has everything in it that it requires to operate, the container becomes independent of the platform. The containers will continue to rule in the future up ahead.
Finally, the advent of new technologies such as IoT, self-driving vehicles, virtual reality, etc., all presents a new set of challenges that require software engineers, IT specialists, system engineers, and many other field professionals to work on them. Unless we have an all-powerful AI, it will take a long time until it understands all the complexities around various emergent technologies and is able to successfully address their challenges.
That is not to say, of course, that AI will definitely not replace programmers in the future. Artificial intelligence can already code, and it is bound to continue replacing mundane coding tasks, just like technology has replaced several human tasks over the past few centuries, and increasingly more over the last few decades. Nevertheless, for "programmers to become obsolete" would require a much more advanced artificial intelligence, or intelligences. And it is entirely possible that, by then, we might be asking this same question about every single profession on Earth.
In the near future, however, it looks like software engineers won't be running out of jobs. The code may change, languages may change, and the challenges may change. But the empathy needed to understand what features human beings want to see is yet a human quality. And with the demand for software engineers increasing at least for the foreseeable future, if you are planning to make a career in it, bets are it's a safe - and good - choice.
0 Comments