Everyone thinks AI will replace someone else
Everyone in software seems sure that AI will replace someone. They just never think it will replace them.
The developer says AI replaces the project manager - they can clarify requirements and build the product themselves now. The project manager says they no longer need as many developers - they can describe what they want and let AI generate it. The QA engineer says anyone can generate code now, but only they can tell whether it actually works. The designer says the design itself can become the application. The product person says they understand the customer, so AI can handle the rest.
Almost every role believes AI strengthens its own position while making the others less necessary. They cannot all be right - not while keeping exactly the same role boundaries we have today. I think we are asking the wrong question.
AI is not entering software development as another role. It is becoming a shared layer of outsourced thinking across all of them.
Software was never really about typing code
Strip software development back and it is a sequence of decisions: understand a problem, decide what should be built, decide how it should behave, turn those decisions into something a computer can run, and check whether the result actually solves the problem.
Code is just the most visible output of that. So is everything else. A requirements document is a representation of decisions about the product. A design is a representation of decisions about the experience. An architecture diagram represents decisions about structure. A test case represents a decision about what correct behaviour looks like. None of these is the value. They are the value written down in a form someone else can act on.
We split that thinking across roles because production used to need specialists to carry intent from one stage to the next: customer to product, product to design, design to development, development to QA. Every transition is another person re-interpreting the original idea, and every transition adds delay.
AI participates in every layer, not just the typing
This is why "AI writes code" is too narrow. Code generation is the most visible part, but AI can interpret, propose, translate, critique, test, and execute. It can sit in every one of those layers.
So one person can now discuss a business problem with AI, turn it into requirements, explore the interface, draft an architecture, write the implementation, generate the tests, and analyse the result - without handing the idea over five separate times. They do not suddenly become the best designer, architect, and QA engineer in the world. They become able to move across all of it well enough to produce a useful result, with the boundaries between roles compressed instead of crossed by hand.
What you cannot outsource
The phrase I keep coming back to is outsourced thinking - but more precisely, it is outsourced cognitive execution, not outsourced responsibility.
You can outsource generating options, turning requirements into code, finding inconsistencies, drafting architecture, writing tests, and reviewing an implementation. You cannot outsource the decisions underneath them. Someone still has to judge whether the problem is understood correctly, which constraints actually matter, whether the generated solution is appropriate, what risks are acceptable, whether the result creates real value, and who is accountable when it fails.
That is the line. AI does the execution; a person still owns the judgement.
What becomes scarce
When generation gets cheap and abundant, the scarce skills move. They stop being "can you produce the artefact" and become: can you find a problem worth solving, give the AI the right context, make a good trade-off, recognise when the output is technically correct but commercially useless, understand the users and the business, integrate it safely, and stand behind the result.
The advantage shifts away from the person who protects one isolated step, and toward the person who can own a larger part of the whole outcome.
The real question
AI does not care about our job titles. It attacks the boundaries between them.
So the question is not "which software role will AI replace." It is: when one person can direct AI across analysis, design, coding, testing, and coordination, how many separate roles are still required to produce the outcome?
This is how I work - one person directing AI across the whole arc, from understanding the problem to the running tool, owning the judgement at every step. It is also why a custom tool no longer needs a team behind it. If that is the kind of build you need, start a project.