Remix.run Logo
mjr00 2 days ago

> That's why you treat it like a junior dev. You do the fun stuff of supervising the product, overseeing design and implementation, breaking up the work, and reviewing the outputs. It does the boring stuff of actually writing the code.

I am so tired of this analogy. Have the people who say this never worked with a junior dev before? If you treat your junior devs as brainless code monkeys who only exist to type out your brilliant senior developer designs and architectures instead of, you know, human beings capable of solving problems, 1) you're wasting your time, because a less experienced dev is still capable of solving problems independently, 2) the juniors working under you will hate it because they get no autonomy, and 3) the juniors working under you will stay junior because they have no opportunity to learn--which means you've failed at one of your most important tasks as a senior developer, which is mentorship.

pdntspa 2 days ago | parent | next [-]

I have mentored and worked with a junior dev. And the only way to get her to do anything useful and productive was to spell things out. Otherwise she got wrapped around the axle trying to figure out the complex things and was constantly asking for my help with basic design-level tasks. Doing the grunt work is how you learn the higher-level stuff.

When I was a junior, that's how it was for me. The senior gave me something that was structured and architected and asked me to handle smaller tasks that were beneath them.

Giving juniors full autonomy is a great way to end up with an unmaintainable mess that is a nightmare to work with without substancial refactoring. I know this because I have made a career out of fixing exactly this mistake.

mjr00 2 days ago | parent [-]

I have never worked with junior devs as incompetent as you describe, having worked at AWS, Splunk/Cisco, among others. At AWS even interns essentially got assigned a full project for their term and were just told to go build it. Does your company just have an absurdly low hiring bar for juniors?

> Giving juniors full autonomy is a great way to end up with an unmaintainable mess that is a nightmare to work with without substancial refactoring.

Nobody is suggesting they get full autonomy to cowboy code and push unreviewed changes to prod. Everything they build should be getting reviewed by their peers and seniors. But they need opportunities to explore and make mistakes and get feedback.

Philpax a day ago | parent | next [-]

Your experience is the outlier, not the norm. Most people don't work for AWS.

mjr00 a day ago | parent [-]

Sure but I've worked for other places too, not just AWS. Including small startups and mid-sized companies.

All of them had bad juniors--and bad seniors--who people quickly learned could not be trusted with anything and were either fired or put into a situation where they could do minimal damage.

However none of them had blanket expectations of "juniors are too stupid to figure out how to solve problems and need step-by-step instructions." I'm sure some places like that exist, but I'd never want to work there; after all, if the place I'm working for openly admits it hires idiots, what does that say about me?

pdntspa 2 days ago | parent | prev [-]

> AWS, Splunk/Cisco

It's an entirely different world in small businesses that aren't primarily tech.

kubb a day ago | parent | prev [-]

In my experience, juniors were more capable at solving engineering problems than some staff engineers, but that’s just an artifact of a broken ladder system.