The Emerging Rivalry between Developers & AI — Forecasting the future from the ramblings of a few good devs.

Subhakar Tikkireddy
TheMoonDevs
Published in
9 min readMar 16, 2024

Can AI truly dwell in the minds of developers and replicate our thinking process, to code efficiently? Github copilot, codyfix and many other plugins have actively helped developers `finish` the code and if the complexity is simple enough, can even help generate code. Most of the lint errors detected in IDEs are being resolved using these plugins, and with recent achievements made by DevinAI, it looks like a `junior` developer’s demand might drop in the future, But is this truly the case, and how will this happens and what sort of repercussions it will have on the industry,

A year ago, when chat-gpt hit the mainstream with its 3.5 model, I had a chat with my buddy who’s been into AI development for quite a while and that too at a tech-giant, both of us are thinkers, and we often like to think and predict the future (more times being correct than wrong), both of us went into a deep discussion on how chat-gpt can help and what are the possible applications of LLM models ( semantic analysis, brainstormer, copywriting ). I was not able to document our thoughts then, but this time I believe it’s better to document it now, so we can say in future `Ha! I told you so!`.

Before we dive in, a quick intro, Devin AI was able to pick up minor bug issues on code repositories and figure out solutions for them and solve them, create a new project based on a simple text prompt and a reference repository, set-up a new project based on a client request and again, a reference repository.

There were many good critics, some outright denying the reality we (developers) might be pushed into, and some questioning its capabilities. But if you want to get to the root of it, you should start by understanding it and accepting any future. Shift your perspective and think like you’re not a developer but a businessman or an entrepreneur. If you want to predict the future, the best way is to become a blank slate that can absorb any thought or idea and be purely logical and apathetic in your reasoning.

Here’s how our conversation/debate went…

Him — — The ML models are growing fast, and can also write code based on data of repos collected, do u think it can replace you as a developer?

Me — A developer doesn’t write code. He copy pastes it the most of time, the complexity of my role was never in the logic of miniature pieces of code, but the amalgamation of it, what stacks should I use, what architecture pattern and what data model, what can be the cause of this system failure, how should I design this integration so we can scale it in future easily, and usually developers don't work on simple projects that handle one simple piece of logic, and integrating multiple pieces of functionality into a single project is what makes up the real job.

Him — — What if the ML models can come up with these architectural patterns and data models you speak of, and thereby take out most of your work?

Me — Hmm, let me explain, every piece of a code repository out there is unique like thumbprints of humans, despite the many similarities and the same repetitive stack, I can dare say almost every project is unique in its way, this is why a developer if he built the project from scratch, can understand that project far better than taking over an established / running project. Despite being a senior developer who is well versed with all the stack used in that repo, handling the second case takes a lot of time depending on how complex of a project it is. You can consider this understanding of the entire project as a complex challenge that the ML needs to solve first.

What’s this shit? — that’s how most refactoring projects look like to developers.

Him — — Actually, It already does, not that great, but it can replicate 13% efficiency of an average junior developer, it used to be 1%. I am not talking about simple code auto-completions either. It can auto-solve any issues created on a code repo. And chances of it taking slowly that percentage to 80–90% in the next 2 years is very high.

Me — Interesting, so you’re saying ML can now understand code and the logic behind it to investigate the issue and fix it, even if it’s being done only on small-scale complexity projects, that is a huge achievement. A quick question, will ML be able to adapt? Because, in the developer's world, all stacks get deprecated very fast. so will it be able to learn new stack and its implementations?

Him — — Firstly, ML doesn’t understand the logic, it has no logic, it runs and trains based on probabilities, this is why we keep calling it ML (Machine Learning) and never AI (Artificial Intelligence), True AI is just science-fiction as of now. There were progressive shifts in the LLM models published by chat-gpt back then in 3.5 version because they trained chat-gpt 3.5 by passing in the code. Secondly, adapting requires data and time, data on the usage and applications of new stacks introduced, and time for it to train and fine-tune it.

What u see is not intelligence based on logic, but pure probabilities !

Me — So, for the AI to help us write code, it first needs our help. this is a dependency paradox, whenever there are new version updates on the libraries and stack, we learn, and adapt to the latest trends, and then AI will have to emulate us and learn from us in how we are adapting to the new libraries. You’re saying the AI cannot help us by directly learning the new library, but if we learn it first and then teach it to AI, by that time a new version of the library will already be in the out, making the AI useless, as the developers still need to learn the new stack.

Him — — Let me stress it again, we do not call it AI, ML — Machine learning. I don’t believe ML is as useless as you made it out to be, because even though it cannot help you with the latest stacks, it can still help you with the old stack, It's not like with every version update of a library, all the old functionality will get deprecated, each of these libraries functionality stay standing for longer periods, only minor improvements here and there, and total shifts/migrations in versions rarely happen once in 3–5 years.

Me — Yes, you are correct. but also not exactly so. Let me give you an example, ML can help me with React (a frontend framework), as the foundation of it remained the same through out the years, and only major migrations happened recently with React 18, but our projects are not about writing code in react, it's about building the tech for the requirement, if it's a web3 project, the latest EVM libraries, if its an e-commerce, the latest pay integration tools, and these tools not only upgrade very fast but also entire libraries get deprecated like `ethers` in web3 case, now you have `viewm` as its alternative. and sometimes the core of the projects is about even creating new libraries ourselves ( that's where the tech innovation happens actually )

A developer’s world is a juggler’s world, by the time you master a stack, it gets deprecated

Him — — To some extent, ML can replace junior developers at least as what they do is what ML can do (not now, but in the future), whereas the edge tech stuff you’re talking about is mostly handled by senior developers or seeking-to-be senior developers.

Me — Firstly, let me correct, ML can never replace any developer, junior or senior, as irrespective of the help provided by the ML, the end code it generates needs to be read, understood, and maintained by a human, a non-technical person cannot understand it, so you would still need a developer to handle it, but the demand for junior developers would considerably decrease as with ML, you can do it at scale and much faster than a single human being.

Him — — Exactly, despite many people saying many things, ML has never truly replaced any role completely, It only saved time and increased the efficiency.

Me — But there is a bigger problem we are ignoring, if the demand for junior developers decreases, causing fewer opportunities for developers, then it will cause a fall in the supply of senior developers. Every senior developer is a junior once, who honed his skills on multiple projects to get to that stage. This will cause a loophole where senior developers keep getting higher pay, whereas junior developers' pay decreases as demand falls, and they will have to stick through that lower pay phase for a longer period just to reach the senior phase.

Him — — Although the stick-through part sounds inspiring, it will not work out on a large scale, the majority will choose to pursue a different career, causing a dip in technological innovation overall.

Can I not code in peace ? Is this worth it ?

Me — Junior developers are a very important component in the field of technology, as without a large quantity of them, I believe even ML wouldn’t have enough data to emulate and improve.

Him — — In the end, It’s a chicken & egg problem. The solution of it is known to all but known to none at the same time. We know what might need to happen to solve it, but we wouldn’t know if our strategy will solve it until after it’s tested and worked out.

Me — Haha! The world with ML bots and Human developers in it, society will increase the pay rate of senior developers so high to keep the junior developers attracted to the sweet dream, and make the training process of junior to senior developers as easy as possible with the very same ML bots, helping and guiding them. It's already happening on a small scale now! like how copilot gives us auto-completitions in VS Code helping us better write the code or learn new ways to write the same code.

As you say, a solution for a chicken and egg problem is not a solution until it happens.

We know what might need to happen to solve it, but we wouldn’t know if that will solve it until after it's tested and worked out.

ML Forecast Summary — for March 17, 2026

  • An increase in the pay grade of Senior Developers.
  • Senior Developers’ major role will be crafting, planning, and innovating the software development for the project and taking major usage of ML bots and Junior Developers.
  • A decrease in the pay grade of Junior Developers.
  • Junior Developers’ major role will be reading, learning, debugging, and fixing the code written by ML bots and guiding them according to the directive set by either clients or Senior Developers.
  • An efficient and faster way to upgrade from Junior to Senior Developers resulting in each Junior developers’ training phase much shorter.
  • Most important of all, the fastest process of development for MVP projects (due to ML bots help), and increasing difficulty for Scalable projects (due to the low supply of skilled senior developers)

written on March 17, 2024, by Subhakar T, founder of TheMoonDevs, the global gathering hub for all the skilled developers available on demand for projects that are worth their time and effort.

--

--

Subhakar Tikkireddy
TheMoonDevs

I solve tech for global startups┃ Founder @TheMoonDevs ┃ Front-End Developer (10+ Years)┃Top 3% Dev Talent @ Toptal