
Developers mentoring other developers: practices I've seen work well - fagnerbrack
https://blog.pragmaticengineer.com/developers-mentoring-other-developers/
======
aethr
A big mistake I made when I started mentoring other developers was making the
answers to their questions too easy.

I spent a lot of my early career crawling around on linux servers trying to
fix weird bugs in pretty typical web stacks. Later on, when other developers
needed help diagnosing an issue on a server I would say something like "sounds
like X problem, look at the log file in Y". After several years of this, the
same devs were still asking the same questions. I was helping them solve
immediate problems quickly and easily, but I was _not_ mentoring them.

Developers don't grow by being given the answers. They grow by trying things
and experimenting and solving problems themselves. These are the skills and
the lessons that will serve them well as they level up their career. Not
giving them the answers but giving them the tools to find the answers.

These days, if there's no urgency, I would say something like "where are the
places in the stack where a problem like that might occur, and what can we do
to narrow down the set of likely issues?" I might give them some ideas, but
let them do most of the legwork.

~~~
thomasmarcelis
I can echo this experience. I guess this comes down to the Socratic method of
teaching people:
[https://en.wikipedia.org/wiki/Socratic_method](https://en.wikipedia.org/wiki/Socratic_method)

I have yet to see a more effective method of teaching developers, as this
encourages understanding and learning about underlying concepts and problems

~~~
crispyambulance
Yes, the best teachers ask questions of their students, engage in a dialog and
provide "guard rails" for the student to gain mastery of a topic. The end
result of learning is not merely knowing answers but being able to ask strong
questions (pithy, but true).

This is also part of the reason why Stackoverflow is in such a negative light
lately. SO is extremely good at providing answers to narrowly-focused well-
defined questions, people forget or aren't aware that this IS NOT a good way
to learn subject-matter. It leads to frustration from users because they're
expecting someone to give them pointers on how to move forward on general
problems and it's frustrating to point-mavens because they aren't empathetic
enough to see what the problems are.

~~~
Xelbair
SO answers are really good learning place. That is if you read the whole
thread instead of copypasting the accepted answer.

Usually, at least for .net, there are explanations not only how to do
something, but why do it this way.

I learned quite a bit from SO, it at least pointed me towards right direction
in docs. Nowadays i just read the docs instead, but i still google for SO
answers for new problems.

Maybe there is an API i have no idea about ,nor my colleagues do? Maybe there
is a better way to solve problem XYZ?

Instead of skimming myriad of blogs i can just read the answers on SO and then
read up the docs.

SO is as good, or bad, as you make it - if you just copypaste answers, or
provide an answer in form of code with minimal explanation why - then that's
on you.

~~~
crispyambulance
SO is a great place to go when you're in a jam at work as a pro doing your
stuff. It has specific answers to specific questions. Sure, if you have enough
background expertise to navigate the answers, you can "learn something" (1)
along the way.

The kinds of questions that people ask when they're focused on learning
something new, however, are DEFINITELY NOT what SO is intended to handle. It
is why SO is actively hostile to people that try to use it to learn by asking
questions.

(1) For .net in particular, Jon Skeet's answers are magnificent resources. He
even made the content from his answers into a book. The book, of course, has
context and coherence. It's not just the answers copy-pasted into a text.
Sadly, Skeet is the exception rather than the rule. For everyone putting up
nice answers to questions following the example of Skeet, there are dozens of
smug, persnickety jerks making people feel like shit in a hundred different
ways for daring to ask a question.

~~~
Xelbair
>> The kinds of questions that people ask when they're focused on learning
something new, however, are DEFINITELY NOT what SO is intended to handle. It
is why SO is actively hostile to people that try to use it to learn by asking
questions.

Exactly, at this phase of learning go and read other questions and answers
related to your topic instead.

Jon Skeet is a goddamn national treasure.

------
roberta_welch
Imagine a mentor who belittles you, exaggerates your flaws, and brings up
false accusations only in private, during one-on-one meetings, and only picks
on you in secret. But outside they are very friendly.

I have had two such mentors.

I am extremely suspicious of any such one-on-one arrangements when there are
no written records and opportunities for challenging unfair assessments
formally. There has to be second opinions from disinterested parties.

Now imagine an office politician who relays to you bad things other people
said about you, and relays to others bad things you said about them, and
encourages retaliation between staff. I have worked with one such person.
Again here, under the guise of mentorship of one-on-one feedback there is a
lot of gossip being generated.

I can already predict that there will be more people who think they can mentor
than people who think they can improve.

~~~
lixtra
I totally agree that mentors and mentees should be free in their choice with
whom they partner. So if you had bad experience with your mentors it should be
easy and penalty free for you to change.

On the other hand, I would decline to mentor you:

> I am extremely suspicious of any such one-on-one arrangements when there are
> no written records and opportunities for challenging unfair assessments
> formally.

I'm not interested in wasting my time with a mentee on bureaucracy instead of
actually mentoring. Luckily, there are many different workplaces we can pick
from, so your need for proper documentation can be satisfied while my wish to
use the time for mentoring is also satisfied (possibly in different places).

> I can already predict that there will be more people who think they can
> mentor than people who think they can improve.

I love to be a mentee. It usually feels better to learn than to teach. It also
increases your value more. I quite often struggle that I don't have a mentor
(and it is a good reason to change workplace). As compensation, I frequently
send out mentees to learn new stuff and teach it to me.

~~~
TeMPOraL
> _On the other hand, I would decline to mentor you:_

Here's a thing. If both of you knew each other personally, started becoming
friendly, then you might end up mentoring GP and I'm sure GP wouldn't demand
written records. This is how mentoring looks like. It's not some top-down
prescribed job task, and it's not done by matchmaking.

------
mattlondon
In my personal experience, apart from onboarding, "forced" formal mentoring is
bullshit and a total waste of time. No one benefits.

I totally get the benefits of getting advice from more experienced folks, but
you can do that ad-hoc so I just don't see the point for formal set ups and
have chalked it up as something that someone somewhere in the organisation
thinks is useful that everyone should do - kinda like all the bullshit "team
work" or "what colour are you"/"look inside yourself" training courses that we
are all required to take from time to time but no one actually wants to do and
are a 100% totally pointless exercise.

~~~
nindalf
Please don’t state your opinion as gospel truth.

In my experience I have benefited from being on both sides of the mentor-
mentee relationship. I learned a lot from mentoring an intern, especially.

~~~
richardknop
How do you read comment starting with "In my personal experience" and respond
with "Please don’t state your opinion as gospel truth.". Wtf?

------
jcadam
When I started as a software engineer in the Aerospace industry, I was the
"kid", one of the few young guys working amongst a large group of middle age
(and up) engineers. Interestingly, there wasn't much in the way of mentorship
-- just dump all of the grunt work on the kid. "It's good for you to cut your
teeth on testing/maintenance/etc." And also "You need to pay your dues, son."
\- whenever I asked for more responsibility / new projects, etc.

Now that I'm middle-aged (39), I'm one of the few older guys working amongst a
large number of younger folks. Formal mentorship and leadership development
programs (so you can be promoted past the Gen Xers we're currently targeting
for layoffs) are real things now focused solely on the younger generation...

Any other Gen Xers feeling cheated?

~~~
klodolph
> Any other Gen Xers feeling cheated?

I’m unlikely to be called Gen X, but my attitude has always been the same:
it’s our duty to make the lives of future generations better than ours. Raise
our children better than we were raised. Provide our juniors the opportunities
and resources we didn’t have.

So, I don’t feel cheated. I feel happy because my efforts are helping future
generations.

~~~
hkarthik
Similar experience for me and we are the same age. I don’t feel cheated per
say but I agree we had less opportunity available to us and less ability to
affect change.

The thing to remember is that we are a small generation sandwiched between two
big ones (baby boomers and millenials). We never got to move the needle as
much culturally as these two generations did.

The boomers set the rules, which we begrudgingly followed. And the millenials
are breaking the rules and we have to roll with that too.

Sometimes it feels like we are caught between both worlds, and forced to
choose a side where we only agree with them 50% of the time.

~~~
jofer
Aren't those of us born in 1980 (+/\- a year or so) millennials?

I'm about the same age (38) and I guess I count myself as a millennial. I'm
certainly considered a millennial by everyone older than me. I'd always heard
the cutoff between Gen X and millennial was 1975, but now that I search I'm
seeing '82 or '83 a lot. That doesn't fit with how I typically see the term
used, though.

That having been said, I feel like there were plenty of mentorship programs
when I was first starting my career, but I haven't worked for too many pure
software companies. It may have been very different in actual tech companies.
The more traditional corporations I've worked in tend to be big on formal
mentorship programs.

~~~
Izkata
Millennials were born early 80s to late 90s. The exact years depend on who you
ask and are a bit fiddly anyway depending on how you interpret the phrase "was
a teenager during the 'new millennium' (decade).". (For example, does pre-teen
count, did the millennium start in 2000 or 2001, etc)

------
opportune
My issue with mentoring is that in practice it’s often just a way to help the
mentor transition into managing or becoming a TL. Which isn’t necessarily good
for the mentee because the incentives aren’t really there for you. Your org
might force you to grab a mentor who does something unrelated, and not
particularly well, just because of their level and career aspirations.

That said, technically capable mentors who actually care about mentoring can
be great, I’m just not sure about top-down forced mentoring as a career
requirement.

~~~
K0SM0S
> I’m just not sure about top-down forced mentoring as a career requirement.

Indeed, it feels like saying "oh you two are gonna be friends!"

I feel there's a confusion around terms. Life is a bit more complex. Mentoring
is a rather specific thing, and 'real' mentors are a rare (and precious)
relationship; it's long-term (at least in perspective, however long it
actually lasts) and much more emotional in that there's admiration
(reciprocal), there's care (genuine) for the other, it just can't be decided
(even for oneself). It's not something you can commoditize with policies or
incentives. You don't have 6 or 10 such people in your life, more like 1,
rarely, 2 if you're really lucky.

What most of the article seems to be talking about is very good but it's not
really 'mentoring'. More like "skill sharing", good "onboarding" (even with
seniors as we onboard others onto the systems we happen to know better in the
organization or the field at large). It's informal teaching, transmission,
it's an organization thing he's describing — not a human-driven relationship
that exists around all else.

The platform is more interesting. People with a desire to mentor may find a
good match, and stick with it. Reciprocally. But the truth is that no more
than online dating, you just can't be sure there's a match right now for you,
you may find students / teachers (like find people to grab a drink sometimes),
but mentees / mentors (long-term relationship) is a whole other ballpark.

I'd say this: it is a good cultural evolution to value mentorship and try to
form minds into engaging in such relationships, like you'd think it good
people want to marry or raise kids. It also shows how learning isn't a school
thing only, actually very little, but a life-long endeavor wherein all parties
grow in the process. But just like Disney movies aren't reality for most
people most of the time, a little temperance on the real felt experience of
mentorship may be in order when encouraging people to the possibility.

------
neogodless
What everyone has to learn over time is

\- why you choose to do things a certain way

\- how you figured out a pattern or solution

\- extracting the most from your tools, such as debugging

\- that this isn't magic, persistence can be key for tough bugs and
performance problems

I've had mentors just answer one-off questions, and I've had others that gave
me the above insights. When I'm helping someone, I try to "think out loud" and
teach them process.

Language-specific structures and patterns can also be taught, but they
shouldn't be the focus. More like incidental tidbits a junior can and should
pick up along the ride.

~~~
Ntrails
> I've had mentors just answer one-off questions, and I've had others that
> gave me the above insights. When I'm helping someone, I try to "think out
> loud" and teach them process.

I find it incredibly hard to think out loud and work through a problem with an
audience. Going away, to my own workstation, spending 2-3 minutes looking at
things and investigating will often get me some ideas. Which I can communicate
back. Often describing how I got there.

Put me on the spot and if I don't already know the answer I probably cannot
find it under scrutiny. This is my failing, I know, but it's demonstrably
true.

~~~
neogodless
It helps if you don't think you're being judged. To me, these skills are
learned through trial and error. Error is ok and I'm fine stumbling through
ideas that could be wrong.

As soon as you start to perform with your status as a skilled developer
hanging in the balance, your brain will lean towards " fight or flight" mode
and decrease your cognitive abilities.

~~~
Ntrails
> As soon as you start to perform with your status as a skilled developer
> hanging in the balance, your brain will lean towards " fight or flight" mode
> and decrease your cognitive abilities.

You are 100% correct that this is a large part of the problem, but I cannot
get rid of it.

------
msluyter
It helps to have a sharply defined goal. At a previous job, I mentored someone
in a support role who wanted to move into a dev position. (They were also
highly motivated, which was helpful.) Our meetings largely focused on
preparing for the dev interview -- filling in knowledge gaps, working through
standard whiteboard questions, understanding and being able to articulate
software design principles, etc... We actually covered pretty broad ground
here. They got the job and I found the experience quite rewarding.

After that, without the clear goal, I think we drifted a bit. Mentoring still
had positive value, but I in general I think the value curve is logarithmic
and after a while one reaches a point of diminishing returns.

------
crummy
The site mentions [https://codingcoach.io/](https://codingcoach.io/) several
times. Has anyone tried this service? How useful is it?

~~~
sparkywolf
I was also noticing that - it almost seemed like an intentional plug. If
anyone has experience with it I would love to hear about it!

~~~
dharmit
Same here. I came to the HN comments to see if there was any other comparable
alternative in some comment(s)!

------
Leherenn
How do you choose what to focus on with structured mentoring?

It feels like current issues are too short term for this, unless it is a
fundamental issue like no having enough domain knowledge. Googling and/or a
quick discussion with your colleagues should suffice in most cases.

If it is a more general subject, how to choose which one? Obviously there are
a lot of things I don't know, but it's quite hard to pinpoint what would be
the most beneficial thing to learn right now; otherwise I would have
researched it already.

Maybe reviewing the recent work with the mentor, and trying to extract pain
points from there could work?

~~~
chrisbro
We have had success at my org by anchoring a lot of the mentor/mentee
discussion around our documented career ladder. If there's not a pressing
specific discussion topic for one of their meetings, they can always bring
that out and go through the ladder items to brainstorm ideas on how to
progress.

We also recommend mentors to sit in on some agile ceremonies with the mentee's
team to get a feel for how the mentee's dynamic is with their team, which can
spark some discussion as well.

Fundamental, long-term issues can include encouraging the mentee to be more
assertive, how to help their team become more effective, and how to approach
navigating the inevitable politics of the organization.

------
blablabla123
I wonder if this is something new, at least it seems to me new. Working now
more than 10 years in Software engineering, I never experienced anyone
appearing as mentor.

Nowadays I both have to mentor and get mentored. This seems so weird to me.
People did really well for years without it. People got really crazy skills,
came up with great ideas and wrote rock solid software. This works very well
when being both responsible and open to experimentation.

------
random_kris
i am looking for a mentor. I have 3 years of expirience of programming
profesionaly. Currently working as a backend java spring programmer. I am on
this weird spot where I am not junior anymore but I feel like my skills
lacking big time to advance to mid / senior

~~~
McDev
While you're looking for a mentor, take a look at this guide and see if it
helps. [https://github.com/kamranahmedse/developer-roadmap#back-
end-...](https://github.com/kamranahmedse/developer-roadmap#back-end-roadmap)

------
zwieback
I've been fortunate to mentor a couple very sharp young engineers, while I can
provide context and experience in long-term problem solving and project
management I'm finding myself learning a ton from these guys who have more up
to date coding skills.

------
jdbernard
I'll come back and edit this after I've finished the article but I have to
admit I'm skeptical about taking advice on mentoring from Uber.

 _Edit:_ My skepticism was misplaced. A lot of this advice is very good and,
as the site implies, practical.

~~~
mc3
This is not "Uber" but an employee of Uber who has worked other places too.

~~~
jdbernard
That's true. However, it does seem like the foundation for their mentoring-
related experience is Uber:

 _I joined Uber. Until then, I 've never received or done mentoring, or at
least never put this label on any activity I've done before._

I've never worked at Uber and I don't know many people who have. So most of my
knowledge of how Uber operates and of the culture they espouse comes from
places like HN. Overwhelmingly the press' depiction of Uber's culture is
extremely negative. Mentoring is one of those potentially formative
experiences in a person's career. Presumably the "Uber way" of mentoring forms
a large part of the author's experience and approach to mentoring. It was an
interesting divergence from what I would have expected. It's a good data-point
on the other side of all the negative we hear related to Uber.

