Live data from Hacker News

Ask HN: Strategies for mentoring junior developers?

news.ycombinator.com

21–30 of 74 posts

Re: Ask HN: Strategies for mentoring junior developers?

#21
post #12

One of the best ways I found is to hire in pairs. Don't just hire one junior (or entry level) at a time. Hire two or more at once so they can help each other learn your stack. At the university I work at, this is how we handle it. We hire a lot of students to help develop our application. These students are far from entry level when we hire them. Most have taken maybe one CS class at the university level. It takes a…

I like the suggestions to hire more than one at a time. But, realistically, it's not always possible -- budget, timing (you may need to stagger hiring), different projects... lots of reasons that may not work.

Regardless, there are other things that will work well for any team:

1) Dedicate time with experienced staff for meaningful code reviews. Everyone should have their code reviewed, and review other code -- senior reviews junior, junior reviews senior -- and 1:1 time to talk through every code commit. This shouldn't be just a "training" exercise, this should be ongoing.

2) Dedicate time for sprint retrospectives. Get feedback, give feedback, and make sure bad behavior isn't being pushed on to junior folks. If you see process flaws, or know you cut corners -- call it out as something to improve on next time. Make sure the juniors know what's good to do, vs. what we have to do to meet deadlines. They're going to follow the examples we set.

3) Dedicate time for "group therapy" sessions for devs. We have a once a week meeting where the only people in the room are devs; just a time for devs to talk about issues they see with the code, project, company -- so the juniors know it's not just a "junior" issue, and other people can weigh in on how they solved similar issues. Make sure to set the expectation that it's totally OK if people don't have solutions for everything.

Re: Ask HN: Strategies for mentoring junior developers?

#22
post #7

I've always been a fan of assigning maintenance tasks to junior devs (or anyone who's new to an existing codebase.) These are tasks that are often lower priority so there is less time pressure to get them done right, and they give the devs the opportunity to learn the codebase. Working on existing code you don't know yet is also a lot easier than new development on code you don't know (and coding standards you don't…

Not to mention the smaller chunks of code to be reviewed, which has it's own set of benefits.

Re: Ask HN: Strategies for mentoring junior developers?

#23
post #12

One of the best ways I found is to hire in pairs. Don't just hire one junior (or entry level) at a time. Hire two or more at once so they can help each other learn your stack. At the university I work at, this is how we handle it. We hire a lot of students to help develop our application. These students are far from entry level when we hire them. Most have taken maybe one CS class at the university level. It takes a…

My employer does a 3-month training program that covers our full development stack, which is rather specialized for our industry. My first team didn't use any of those technologies. But the 30-some fellow students in the training program have become some of my closest friends and, in some cases, trusted teammates and mentors/mentees with various technologies. Peers are an absolutely underrated part of the mentorship…

A formal onboarding program sounds great. We have nothing and I notice that some people even after years don't know how some systems work.

Re: Ask HN: Strategies for mentoring junior developers?

#24
Give em small projects and code review them big time (kindly of course). Accept a bit of argument (i.e. don't get hung up on requiring humility from the junior, mistakes bring that on their own). Do not be time constrained on these initial projects but keep on top to prevent interminable bike-shedding or pursuits-for-perfection juniors often have. If no improvement is shown over time, there is just not much you can do...sometimes mentoring means recognizing when it's fruitless.

Re: Ask HN: Strategies for mentoring junior developers?

#25
Encourage questions - there are no stupid questions (annoying questions, maybe, if it's something you've already answered a bunch of times - lazy questions, maybe, if it's something that could have been easily looked up - but even those have responses to help learning what questions to ask and how to ask them).

The biggest gap I've seen between being junior and being senior is breadth of vision. So, my mentoring challenge has been to get junior devs to see the big picture. This means looking beyond just their specific chunk of code to understand how their decisions affect other parts of code and other developers. I often use the idea of 'future-me', as in, how will future-me think of now-me if I go ahead with this implementation, if I don't write good tests or comments (where future-me includes other devs, especially those who may not work for the company yet).

Re: Ask HN: Strategies for mentoring junior developers?

#26
As a junior dev, I've appreciated small signs that other people in the office are looking out for me and my progress. This can be anything from regular one on ones with my direct manager, to other engineers asking if I have any questions when working in a new codebase. I'm the only junior in my office, so at first it was kind of horrifying asking questions and looking for help. Since other people have been more proactive in making sure I'm set up properly I've felt a lot more confident in taking steps on my own to figure things out and I think it's helped a lot.

Re: Ask HN: Strategies for mentoring junior developers?

#27
I very much struggled with training a junior developer that cane out of a boot camp. I couldn't teach him how to logically find an issue just by tracing the data flow.

While I stagnated for years and became an "expert beginner" (https://www.daedtech.com/how-developers-stop-learning-rise-o...) at one company, I've never been a "junior developer". By the time I got my first job at a small company, I already had 10 years of experience as a hobbyist and knew how to program.

It's easy to mentor someone who knows the fundamentals of how to logically break an issue down and throw out some ugly code to get them to a "clean code" stage or even teach them a language.

But if they already know the fundamentals of development as a junior developer, it's pretty easy to get to the next step with time, lunch and learns and reading a lot.

Re: Ask HN: Strategies for mentoring junior developers?

#28
"Software development companies are often willing to hire developers who need a lot of guidance and direction." Is it in US? As a developer with 1 year of experience I find most of the companies are looking for only junior(3-5 years) or mid(5 - 7years) or senior(7+ years) of experience.

Re: Ask HN: Strategies for mentoring junior developers?

#29
post #12

One of the best ways I found is to hire in pairs. Don't just hire one junior (or entry level) at a time. Hire two or more at once so they can help each other learn your stack. At the university I work at, this is how we handle it. We hire a lot of students to help develop our application. These students are far from entry level when we hire them. Most have taken maybe one CS class at the university level. It takes a…

As somone who started the same day as another junior developer in my first job, I second this. Just having someone who's also junior who you don't feel any shame about asking stupid questions to is killer. You shouldn't feel any shame either way, but that's sort of one of the things you learn transitioning out of a junior role.

Would you able to divulge the name of the company?

Re: Ask HN: Strategies for mentoring junior developers?

#30
post #12

One of the best ways I found is to hire in pairs. Don't just hire one junior (or entry level) at a time. Hire two or more at once so they can help each other learn your stack. At the university I work at, this is how we handle it. We hire a lot of students to help develop our application. These students are far from entry level when we hire them. Most have taken maybe one CS class at the university level. It takes a…

My employer does a 3-month training program that covers our full development stack, which is rather specialized for our industry. My first team didn't use any of those technologies. But the 30-some fellow students in the training program have become some of my closest friends and, in some cases, trusted teammates and mentors/mentees with various technologies. Peers are an absolutely underrated part of the mentorship…

3-month training program by a company in US is unheard of. I would greatly appreciate to know the company's name.
Post reply on HN