Home Some thoughts on the usage of AI for developing software: Is the end near?
Post
Cancel
Preview Image

Some thoughts on the usage of AI for developing software: Is the end near?

– Beware of the following to be quite philosophycal, if you're pragmatic, end the reading here! –


In the last post I wrote about how I used AI as an assistant to build a guitar chord website. During that (short) venture I had the opportunity to reflect first hand on the future impact of AI on software development. So that’s what I’m sharing on this post.

One of my first thoughts, and also one of the most popular, is that this technology, yet incipient, is having a great and rapid impact on lots of industries: finance, journalism, copywriting, …, and also software development.

I’ve heard different opinions on the matter. Some defend that AI will simply be some sort of “GitHub Copilot” for the software engineers, whereas others state that it’ll completely replace them in the near future and its advancement should be constrained, so the potential impact is slowed.

I find it difficult, however, to predict the future – how many of us could have guessed GPT4 just 5 or 6 years ago? What makes us think that there won’t be another breakthrough in the next 5?. Nevertheless, if we assume no future breakthroughs in the near future – which is the safest, but still nonsense – and the current tech more or less still similar (like the smartphones from year to year), I will point out several arguments on why I think this is not a big deal for the broad tech/programming landscape.

First, currently, knowing a framework (or language, or whatever) does not make you more valuable, really. Thinking the opposite is an illusion. And this is more evident when this technology comes into play. Let’s view it this way. I’m no frontend developer. I don’t consider I have advanced notions of developing websites. Therefore, lots of employers wouldn’t hire me for building websites. Yet, by having access to this tool I’ve been able to build a (simple) frontend in just 10 minutes. Doesn’t that mean that using it I could perform as a frontend developer professionally?

This is great for me, as now I have access to a broader offer of jobs that previously I would struggle with. For example: I could be a Haskell developer in just the time it takes me to write a few queries to ChatGPT.

And it’s also great for companies, as their “offer” for workers has been increased, greatly reducing the time and effort required to find candidates.

Besides that, having the market enlarged both ways (workers and employers) forces the average salary offer to increase.

As for the individual contributors, it’ll obviously help. They’ll reduce the time dealing with errors, searching for documentation, reducing the number of bugs and also strengthening and unifying the code style (if you review Pull Requests on a daily basis you’ll probably appreciate the code you check coming from the same AI assistant).

Another common argument among the “doomers” (or neo-ludites) is that, if all of the above is true and productivity is abruptly increased, companies will choose to fire developers as they can get the same job done with fewer people.

I don’t deny that it can be the case in some small companies with delicate financial situations. However, from a broad perspective, this has never been the case. If we take other previous technological breakthroughs (like machinery, robotics, internet or computers) as examples, we find that, even though they were invented, right now, we’re at the best level of employment humanity ever had [1] [2]. And not to mention that we work less and produce more [3].

More specifically, if we focus on robotics/industrial machinery in the US, we find that almost no relative employment has been destroyed in the “Manufacturing” category [4], contrary to what the yielders of the above argument could expect.

Returning to the software world, there have previously been tools like IDEs, (rough) automations, assistants, frameworks, languages, etc. that greatly eased the development of programs, and we didn’t ever see a decrease in programming positions despite all these advancements, quite the opposite.

We can even take a look at my field, which is Data Science, or ML. Did AutoML destroy data scientist jobs? Nope. Did the lots of “standard pipeline automation solutions”? Neither. Even after time has passed, the number of positions for Data Scientists is one with the biggest expected growth [5].

History teaches us that once we got a new technology that increased productivity, we exploited it to increase our overall production (or efficiency), never to stay the same. That’s why I think this kind of tech will be used by the industry to accelerate digitalizacion, build new products, companies and services – apart from also improving the quality of life of engineers (whose often feel stressed [6] or lose lots of time searching for answers[7])

It’s also worth pointing out that the above doesn’t take into account “job transformations” or new positions that will appear (e.g. the relentlessly mentioned “prompt engineer”) or how the same positions will change. This is another advantage of the impact of the technology.

In summary, the integration of AI in the programming industry is rapidly reshaping the landscape of software development. Despite varied opinions on its potential to replace or augment developers, the current trajectory suggests a democratization of skills and expanded opportunities. The shift towards valuing problem-solving abilities over specific frameworks challenges traditional notions of professional worth. This technological advancement, historically consistent with others like robotics and the internet, is more likely to spur overall employment growth than job reduction. Historically, automation tools have not led to a decline in opportunities, but rather sustained growth. Beyond job displacement concerns, the impact of AI on the industry signifies a catalyst for innovation, digitalization acceleration, and improved quality of life for engineers. The evolution of roles and the emergence of new positions further underscore the positive potential of technology-induced changes in the job market.

We should not fear innovation, but intelligently embrace it.

This post is licensed under CC BY 4.0 by the author.