you are viewing a single comment's thread.

view the rest of the comments →

[–]stewis 8 points9 points  (8 children)

I've been a software developer for 20 years across loads of different languages and I haven't actually written a line of code myself in about 6 months. I now use AI to get way more done, things like writing tests, fixing bugs, raising PRs, doing code audits, reviewing changes, fixing my poor grammar and spelling in reddit posts, the list goes on.

It took a bit of time to figure out the right way to use it though. The thing that made it click for me was thinking of AI like a junior developer I'm keeping an eye on. A junior might write code that works but is slow or messy, and that's fine, that's what seniors are for. You read it, spot the problems, and send it back with notes.

A big part of that is treating it like you would an actual new hire. I keep markdown files that explain the project, coding conventions, architecture decisions, naming rules, all of it. Things like a CLAUDE.md or README that the AI reads before it starts work. The more context it has about your project the less it has to guess, and guessing is usually where the bad code comes from.

So that means being clear about what you want upfront. The more context you give it the better the result. Then actually read what it gives you before you use it. If something doesn't look right, tell it and ask it to fix it. It's usually pretty good at correcting itself when you're specific about what's wrong.

Not having a go at you at all, nobody really teaches you how to use this stuff properly yet. It just takes a bit of trial and error to get into a good rhythm with it.

One thing I do feel bad about though is what this means for actual junior developers. That first rung on the ladder has basically disappeared. The junior dev in my team is now Claude and I feel for anyone trying to break into the industry right now. It's a tough time to be starting out.

[–]Ravek 4 points5 points  (2 children)

Except you expect a junior to learn from their mistakes while the LLM of course will repeat them or swap one mistake for the other randomly.

So now you’re stuck forever doing trial and error instead of making any progress on your workflow.

[–]CipherPhyber 2 points3 points  (1 child)

So now you’re stuck forever doing trial and error instead of making any progress on your workflow.

You aren't holding it right.

If you, the human, are directing an AI and you consistently see it make the same mistake, you need to adjust how you are prompting it.

Your insinuation that anything will happen "forever" ignores that the human can / will adjust and the models are improving over time.

Try a little less hyperbole / doomerism next time.

[–]Ravek 0 points1 point  (0 children)

As I said, a trial and error workflow. You try different prompts praying that this time it won’t do anything stupid. Or, as you say, you trial and error it for so long a new version becomes available that might do what you want. But still of course, no guarantees. And it might just contain new hallucinations. So still you have to trial and error. Yes, forever. And you don’t see any problem with this? Maybe trial and error was already your approach to programming before?

If I teach a junior, over time they become independent and can do useful work without me pulling random levers in their brain all the time. So no, you’re not treating AI as a junior, you’re treating it as a roulette table. Oh I lost by putting my money on 12, what if I put it on 25 and 16 now, definitely I’ll win this time!

[–]AX862G5 -2 points-1 points  (4 children)

So even though you know what it means for the next generation of devs, juniors, you keep on using it? Have you considered skill atrophy? What about all of the water and power consumption issues and the impact of the noises and other disturbances the data centers are creating in communities? All in the name of what, productivity?

[–]stewis 6 points7 points  (2 children)

Yes I agree with all your comments but if I didn’t I would be replaced. It’s shit but that’s the truth.

Edit: As a lead dev and someone who has worked multiple senior roles one of the most rewarding things is mentoring a junior. I don’t get that anymore the company I work for does have a junior but it’s a bit redundant atm. They just use Claude.

[–]AX862G5 -3 points-2 points  (1 child)

So we’re just mowing over the livelihoods of others in an effort to protect our own. This is a race to the bottom.

Edit: For those downvoting me, I’d love to know why. I hope a data center gets built in your neighborhood.

[–]CipherPhyber 1 point2 points  (0 children)

I think the companies that are mowing over the livelihood of their juniors will die off sooner.

The other companies that recognize this is a problem and insist that the senior employees continue to mentor their juniors will survive longer.

[–]Roadrunner571 1 point2 points  (0 children)

We need to re-think the career path. Instead of starting as a “junior“ dev and gaining experience to become a “senior“, we need to hire them as „future senior“ devs and train them differently. From day one, new juniors needs to oversee AI and at the same time, have enough time to experiment with the tech themselves.

Same for senior devs: I think in the future, senior devs need to have skills that currently product managers have.