This. Junior devs are f*cked. I don't know how else to say it.
This. Junior devs are f*cked. I don't know how else to say it.
What I realized that the above quote and what follows in the article was true before AI as well. Juniors always missed things that made code production ready.
I don’t think ai in the hands of juniors will create worse code. I think it will spawn a lot more code that was as bad as it was before.
This is still fresh thinking so I don”t have a satisfying conclusion. :)
And that makes it even harder for seniors to teach: it was always hard to figure out where someone has misconceptions, but now you need to work through more code. You don't even know if the misconceptions are just the AI misbehaving, the junior doing junior things, or if the junior should read up on certain design principles that may not be known to the junior yet. So, you end up with another blackbox component that you need to debug :)
I guess the question is whether this role is still employable.
Before merge and deploy you need to run the code. If it fails what do you do? search a new snippet on stack overflow? or paste the error into the ai?
This seems like a completely inefficient way of learning to me.
Our company has a culture of expecting the person who wrote the code to support it, and so if it’s poorly written, they inevitably have to learn to fix it, and build it back in a way that can prevent issues in the future.
Obviously care has to be taken to assign the right projects with the right level of guidance and guard rails but when done well, people learn quickly.
I think the same spirit can be applied to AI generated code
Of course, the question remains of whether companies that buy into AI will hire a sufficient stream of junior developers so that some of them will graduate into seniors.
I had a realisation today: AI gives you more shots at goal. When I was learning (the game) go, being able to play a lot of games against the computer in quick succession built intuition faster. When coding I can try more ideas, faster. Kids these days can make apps faster than you can have lunch. They’ll do it differently but they’ll learn faster than we will.
My son is currently studying engineering, and whenever he is stuck at anything (construction, math, programming, mechanics) he fires up ChatGPT and asks for help. In maybe 90% AI gives him a hint so he can continue, which an extremely short feedback cycle. In the remaining 10% he will have to ask his human tutor at university, who is usually available a few days later. And it is not blindly following the AI's advice, but rather picking ideas from it. It is actually pretty awesome to see what opportunities there are, if AI is not simply used for cheating.
One impressive example he showed me was feeding a screenshot of a finished (simple) construction drawing to the AI and asking for potential errors. The AI replied with a few useless, but also with one extremely helpful suggestion, which helped him eradicate the last mistake in his drawing. I am still not sure if those were generic suggestions or if the AI was able to interpret the drawing to a certain degree.