go back

AI in Development: A Double-Edged Sword for Junior Developers

Explore the complex dynamics of AI tools in software development, focusing on their impact on junior developers. This post delves into the benefits and risks of AI reliance, offering insights on using these tools to enhance, not hinder, professional growth and learning.


Of course AI and in particular ChatGPT is all the rage these days, but for new and aspiring developers at can be dangerous and even detrimental to your career if you lean on these tools too much.

Tools like ChatGPT can make you feel like anything is possible, which is amazing and definitely something I wouldn't want to discourage. I strongly believe many developers can use AI tools to move out of tutorial hell and start building out their own projects.

The Problem

However the problem is - many inexperienced developers are simply copying and pasting output without really understanding it. I know this because I have even seen people leave in the comments from ChatGTP reminding them to adjust things for their use case...

This is dangerous for numerous reasons.

  • You delude yourself into thinking you have mastered a topic when in reality you know close to 0 about it and have just hacked something together with a crazy copy & paste spree.
  • If you are applying the same approach in your workplace then there is a very high chance you will introduce bugs into your code.

This of course is nothing new, before the rise in LLMs we had people just copy/pasting Stack Overflow solutions and running into the same problems however in my opinion it is now worse. Why? Well, because these LLMs can offer you literal copy paste solutions specific to your projects - at least with Stack Overflow or similar you would need to do some tinkering to match your current projects.

More problems

No doubt some of you are reading this and thinking something along the lines of "Well, it's working fine for me, my PRs are merged and code is bug free".

That's great and all, but I would still argue this is a huge mistake.

In fact this could be even more dangerous that the first point I made because if this is the case then you are clearly going to become over reliant and dependent on these tools. using them as a crutch will hinder your own development and growth.

Being uncomfortable and struggling with problems is a huge part of your growth in software engineering. It teaches you how to research, robs you of opportunities to discuss things with your team and so much more.

So, how should you use AI?

There is no one way, but what I find most useful is to brainstorm projects/tasks/tickets with AI before I start coding. This is extremely useful for me personally as one of my biggest weaknesses is just jumping straight to implementation without really fleshing out all the possible solutions and pros and cons of each.

Tools like ChatGPT are amazing for this, you can explain your problem, offer up your initial ideas and approach/ Then ask AI to evaluate your approach, try and come up with pros and cons as well as offering alternatives.

I see many people just going straight to AI for code. Write a function that can do X, Build me Y etc. This in my experience is pretty useless. The code is often flat out wrong and if not just massively flawed or not considering things like edge cases unique to your application.

Remember, AI will very rarely have in depth knowledge of your application, the business side of things, the economics, the overall goals, what your users look like and many more things.

I would try see these tools more as an assistant and something that can help you be more productive. So it is great for producing some boiler plate type code or a first pass of a new component. Something that simply saves you time, time which you can spend focussing on the core of the problem at hand.

Final Thoughts

To sum up. I think the LLMs and AI tools available right now are fascinating. I am absolutely an AI optimist, but it is vital to take a balanced approach with them. Use them to aid and assist you, make you more productive, explore new ideas and interests.

A successful career in software development in my opinion has always been about continuous learning and self evaluation. Don't rob yourself of that by leaning too much on these new technologies.

While I strongly disagree with the narrative that AI is going to replace programmers - I absolutely concede that the ones most at risk are the less skilled and lower level in the field. By this I don't mean those that are new (although in the short term for sure it is becoming increasingly difficult to get started) but those that are not adapting, learning and growing. Those will be left behind at a much faster rate than pre AI.

go back