Keli Korducki’s Atlantic article “So Much for Learn to Code” and Farhad Majoo’s New York Times opinion piece “It’s the End of Computer Programming as we Know it” both make the point that computer programming, as we know it today, is likely to change given the advancements in Artificial Intelligence (AI). Both articles also either implicitly or explicitly question whether Computer Science is still a good education choice in universities. The growing capabilities of generative AI solutions to produce working and viable software leads both authors to question whether the profession of coding will be around long term.
Let me be the first to say that the practice of coding, as we know it today, can and should change. Further, the current and future advances in the AI space absolutely will change the profession of software development. But the way these things will change will be far different than Korducki or Majoo imagine in their articles.
To help inform how things will change in the realm of software development, we should evaluate how other significant technology changes have affected other career fields:
- The advent of lower cost personal computers and word processing software eliminated the profession of “typing” – at least for a living. The cost of typing mistakes and the cost to fix them was nearly eliminated, and the barrier to entry to type significantly lowered with the advent of word processing. The profession “went away” – but the activity did not. The activity of typing was instead distributed to the masses. “Typists” took on new roles in other positions and there was no perceivable impact on employment overall.
- The advent of computer aided design and computer aided manufacturing eliminated many lower skilled “draft-person, drafter or draftsman” positions. Like the phenomenon above, the drafting responsibilities moved to engineers using CAD solutions directly.
- The introduction of automation into factory environments reduced the number of assembly line employees and per unit manufacturing cost. And while that segment of skilled labor opportunities was reduced, new and higher value employment opened in the maintenance and development of those robots.
Many economists and MBA students have studied the effects of automation and technology on job destruction and creation. Automation typically creates as many jobs as it destroys. Overall employment remains unaffected, but certain segments of society are required to retool or re-educate themselves. From a macro-economic perspective, we should expect the same with AI; the discipline of programming will absolutely change and segments of the population will need to increase their skills in the new world. But those who advance their skills and stay relevant will be rewarded with incredible opportunities in work and unmatched compensation.
Our country and our profession NEED AI. The authors of the aforementioned articles did not address the widening gap between demand for software developers and the current US supply of software developers. The US produces roughly 120,000 engineers (that is the total number across all engineering domains) against a demand of roughly 400,000 new engineers a year. The remaining positions are filled with immigrants on Visas. The largest portion of the 300K difference is in the field of software development.
The US Market created a stopgap arbitrage based system to help address the difference between the number of software developers created per year, and the number needed to continue to support economic growth in private industry. Bootcamps sprung up around the nation to train both college graduates with non-engineering degrees and high school graduates in the skill or trade of programming. These students learn programming from the perspective of a technician and typically complete their training in 6 to 24 weeks (about 5 and a half months). The cost of these bootcamps is a fraction of the price of a university degree, but students often make between 80 and 100% of what their engineering-degreed colleagues make in the same company. To be clear, three things are happening with this arbitrage opportunity:
- Companies decrease their expectations and standards, hiring individuals to program rather than engineer.
- The companies offer pay nearly that of people with engineering degrees – increasing the value of a bootcamp relative to that of a more complete traditional CS or engineering degree.
- The company gets the equivalent of an electrician while paying the price of an electrical engineer (in other words, a programmer instead of a software engineer).
I was careful to indicate “technician” and “tradespeople” above in the level of education offered by bootcamps. These schools teach “what to do” and “how to do” something. But they simply do not have time to teach the “how it works” and “why it works” that engineers are expected to understand. As I’ve mentioned before, there are huge differences in the knowledge, expectations and abilities of technicians relative to engineers and scientist. Programming is a skill and a trade just as driving is a skill that for some results in a trade. But just as the skill of driving does not make someone an effective race car driver, the skill of programming does not make someone an engineer.
As past technology revolutions or implementations have impacted the lower skilled labor sectors into which they were introduced, so will AI impact the world of software development. It will first attack the lower value and lower skilled areas of software development; those areas that do not require significant innovation or advancement to be successful. The day will soon come when AI will modify your commerce software, search software, CRM software, and the like with no human interaction if what is being developed is not new, novel or of a mission critical nature.
Further, AI will help us finally resolve the disparity between talent development and talent demand within the US. But in addressing this mismatch, it will also eliminate some of the lower skilled positions developed on an arbitrage basis to help address this mismatch. In so doing, it will simultaneously increase demand for the most skilled engineers available. That demand will further stress an education system that has not yet been able to meet the current demand. More, not fewer, engineers will be needed to create innovative solutions or validate solutions that AI has created. Just as the initial introduction of automobiles increased the need for mechanical engineers, and computers increased the need for electrical/computer engineers so will Artificial Intelligence require more highly skilled software engineers than the current market supports.
In summary, the software development world will change. Comparative lower value software development will be done by AI. That will allow engineers to focus on higher value creation, and the oversight and development of AI related solutions. That change in focus will increase, not decrease, demand for qualified engineers.
So put your mind at ease. Go get that Computer Science or Computer Engineering degree. Go change the world with it in a way that I never would have imagined when I received mine nearly 35 years ago.
Considering how AI or ML may help your company and your product? Contact us, we can help!