A couple of weeks ago I posted “Why AI Can’t Replace Software Engineering,” a blog in which I discussed an important distinction that is often overlooked: software engineering is not synonymous with programming.
I keep coming back to this topic because, in my opinion, the difference between programming and software engineering offers a particularly concrete way of understanding the difference between human and AI capabilities. It is also highly relevant to current debates about jobs and automation, since several widely discussed studies have identified programming as one of the occupations most exposed to AI.
Given the extraordinary advances in AI coding tools, why haven’t software engineering jobs already begun to disappear?
I recently read an excellent essay, “Why AI hasn’t replaced software engineers and won’t,” by Princeton computer science professor Arvind Narayanan and PhD candidate Sayash Kapoor that sheds considerable light on this question.
“There is great anxiety and uncertainty about AI replacing jobs,” wrote the authors. “How can we move past vague warnings and bombastic predictions and bring data to bear on this question? One good way is to look at the profession where AI capabilities are furthest along and adoption has been exceptionally rapid: software engineering.”
They argue that there is already enough evidence to reject the narrative that once AI reaches some capability threshold, mass layoffs will inevitably follow. If software engineering — a profession with relatively few regulatory barriers and where AI adoption has been extraordinarily rapid — has not experienced widespread labor displacement, then many other professions are likely to be even more insulated. (more…)
