We’re 27 Months in to AI Taking our Jobs in 6 Months

We’re 27 Months in to AI Taking our Jobs in 6 Months
By Ryan Monaghan

Introduction
    Artificial Intelligence has fundamentally changed the world we live in today. This is an irrefutable fact, and it has been used in school, work, and even to start entire businesses. Not everyone has adopted AI into their workflow, however, and I am one of those people. I know some of the reactions to my decision might be “You’re going to get left behind!” or “AI helps you work faster!” or even a direct criticism about my views on technology, but I promise my reactions and opinions are primarily based on my own workflow and experience, but also how I see AI being used in the industry and the problems that it causes. In this paper, I am going to do my best to tell you why I do not think AI will be able to take our jobs, at least not in its current state.

“Vibe Coding”
    Before I discuss my own experience, I want to talk about a new programming paradigm that is called “Vibe Coding”. This paradigm is going to do a lot of harm to software, and to give it a short summary, it is basically just to take whatever the AI generates from the prompt, and throw it into your project. If it doesn’t work, you just regenerate all the code. There are three main problems with this paradigm that can make software turn out horribly:
AI has no understanding of the bigger picture of your codebase. It cannot understand the context of what you are trying to accomplish with a project.
AI cannot understand why an implementation of a solution would be inefficient for the project.
AI needs to re-generate code if it does not work. This is inefficient because it might mean that a simple bug would call for a complete rewrite.
To provide an example of this, senior full stack developer Cemil Sevim “vibe coded” an entire online video game about tanks using AI. It works and it is seemingly functional which is definitely no small feat, but one thing stuck out to me: it was horribly inefficient. The audio file that holds the sound that is played when you shoot in the game was being re-downloaded from the server every time it was going to be used. Imagine if you re-downloaded a PDF file every time you wanted to open it, or you had to refresh a website every time you switched to its tab. This is a horrible use of  time and resources. To add to that, if this game were to suddenly blow up and become popular, a large amount of money and internet bandwidth would be used just to play a sound because of the way the developer chose to design that feature. The math would vary depending on the type of server being used so I can’t give you an accurate picture of the cost, but you should see that it would be a waste to re-download something you already have on hand. This is just one example of why I do not think AI is usable for replacing development teams.

Personal Experiences with AI Coding
    As with all new technologies in the industry, I play around with them for a trial period in order to determine their usefulness to me and how they could change my workflow. I experimented with GitHub Copilot for about 6 months starting in August of 2023. It was a plugin that I installed in my code editor which suggested completions for code right where I was typing, and I could accept them by pressing ‘Tab’ or ignore them and keep typing to try and get a new completion. I was intrigued by the technology at first, but after about 2 months I was fed up with myself. My programming process had become pressing Tab on repeat, and I found myself doing no critical thinking about the code I was writing. The code it generated was often wrong and it didn’t match my coding style either, so I found myself editing it most of the time. I concluded that it didn’t really save me any time, and it was just a hindrance to my speed as a developer.
    Two years later my boss came to my desk to ask my opinions on AI and programming, I told him that I don’t have confidence in its abilities for our applications. In a codebase with hundreds of thousands of lines of code, I was worried that an AI would hallucinate and start making up code that does not exist, which it had done in the past in my own codebases. In projects where design patterns and structures are already put in place, an AI might not be able to recognize those and apply them to generated code. This could ultimately lead to confusion among developers, especially those that are not yet acclimated to the project’s structure.

Can AI Take Our Jobs?
    It has been the sentiment among AI enthusiasts from the beginning that “AI is going to take your job in 6 months”. It has been about 27 months since ChatGPT was initially released and we got a glimpse of the sentiments held about AI replacing jobs. In fact, just today the CEO of Anthropic (creator of Claude, competitor of ChatGPT) Dario Amodei said that “in the next 3 to 6 months, AI is writing 90% of the code, and in 12 months, nearly all code may be generated by AI”. I highly doubt this comes to pass, as this is not the first time anyone in a position of power in tech has said these words over the last two years.
I am firmly in the camp that AI will not be able to take our jobs. At least, not the software jobs that are critical. Unrelated to AI, you see talk in the news about tech layoffs and the unease among software developers about the job market. The reason that these layoffs happened is not because engineers are being replaced, but because a lot of these companies have entire teams of developers dedicated to managing components as small as a button on a checkout page. I know of one such case at Amazon, but I won’t share details because I do not know if this person was under any kind of NDA. This is the kind of work that is not critical. You could get a single developer to design a button in a very short amount of time, I see no reason why you would need an entire team dedicated to managing a button. (Quick aside: I know that you might want to do some sort of A/B testing to check to see if different buttons attract users more than the other, but again that can be done by one developer in a longer amount of time).
    Enough about buttons, back to the crux of the issue. I think that the use of AI for ideas or for quick solutions, but for replacing entire developers it will likely not happen. If you cut developers and make a single person manage an AI, you haven’t cut the workload of a team in half, you’ve doubled the workload of another engineer. Who will stop the AI from making the kind of mistakes that cost companies money, like re-downloading audio files on each use? Who will have to maintain the sub par code that AI generates when it inevitably breaks or causes critical problems? It is entirely likely that jobs will shift to maintaining AI code for a short while, until someone realizes that any time spent maintaining the code could be used to develop the code correctly the first time.

https://x.com/slow_developer/status/1899430284350616025
https://x.com/cemilsvm/status/1896216341050499443


Comments

Popular posts from this blog

Scaling the Potential of Vertical Farming Going into 2025 and Beyond

Knot Your Average Problem: How do Tongue Ties Impact Oral Myofunctional Health?

Crisis to Care: NJ’s Battle with Addiction and Homelessness