"AI will be able to do everything," - according to Elon Musk.
Whether you agree with Elon's prediction or not, it's hard to ignore AI's far-ranging impact, especially on how we approach work. Over the last two years, we have seen AI progress rapidly, leaving many of us wondering, "Will AI replace my job?"
It's a question that software engineers have also been grappling with. As ironic as it may seem, the people writing the code driving the technology revolution face the same uncertainty about whether AI might replace them in the future.
A recent research report by Gartner tackles this topic head-on, suggesting that rather than replacing software engineers, AI may, in fact, fuel demand for them. Could this be true? We caught up with Bitrise's VP of Engineering, Arpad Kun, to get his perspective on the topic. In our discussion, we explore how AI is shaping software development, the skills that will be in high demand in the coming years, and what software engineers should do to prepare.
1. How is AI currently transforming software engineering in your opinion?
It's the next evolution in software engineering. However, AI will augment the work of software engineering teams- not replace them. AI will become just another tool in an engineer's toolkit.
Like other tools introduced in the past, it will help to make the development process faster and more efficient. It will propel innovation forward by further decreasing the barrier to entry for creative people who want to build something but get stuck at step 0: “how do I write code to do this?”
As it continuously improves and evolves, it will enhance the software development lifecycle. Will software engineers remain integral to the process? Absolutely. And I don't see that changing any time soon—if ever. Will AI change how they work? Absolutely. Will there be "AI generalist software engineers" who can build something quickly, vs. software engineers who dive deep into a narrow area and optimize in that field better than AI can do? I believe so. AI will reshape the software engineering roles as well as what these roles spend time on.
AI is showing great potential; the speed it improves is truly remarkable, but it still has its limitations. There is still much work to be done to make it reliable and trustworthy. Speed is definitely its forte, but it lacks the judgment and big-picture perspective that people bring to the table. In other words, 'What do I want to build and why?'
I see it continuing to take over the tedious, manual tasks that take up a lot of headspace and slow engineers down. With more time freed up, engineers will be able to experiment, innovate, and focus on other important aspects of the creation process. This will be a good thing for engineers, the industry and, of course, consumers.
2. In what areas do you see AI having the greatest impact on software engineers?
The greatest impact we have seen so far with AI is its ability to simplify the coding process to the point of taking it over entirely (depending on the complexity of the task at hand). This is the sweet spot for large language models (LLMs). With basic knowledge, you can prompt an LLM to generate code that meets your needs super fast. And it's getting better at this every day.
Will this lead to code that's as efficient and sophisticated as that written by the best developers, who have deep knowledge of all the optimization levers in a specific field and/or architecture? Probably not (yet). How soon before LLMs outperform experts? Well, I feel highly unsure about this and it is heavily influenced by the use case. In my opinion there is still room to grow in the multi-step reasoning capabilities of LLMs and I do not see the horizon of limitations. It is a hot topic these days as we speak. And even then the quality of the output of the LLM will be limited by the input (prompt) of the user, therefore knowledge in the subject/domain, what to ask for and how, understanding the field will still be very important.
Overall, I break down the impact into the following areas: it lowers the barrier for people who want to create something with limited or no prior coding knowledge, and it gives practicing software engineers time back. For example, once you know a programming language well, LLMs can massively reduce the learning curve of switching to another programming language.
Again, it lowers the bar for people to quickly move from zero to one. This means developers can accelerate time to market and turn their attention to improving other key areas like UX, testing, and security.
3. Is AI a threat to software engineering jobs, or as Gartner suggests, will it create more demand and opportunities in the field?
With every new technological advancement, there is always concern about how it will affect jobs, and AI is no exception. Gartner predicts, the most likely outcome will be more demand in the software industry, not less. The reality is the nature of the job will change, but it will open up new opportunities and expand the role as we know it today.
There's no doubt that AI will continue to automate parts of the job, like code creation. But software engineering is about so much more than writing code. It's about complex problem-solving, creativity, and having a thorough understanding of the bigger-picture goals you need to achieve. AI will give developers more time to focus on these higher-value parts of the job and even specialize in areas where human expertise is most valuable. AI will become a collaborative assistant that will allow software engineers to build products faster and more efficiently.
As the barriers to entry continue to lower, we will see more people entering the field. As Gartner predicts, this will help push the boundaries of what is possible. As a result, organizations will require more skilled developers to deliver complex, innovative software and focus on a new evolving type of work, which I like to call “AI-assisted software engineering.”
4. Gartner’s research suggests junior developers often over-rely on AI inputs. Do you agree? If so, how can more experienced developers help them develop the skills to question AI?
Firstly, I agree that this is a growing challenge we will face. On one hand, it's great that AI is lowering the barriers to entry and shortening the learning curve for new developers. But we have to be careful that this doesn't tip over and result in a significant percentage of software engineers who lack the depth and foundational knowledge to challenge AI.
For junior developers, developing a curious mindset will be crucial. They will need the ability to question everything and the confidence and knowledge to challenge AI outputs. Remaining skeptical and questioning/testing/validating the output of the LLMs will be key. Selfless plug: robust CI/CD can help with this.
Engineering leaders need to provide mentorship and guidance to help junior developers gain the skills they need to thrive. Senior developers will need to build a culture that embraces AI technology while embedding the guardrails and critical thinking principles to use the technology wisely, much like the cultural shift that happened as DevOps matured. Organizations will also need to invest in upskilling and training to help new developers understand the wider business context and complexity of AI.
5. Where do you see AI offering the most benefits to software engineers?
AI excels at helping offload the low cognitive work that holds engineers back. It is an efficiency game-changer, speeding up releases to give engineers time to focus on higher-value work or developing their skills.
Of course, it’s up to engineers and their organizations to decide how best to use that extra time. For those who are ambitious and eager to learn and improve, AI gives them the opportunity to perfect their craft or even expand into new areas.
But it's always worth remembering that AI can only get you so far. To succeed, you need the backing of a reliable CI or DevOps partner like Bitrise to keep up with changing needs and the increased demand for new builds and tests.
6. What skills do you see becoming more important in the future for software engineers?
AI will change the nature of the work and the skills needed to excel in software engineering. Many software engineers will have the title but rely heavily on AI, and that's okay. But we will still need a highly skilled group of engineers who are capable of building and optimizing complex systems at a deep level.
I expect we'll see more specialists in certain areas where engineers dive deep into AI capabilities. The job title that’s getting popular is “AI Engineer”. To achieve high-quality responses within the company domain and knowledge, companies looking to gain a competitive edge will invest in these AI specialist engineers to train and fine-tune their LLMs. Also expect the rush of commoditizing force in this field as the focus is and will likely remain very high for some time.
AI will accelerate the whole development process for sure. But human judgment, creativity, and problem-solving will remain essential. Writing new code is the easiest (and for most the most fun) part of software engineering. LLMs today are great at this, but there is also monitoring, debugging, integration of different systems
Skills like communication, collaboration, orchestration, and leadership will grow in importance. Time spent writing code that LLMs can generate in seconds will have to be spent well elsewhere.
With all this in mind, my advice to software engineers is:
- Embrace the opportunities AI brings to diversify their skills and experience.
- Use AI to drive efficiency, and then use the extra time you gain to deepen your domain knowledge.
- Finally, specialize in areas that interest you and will bring new value to your organization.
7. What should engineering leaders do to prepare for an AI-enabled development lifecycle and workforce?
My advice to leaders is to look at AI as a partner in the development process and get your teams involved with it as much as possible. Experiment, learn, and explore together—there's no turning back. AI will play a crucial role in the future of software development, so it’s better to get on board and ahead of it now.
It's worth remembering that while AI lowers the barrier to entry, it also significantly raises the potential of what's possible in software engineering. So use it to your advantage to free your team from repetitive tasks, giving them more time to hone their skills and roll their sleeves up to tackle higher-value projects.
But to get the best results with AI and scale your capabilities fast, two things are key:
- First, bring your team along on the AI journey with you. This means actively exploring its potential together and giving your team the time and freedom to get up to speed on it.
- Second, invest in the right framework and toolchain to ensure your team can integrate AI into their daily workflows, test its outputs in a controlled environment, and use it safely.
This is exactly where Bitrise comes into play. It makes it easy for teams to integrate AI into their everyday work and adopt it with confidence. Essentially, defining the outcome, writing the code, letting CI test it, and repeating the process.
8. And finally, how can software engineers prepare for an AI-enabled future?
AI opens up opportunities but it's up to each of us to seize them. As a software engineer it's about being open and adaptable. The world is going to continue to change and AI is part of that journey. Rather than fearing it taking away your job, look at how it can enhance your skills and career. Use it to experiment and try out new ideas. Think about how it can make you better at what you do. And then where you can turn your focus with the extra time it gives you. Focus on the opportunity not the threat.
Above all, invest in nurturing the skills that humans have that can never be replaced by AI like originality, communication, empathy, and leadership. And be ready to embrace what lies ahead.
Remember, AI can do a lot but ingenuity and creativity are essential to push beyond those limits, and that’s where humans excel.