The AI Shift: Staying human amongst the machines – What do software developers do, really?

In this three-part blog series titled ‘The AI shift’, I examine how software development has changed with the onset of artificial intelligence (AI), and how one could make the best use of this new technology, with the first part delving into what software development involves. This blog series is written from the perspective of an individual developer working on a small team of five. Developers working in other contexts may have different perspectives.

Before we proceed, it’s necessary that a few terms are defined clearly. When I use the term ‘AI’ in this series, I mean both generative and agentic AI. Generative AI generates content (text, images, code, etc.) in response to a prompt. In this case, the AI system responds directly to the prompt, without taking further action beyond what was asked. Agentic AI, however, is more goal-oriented and autonomous; it is a generative AI system augmented with access to a variety of tools, which allows it to plan and decide how to use those tools to reach a goal set by the user. For example, I can use generative AI to provide code for a specific task, such as writing an Application Programming Interface [API] to fetch a product list. Alternatively, I could use agentic AI to build a dashboard of weekly sales by giving it access to sales records and customer data and allowing it to decide which data is most relevant for the task. Here, the AI system analyses requirements, writes code, runs tests, identifies errors, and revises its work before presenting it to the developer for review.

Turning to the AI-driven shift in software development, it has become an integral part of every developer’s workflow. According to the 2025 GitHub Octoverse, 80% of developers used GitHub Copilot within their first week of joining the platform. For those with the word ‘software’ in their job title, the media discourse seems inundated with articles claiming our jobs will soon become extinct as machines take over. The reality, however, is a lot more complex.

The magnitude of impact that AI has on the software development lifecycle depends on how you define software development. Whether you are an engineering lead aiming to maximise team productivity or a junior developer seeking to continue to add value to your work, a deep understanding of what developers do, and specifically, how much time they actually spend writing code versus other tasks, is important. This obviously varies from organisation to organisation. The average developer in a large tech company employing over 1,00,000 engineering staff will work differently from one in a 10-member start-up. However, the idea that software developers just write code is a reductive view of a job profile that can involve anything from choosing the perfect colour for a button to writing an API, selecting the right database engine, and exercising the judgment to know which ideas should be built and which shouldn’t.

At its core, software development is about solving problems—using code and machines. Writing the actual code is one piece of it, yes, but a large part of it involves understanding the problem and its context deeply, chalking out the architecture and the services needed to solve it, and then building a solution piece by piece, adding features iteratively and with constant input from the client. Building something useful and valuable is often a long process, with a lot of pivoting and refactoring as you gain a better understanding of users’ needs at every step. While the ‘building’ has become faster and more economical with AI, ensuring that the product solves real problems for the customer is what ultimately determines its success.

I got into this field because I thoroughly enjoyed every part of this process. Building things and improving them for the people who use them is one of the most enjoyable things one can be a part of. But wistful musings about software development aside, I do see the benefit of using AI for certain tasks and have been using it regularly over the past year in a variety of contexts in my work.

In the next part, I will dig into how day-to-day tasks for developers are different with AI, with the last part looking into how we can use it better.