
The integration of AI into the software development life cycle has brought many benefits, but it’s also brought change to the software development role.
In the latest episode of our podcast, What the Dev, we interviewed Antje Barth, principal developer advocate for generative AI at AWS, about these changes and the new skills developers need.
Here is an edited and abridged version of that conversation.
I’m curious what you’ve seen in these last few years, and how you view the role changing.
We started years ago with having AI that’s helping me with code completion tasks, right? And then with the rise of agentic AI, we really see how it affects every single step of the software development life cycle right now. For example, with Amazon Q, you have assistance from the planning, code creation, document writing to writing unit tests for your code, helping you to co-develop code. So it’s really been kind of an evolution from the early days of AI to where AI is really becoming almost kind of a peer in your coding experience.
Given that it seems AI is here to stay, what skills should developers be focusing on building now, so that they’re well positioned to work alongside it?
What we see is this influence from AI on the typical software developer role. Some call it the AI engineering role that is kind of emerging, and the skills have changed a little bit. For example, if you take the current trend of vibe coding that’s being discussed everywhere in the industry, it’s how to use natural language in a conversational manner to build software and prototype ideas. You don’t have to become a data scientist, which is great, right? Software developers can embrace AI and kind of co-develop. There is a skill set, though, of how to understand what’s happening, right? So how AI, how language models operate, and how can I define and phrase my inputs in natural language so that I get the code and the results that I’m looking for? So previously, we called it prompt engineering. These days, it’s really about learning how to effectively communicate with the AI.
Do you have any advice for developers looking to make a shift into AI engineering?
AI really helps me, for example, in two different areas. So some might call it kind of a boosting area, where I use AI to help me just automate tasks, which I could do myself, but I just want to automate some tedious tasks with the help of AI, like writing documentation, writing boilerplate code, etc. So this really helps me to be more effective.
And then on the other side, it’s also about learning new things. So it’s kind of a learning zone where you can use AI. I develop a ton in Python, but I don’t have much understanding of Rust. So I could use AI to help me write code in a different programming language, which I might not have that much experience in.
So I think those are the two areas, I think, where AI is really, really helpful. One’s boosting your skills and helping to make you more efficient as a software developer, and on the other hand, also to help you learn new skills and learn new things.
With all this pressure to learn AI skills, is there still room for developers who prefer more traditional coding roles, who don’t really want to get on board with using AI during the process?
Looking at how AI is changing software development, I think there’s a lot of change in how we develop, which is what we discussed, right, the vibe coding and using AI assistance. But there’s also the other side of AI changing what we build, right?
And I think another exciting area is how AI is basically changing user experiences. And in the completeness of time, I can see this changing pretty much all user experiences out there. In fact, Gartner, for example, predicts that by 2028 over a third of the enterprise applications will be AI powered. So this opens up a completely new set of applications, which I think is also very exciting to tap into.
This is an exciting area, I think, for software developers, whether they’re using AI for how they develop or changing what they might build for their companies.
I know you kind of mentioned this a couple times — I’m curious your thoughts on this idea of vibe coding?
So as I said, vibe coding for me is kind of the evolution, from early on AI assistant development in a conversational manner to now where AI agents can understand goals, plan the execution steps, and produce complete solutions. It’s really exciting that vibe coding allows developers more and more to express the intent of what they want to build through just a casual conversation, rather than, sitting down and having a detailed programming and coding exercise.