Why coding agents won't displace software engineers

Narayanan and Kapoor's analysis grounds the displacement debate in what coding agents actually do—automate routine tasks within controlled domains rather than replace the full scope of engineering work. Real software development involves continuous negotiation with shifting requirements, architectural decisions, and integration with existing systems, none of which agents handle well. This leaves significant value-creation work for humans. The labor dynamics shift rather than collapse: engineers reallocate time across tasks, some roles compress, others expand.