DEV Community

Cover image for Should New Developers Use AI Coding Tools?

Should New Developers Use AI Coding Tools?

Catalin Pit on August 02, 2023

AI coding tools like GitHub Copilot, ChatGPT and similar tools took the software development world by storm. Some developers love them, some dismi...
Collapse
 
dthompsondev profile image
Danny Thompson

I find myself going back and forth on this subject because while I agree, it should be a good thing to rely on the tools, I have seen beginners rely too much on it to the point where if they needed to write the most basic of things they freeze. What has your experience been with this aspect of leveraging AI tools and absolute beginners?

Collapse
 
catalinpit profile image
Catalin Pit

Relying on them too much is definitely not good. Like you shouldn't exclusively rely on StackOverflow and other tools, you shouldn't rely on AI tools either.

Collapse
 
jameslau profile image
James Lau • Edited

Using AI tools like ChatGPT is no different than using StackOverflow to find an answer. But I agree, excessive use of any of these tools isn't a good thing. If I run into a big issue, I would debug things on my own end first with the inspector tool or some debug tool in my IDE. Taking the first stab at solving the problem yourself before asking for help.

Collapse
 
cappe987 profile image
Casper

I agree that it can be a great learning tool (provided it is used correctly, as already discussed in the comments). What worries me with AI-generated code is licensing and copyright of the output code. I wrote a post about it on my blog. casan.se/blog/programming/my-thoug...

TL;DR: AI code generators may generate exact copies of licensed code, which could be very problematic in both proprietary and open-source projects.

Collapse
 
eljayadobe profile image
Eljay-Adobe

I think they are excellent tools. But, for new programmers there is a problem of knowing when the tool produces good code, and when it produces bad code. Recognizing those patterns of good code and bad code takes time; and that requires a valid environment, many repetitions, timely feedback, and deliberate practice — just like becoming an expert at anything in general.

Collapse
 
fernandofraga profile image
fernando-fraga

Im a newbie in this dev area. Nowadays im working as an intern and sometimes I feel guilty for asking a lot from ChatGPT.
However this is the future, and we need adapt to it, or we can reject it, but sooner or later, whoever rejects it will be outdated

Collapse
 
giovannimazzuoccolo profile image
Giovanni Mazzuoccolo

I would make the most of it, but make sure you understand the code you create. Don't ask ChatGPT to write code directly. Here's how I would using it as a junior dev:

  • Ask ChatGPT about potential problems before starting a new task.
  • Use ChatGPT to explain code you've written.
  • Ask ChatGPT for help in making your code simpler.

This way, you have a helpful tool for your job, without it doing all the work for you :)

Collapse
 
tolu1123 profile image
tolu1123

I would like to ask you a question,
Those who sat down and wrote this A.I tools like ChatGPT- How did they get there? Is it by the same A.I they made OR by the experience gained by writing Code, critical thinking and other factors which we cannot do without saying....

From my experience, I would encourage you to start solving problems on your own, but still that is if you want to be the first to see what exists at the other end of the universe.

Collapse
 
clickit_devops profile image
ClickIT - DevOps and Software Development

Great post! Agree, finding the right tools can really ease the process of being a new developer. It's all about learning how to use them and leverage them along with your own capabilities instead of relying completely on them. Thanks for sharing!

Collapse
 
ben profile image
Ben Halpern

Thanks for the contribution to the community Catalin!

Collapse
 
catalinpit profile image
Catalin Pit

My pleasure, @ben!

Collapse
 
sidswirl profile image
Sid Probstein

Generally agree. CodeGPT++ are quick and usually right when given simple tasks, e.g. write python to extract a key from a string of key/value pairs. For large tasks I've been getting good results asking for pieces of the puzzle - code examples - and then assembling them into some app framework...

Collapse
 
vincanger profile image
vincanger

Nice! I wrote a comparison about two other ai-coding tools, Smol-Developer and Wasp's GPT Web App Generator, here: dev.to/wasp/smol-ai-vs-wasp-ai-whi...

Collapse
 
catalinpit profile image
Catalin Pit

I'll have a look. Thanks for sharing it!

Collapse
 
jmccabe profile image
John McCabe

Funny. I've just read an article that said that, in tests, ChatGPT got significantly more than 50% of programming questions wrong. I once asked it how to do RSA-PSS-R with OpenSSL. It was wrong; it had told me how to do RSA-PSS. When I said "that's wrong", it came back with an alternative suggestion using a parameter that didn't exist. It's rubbish, and I suspect that a lot of flaws would be found during code reviews.

Collapse
 
anderspersson profile image
Anders Persson • Edited

Same here, i testa and ask ChatGPT to make a funktion i Python with can (+ - / *) with 2 numbers, but it did not know this is in the language direkt, så ett imported Numpy library (big) and start koded a funktion with if statments.
The big problem here, is preformance, it added a big library and write 20 lines not needed.
I think in the future we vill se many code lik this if AI tools i used.

Collapse
 
aarone4 profile image
Aaron Reese

Yes, but so would code from a junior dev. Hopefully though the junior Dev would learn from the mistakes.

Collapse
 
jmccabe profile image
John McCabe

You would hope that a junior dev would do a bit of research and work out for themselves that OpenSSL can't do PSS-R, either straight off or, if they'd come back with a PSS version and were told that wasn't it, they'd then realise that it's not possible rather than coming back a second time with a solution that can't possibly work as it uses parameters that don't exist!

You're right about the learning from mistakes thing; ChatGPT, in my experience, is rubbish at that. I've asked the same question of it multiple times and it still gets it wrong.

Collapse
 
jmccabe profile image
John McCabe

BTW - here's a link to one news report on that study. techmonitor.ai/technology/ai-and-a...

Collapse
 
karfau profile image
Christian Bewernitz

I have seen engineers on very different levels becoming distracted in their "train of thoughts" by the inline editor suggestions, to the point that I'm becoming annoyed by those things slowing down people, because every suggestion needs to be validated whether it's applicable/helpful/correct, which can destroy the previous focus or prevent it from establishing.
And especially for beginners or when starting to work on an existing codebase that is different from what you are usually doing, that can not judge these aspects, the time might be better used by pairing with a more experienced dev.

Just my 2 cents

Collapse
 
guymorganb_ profile image
Guy Beals • Edited

I’ve found AI tools very useful as a beginner, particularly because when I’m learning something these tools can help generate examples that boost my learning process and relieve a burden on my instructors when I need additional guidance. This code generation tends to save me a lot of time googling solutions, explanations and writing boilerplate items once I understand what is going on with them.

Secondly because AI sometimes generate hallucinations, it exposes me to unintentional concepts which have in some cases broadened my perspective, and also given me valuable perspective from correct vs. incorrect code for my particular use cases, through this process it has helped advance my beginner level debugging skills more efficiently and learn from mistakes which couldn’t easily be produced by my instructors in a classroom setting.

With all things striking a balance is good, and certainly many people may not find AI as useful as I have or they carry a different opinion. I can only speak to my personal experiences with it.
👨‍💻

Collapse
 
aarone4 profile image
Aaron Reese

So my take is that I treat ChatGPT AS IF it was a junior Dev. Give it a small, precisely defined question and it normally gives a really good answer. If it gets it wrong, a bit of coaching and it gets pretty close to the code I would write and in half the time. BUT you need to fundamentally understand when, where and why it gets it wrong to be able to explain what it needs to fix, just like you would with a junior Dev.
Where AI coding really shines is when you can use it for declarative coding. For example, I asked CGPT to scaffold a react native app to register teams and keep the scores for a cricket match. It automatically added an array of eleven players for each team but it really struggled with setting up the referential relationship between matches, teams and players.

Collapse
 
amargoel profile image
Amar Goel

Developers who use AI assistants have told us they are 31% more productive, with over 25% seeing more than a 50% increase in productivity. Btw, 20% of the users have more than 10 years of experience, so this isn't just helping new people.

A lot of writers say when they use tools like Jasper for content generation, it helps them get started without staring at a blank screen. I think the AI tools can help eliminate the "blank screen" effect for new developers.

Collapse
 
leob profile image
leob

No ... first learn the fundamentals, add AI to your arsenal later on.

Collapse
 
catalinpit profile image
Catalin Pit

Who said to skip the fundamentals? And why can't AI help you learn the fundamentals?

Collapse
 
leob profile image
leob • Edited

Yeah I guess it could, fair enough - there is not just one "right" approach to learning and education.

So, your answer to the question that you're posing would be "yes".

I'm quite curious what the approach of 'official' schools/educators (bootcamps and so on) will be - whether or not they will embrace these tools.

Thread Thread
 
catalinpit profile image
Catalin Pit

Yeah, I'm curious as well. It's interesting to see what the future holds.

Collapse
 
darkterminal profile image
Imam Ali Mustofa

Is new parenting method?

Collapse
 
catalinpit profile image
Catalin Pit

Huh?

Collapse
 
darkterminal profile image
Imam Ali Mustofa

Ah... never mind... sorry, I think I am lost...

Collapse
 
deozza profile image
Edenn Touitou

I teached a lesson on refactoring not so long ago to 3rd years. They had to run a docker container I made for them. And of course, the container was not working on some of them computers.

I saw them running to chatGPT, posting the whole prompt error, hoping for the solution to come. They've been stuck like that for 30 minutes.

They were on windows laptop. The solution was to start docker desktop before running a container.

All this storytelling to juste say, AI tools for beginners are a bad idea. When you don't know what you are doing, when you have not ran some basic debugging steps (is your computer plugged to the wall ? Are you connected to the network ?), you won't know what to ask to the AI tools.

Understand how the system works before looking to cheat it and go faster.

Collapse
 
pageshidara profile image
Hide Shidara

I think yes, use whatever tool gets the job done.

Collapse
 
msk61 profile image
Mohammed El-Afifi

Nice and enjoyable article. One clause that piqued my interst

Would you copy & paste code from a website and blindly use it without understanding it?

Many many people indeed do. 🙂

Collapse
 
jameslau profile image
James Lau

I only use ChatGPT if I really can't find the specific issue through, say, Stack Overflow. Normally it's some obscure one off thing in some random JavaScript function.

Collapse
 
johnbishop profile image
John Zimmerman

I’ve found that the ability to problem solve is like a muscle. If you don’t solve problems everyday, you’re abilities atrophy really fast.

Collapse
 
ssbug696 profile image
Alex Ilin

faster for what? What will change personally in your life from the rush? Do you think the surplus value of the capitalist will change something in your life?

Collapse
 
catalinpit profile image
Catalin Pit

Huh?

Collapse
 
wisedanstack profile image
wisedan

really for me , maybe no !!
Why ? because as new developer you have to learn and understand not know the code but know how and why implemented this logical thing in like !!

Some comments have been hidden by the post's author - find out more