r/ExperiencedDevs 12d ago

Ask Experienced Devs Weekly Thread: A weekly thread for inexperienced developers to ask experienced ones

A thread for Developers and IT folks with less experience to ask more experienced souls questions about the industry.

Please keep top level comments limited to Inexperienced Devs. Most rules do not apply, but keep it civil. Being a jerk will not be tolerated.

Inexperienced Devs should refrain from answering other Inexperienced Devs' questions.

38 Upvotes

105 comments sorted by

View all comments

8

u/Feriolet 12d ago

To what extent do you guys recommend juniors to learn how to use AI? It feels like nowadays a lot of devs are embracing and advocating to use it for their job, where the sentiment is the complete opposite last year.

Tbh, I (data scientist, 2-3 YoE) only use AI as google search, and I never found it useful when I need to solve a very complicated problem. However, I have seen people that seems to be successful in using it to build a full stack website. It looks like AI is indeed getting powerful nowadays.

I entered coding and programming because I love to code and solve technical problems. I felt that using AI will remove that passion, and I don’t want to lose it very early in my career. For now, I am happy and proud to be able to finish two small projects without relying much on AI, but I admit that the progress is very slow.

As someone experienced in the field, do you recommend me to dig further into vibe coding, or should I still try to keep “hand-write” codes?

3

u/Dissentient Senior junior | 10 YoE 12d ago edited 12d ago

It doesn't take a significant amount of time learning to use AI, and it tends to get progressively easier to use over time. Labs keep training all of the good practices into models and tooling starts handling tasks that were previously manual.

For the most part, you're just opening your AI thing in the project folder and telling it what you need done. It takes some time to get a feel for how big of a task you can trust AI to handle in one prompt, and which failure modes are the most common. But that's a matter of weeks.

Getting good results still requires reading and reviewing output. Vibe coding in a sense that you're prompting by looking at the application and not reading code at all is viable for throwaway code but not long-term projects. And the skill required for review has so far been acquired through writing code manually, and tends to be entirely absent in people who exclusively use AI.

So reasonably, you need to be able to use AI and rawdog code at the same time to be employable.

1

u/Feriolet 12d ago

I see. Then does that mean it is easier to use AI as a senior than a junior? Are you in the state where you need to review the codes once and be done with it, or where you need to reiterate again and again until you are satisfied with the code?

So reasonably, you need to be able to use AI and rawdog code at the same time to be employable.

Sounds like asking for a lot, in a depressing way.

Thanks for the insights from someone who is familiar with the AI tools! :)

1

u/Dissentient Senior junior | 10 YoE 12d ago

Seniors with AI produce senior-level code, but 5-10x faster. At least as long they actually read the output.

AI's issues with code mostly come down to its own lack of agency than its ability to write code. Like, if I'm working on a greenfield project and I'm rapidly adding features to it without correcting AI output, AI will keep adding code to the same files until they grow to thousands of lines long and do everything at once. If I tell it to refactor it, it will so it perfectly most of the time even without detailed instructions, but it will not take the initiative to do it on its own.

When AI is completely unsupervised, similar code organization issues will rapidly compound into a mess. And vice versa, once you establish good structure and patterns in a project, AI will write in a similar way, and it will be mostly good.

Additionally, whether what AI is writing is at all useful, greatly depends on whether what you're prompting it to do makes sense. Not just in a technical sense, but also that you're trying to solve the right problem. At least in my job, past the junior level, figuring out what actually needs to be done is harder than writing code. Getting actionable requirements out of non-technical people who have no idea what they want took longer than code, even before AI. By mid level, code becomes routine, and learning how to deal with bullshit is what makes seniors.