Companies who are in constant chaotic crunch time build tech debt partly because the people who would mentor do not have time or energy to help others.
I know that several times in my career, I've had a good mentor and I've grown hugely during those times.
I've found that you can mentor in different ways, some more effective than others:
Writing good, clear documentation depends on people reading it, which depends on them knowing it's there! Showing them during a group meeting rather than just mentioning the docs has a much better result.
Simply saying "my door is always open" doesn't get much in the way of engagement. You, as a mentor, have to put in some footwork attracting people and maintaining the contact. It's all too easy for a junior person to feel overwhelmed by sprints and deadlines, for them to push the mentor session out a week over and over. Or even remember to schedule a session.
It's also easy for the juniors to depend on the mentor-level folks taking care of the more complex things. It's faster, and during the everlasting crunch time, less burden on the junior. So to get the team benefit you have to spend the time going through the "pain" of having someone slower and less knowledgeable do The Thing.
(Maybe more as I wake up, I hope this is useful to someone and not complete bullshit!)
I run into this exact problem at work. I focus a lot on writing good documentation, and then no one can find it, or they ask me where it is. One solution I employ is just linking all documentation to a single document (like a table of contents) so people only have to remember 1 place to go. Only if it’s unclear on that table do they ask me, so it happens less often
I was thinking about this. I think its okay to be the index if it means you only need to spend a couple of minutes digging out the link and sending to them vs recreating the full explanation each time
My stuff isn't particularly popular, so it doesn't take much of my bandwidth (well, actually, one project is very popular, but that has been taken over by a fairly energetic and talented team).
The problem with docs is that unlike code, documentation has no mechanism to keep it updated as things change. Even something really close to the code like code comments tend to get stale. Separate docs are hopeless - unless you are the owner of the code and the doc, and have great discipline, docs are almost guaranteed to diverge from the code.
When this happens, it’s tough to say what’s worse - a stale, and sometimes wrong document, or no document at all. So, in my career I’ve come to rely less and less on docs, and more and more on just reading the code. Docs can lie - code rarely does.
>It's also easy for the juniors to depend on the mentor-level folks taking care of the more complex things.
From my experience, this isn't just the juniors. It feels "easier" (read: efficient short term, problematic long term) for the party doing the "teaching" and management wanting things to be done quick. This also makes it harder to raise mentors, since would-be mentors aren't acquiring the experience to become mentors.
This becomes even worse in places where bad practices and inefficient long term solutions reign. Best case, it keeps people from learning proper practices on their own thanks to all the friction. Worst case, it creates a cargo cult where bad practices are continuously hammered down and any attempt at breaking the cycle is met with even worse friction.
> Simply saying "my door is always open" doesn't get much in the way of engagement. You, as a mentor, have to put in some footwork attracting people and maintaining the contact.
The pandemic has made me realize I have so much to learn here. "My door is open" somewhat worked when we were all on site, and I sat in a place that everyone passed. But, people will not reach out to seek help, they don't really want to understand, and they're comfortable with confusion, and will just carry on with their work. That sounds negative, but I think it's the reality for many, and I need to learn to work with that reality. More importantly, I need to make sure that reality doesn't make me bitter.
I've found that just reaching out and asking if they have any questions isn't enough. They'll say no, because they don't know what they don't know, and are comfortable with the confusion that they're aware of.
So, what's a good way to maintain contact? Reviews? How do you get people to want to review code, without policy?
The first piece of advice stems from what has been dubbed in Silicon Valley “the small group theory.” It goes like this:
When working on any kind of problem, task or question, embed yourself in a small group of peers with broadly similar concerns.
And:
The second near-universal piece of advice is this:
Get mentors.
Those two pieces of advice, unlike most advice, hold for a very broad variety of contexts. Do read the column, but here is some further detail:
Mentorship can be general or specialized. I have had classical-music mentors, art-market mentors, country-specific mentors when I lived in Germany and New Zealand, foreign-language mentors, chess mentors, economics mentors, philosophy mentors, writing mentors and friendly mentors to help with the basic emotional issues of life. I’ve tried to find mentors for just about everything. Sometimes the relationship lasts only a week or a month, other times for years.
Aside from providing teaching and advice, the mentor, like the small group, helps make an issue or idea more vivid: A living, breathing exemplar of success stands before you. The mentor makes a discipline feel more real and the prospect of success more realistic.
As a corollary, in addition to trying to find mentors, you should be willing to become a mentor yourself. Even if you do not have advanced understanding in some particular area, almost certainly there is someone who knows less than you do and who could use assistance. Being a mentor also helps you understand how to learn and appreciate your own mentors.
A mentor doesn’t have to be older than you, and in fact some of your mentors probably should be younger, especially since technologies are starting to change more rapidly. If you are 50 years old, the idea of an 18-year-old crypto mentor isn’t crazy. If the metaverse turns into a reality, don’t look to the graybeards for tutelage.
I've not had a single notable mentor in a decade. Just managers, who change every two or three years, talking about career path to tick a box on the review process.
Long ago, I decided to be my own mentor, by assiduously documenting how I do things, technical questions I've had and their answers, and use this knowledge base as my mentor.
I have a very good friend, and we chat maybe an hour or so at a time, a couple of times a week.
I look to him for life advice and emotional support; not technical or career advice. He's not a career mentor; he's a wise friend, and what I treasure, is his kindness, wisdom and example.
He's quite wealthy, and is an experienced and successful businessman. I am constantly hearing stories from him about his business dealings, philosophies, accomplishments, and failures.
Most of it is stuff I listen to politely. They are good stories, and he needs someone that will listen to them.
Personally, I don't have use for most of this. I have no intentions of becoming a captain of industry. I like the guy, and I'm glad to be there for him.
But the thought has occurred to me, that there are people that would kill to hear the stories I hear.
> But the thought has occurred to me, that there are people that would kill to hear the stories I hear.
I would be willing to bet that part of the reason he talks to you and not those people is precisely because you aren't trying to leverage his knowledge to build yourself.
Good choice. I've noticed that mentors just repeat over and over what you can learn from a simple online search. There's not much benefits in listening to them.
I've had some people who I would describe as 'mentors' in retrospective, but they were just people I met who were a few years ahead of me in their career/life and were patient with me and helped me and were always up to talk.
These people exist, no need to be cynical about it.
I never said to somebody: “you are my mentor now”, but contributing to open-source projects I definitely had a couple of guys who helped me constantly over the years, of which I am genuinely grateful for.
Yes, that's my point. I don't think it's necessary to "go out and seek a mentor", just be kind to and stay in touch with people you run into who are good.
Doing it by yourself is okay for technical problems but it doesn't work for things like career direction where someone with more experience and a different perspective from yours is very valuable.
I've had to mentor a junior engineer recently and there has been lots of insubordination and questioning my knowledge, which I'm actually quite sure of, which has really been annoying. I think it stems from my approach of humility which inexperienced engineers mistake as lack of knowledge. Would not recommend being insubordinate or questioning your mentor if they have decades more experience than you or they will stop being your mentor.
As someone with a fairly confrontational style who has later grown older and more battle scared, I think you’re missing an important aspect of mentoring.
Mentoring isn’t about telling the person what to do, it’s about leading them to realize the thing you’re teaching on their own. Telling doesn’t work, they haven’t experienced the pain! Things you take for granted, they think are stupid. Because they don’t know!
Incessant questioning is a fantastic way to learn. The only other way than painful experience.
And remember, you are sure of your knowledge. To them it sounds like alien speak. They can’t relate.
Mentoring isn’t about telling the person what to do, it’s about leading them to realize the thing you’re teaching on their own.
I'd take this a step further. Depending on how similar the career tracks are for the mentor and mentee, mentors often won't or can't know the right answer for the specific situation the mentee is in. As a mentor, your role isn't necessarily to have the answer either, it's just to help them figure it out for themselves one way or another.
> Incessant questioning is a fantastic way to learn. The only other way than painful experience.
I am a questioner, but my group seems to be filled with people who aren't. How do you mentor those that seem to enjoy the pain route? I have trouble assuming that they'll ask questions when they need help.
I think my group is unique where most are highly educated, but from a non-software field, now doing software probably 50% of their time. From what I've noticed, the higher the degree in this non-software field, the fewer questions they ask, and the more comfortable they are with their confusion, even making up strange illogical explanations rather than attempting any real understanding. This group has cemented the idea that knowledge and problem solving ability are completely orthogonal.
I just stop mentoring people like that. Their loss, and honestly I don’t want to spend my time around such people anyway because some personality traits are just incompatible to work with.
As someone who spent quite a few year freelancing before getting employed, I had a hard time dealing with mentors and adjusting to the corporate world. Especially when those mentors were themselves still a bit inexperienced in their role.
I believe that a mentor relationship should be a two way street as I find that I learn best by teaching others but most people just want to have their ego stroked and feel attacked if you bring your own experience. The fact that I was able to solve most of my problems myself drove them mad.
So I had to learn bite my tongue and never argue or let them feel that I might know anything they don't.
Can I ever relate to this. I too like to consider myself to actually be very humble in my interactions. The person that was my junior was a complete pain to deal with. And then, the icing on the cake was when the project didn't meet its absurd timeline and I was berated for it.
When I play the role of mentor, I like to reverse that relationship as often as possible. I’ve learned a tremendous amount from being a mentor because I’m just as open to being mentored by my mentee.
I find that relationships break down too quickly if they are only one directional. And I wasn’t born fully formed with a big book of answers I could refer to whenever I needed.
It’s also a good form of training. It’s hard to be mentored and it’s hard to be a mentor. If I make the relationships two sided, we both get to practice both sides…
This +10 (if I could). Whether you really enjoy a bit of mentoring, are just trying to be a nice old man, or it's officially part of your job, you have to be picky about who you mentor, and what the mentoring relationship looks like.
First cut: The kid must have decent emotional maturity, appreciate your advice, and really benefit from it. Definitely don't let yourself be tagged "mentor" until those are clearly established. You ain't signing up to be the long-suffering parent of some teenage rebel.
(That said, my experience with younger folk has not been nearly so bad as Dave3of5's.)
+1000. Almost everyone who's "singled" me out to be a mentor has been some greedy CS + Business grad who asks me mostly emotional or money-related questions that I essentially can't answer other than with "It depends on you and what you personally want."
This one guy specifically, who keeps reaching out to me, once kept me on a call for almost an hour basically asking me whether or not he should re-neg on an offer he signed ONE WEEK BEFORE THE JOB STARTED because he'd kept applying and got an offer somewhere else that paid more. I basically said "I mean if that's what you really want, you should do it, but be aware that the tech world is small and it's not going to look good" and he just kept trying to rationalize it because he'd clearly already made up his mind.
Another time, he sent me an email that started with "I just wanted to thank you for your help last time" but then immediately would delve into some other totally asinine quandary he'd gotten into because he had no integrity and/or trust in other people.
There are few words that have lost as much meaning and impact in the last decade than “mentor”.
An assigned mentor isn’t one. They’re either a boss, a peer, or an onboarding helper.
Mentorship is deeper, lasts longer than just being at one job, and isn’t something that everyone is going to get. In my experience they’re very rare, and rarely is the word mentor used in relation to it, expect in hindsight.
Look, I think assigning a mentor isn't a bad thing to start. It gets people who are interested or required to "mentor" (defined here as supporting the development of less tenured/senior employees) connected more easily with the target folks who need/want/are required to have mentors.
Then, if it sticks, it sticks. If it doesn't stick, it at least provides some context for both the mentor and mentee if that relationship or the idea of mentorship wasn't executed well.
Agreed that many times, it is an onboarding helper and someone who just acts as a friend you can ping in the early months of starting.
Shameless plug: I made Hangswith so I could book a meeting with a career mentor and pay them the equivalent of a nice bottle of wine for an hour of their advice once a quarter.
It's basically Calendly with a more personal profile which makes you easy to find via search engines and easy for someone to find a time, book you, and pay you.
EDIT: if you offer career mentorship, or chess coaching and wanna join, you're very welcome to!
A little constructive input: Seeing more of the people who you can potentially book calls with might make people more willing to sign up. I'm interested, but with only 3 examples it leaves me in the "Ehh I'll save this and think about later" zone. Good work though.
Based on your feedback, I updated the homepage to move the talent to the top of the page!
There are 6 bookable people so far (28 users total, but most sign up just to make bookings). Now all 6 bookable users are visible on the landing page without having to scroll.
Thanks again for the honest and actionable feedback!
The best mentors are those who make time regardless of if the world is on fire to help you out. Not many people are willing to do that.
When you see that, hold onto it as long as you can because it can go away in an instant.
If you are on the other side and now doing the mentoring, you need to make it your highest priority. Pay it forward to others.
This is a beautifully put sentiment on appreciating those who didn't have to help, but chose to anyway. It all starts with you simply asking somebody. I asked people out of my league to mentor me and they took it on because I was the first to ask them. Being open to invite others to do the same to you is equally important. There's always something to learn from each person in the world.
One of the most valuable things about a conversation with a mentor is getting insight into their thinking processes: how do they decompose a problem into smaller parts, what mental models they make use of, etc.
Given that, in my experience I've always learned a lot when I've asked my mentors to talk about a challenge they're currently facing and have them ramble on about it while I ask clarifying questions.
I've wasted countless hours justifying every significant step during pair/mentoring sessions. I loathe theological arguments where things just are, so I try to give it my best.
Sometimes it pays off but I've had young know-it-alls fighting on every step in the process of fixing their shit. Ego is what makes or brakes a man/woman
I've sort of become the defacto front end expert at our company, and accordingly people will reach out to me for help all the time. The questions tend to be sortable into two buckets:
1. Questions where the asker has thought deeply about the problem and has some specific technical hurdle that isn't necessarily straightforward and requires an expert judgement call.
2. Questions that show the asker has absolutely no understanding of the problem at hand, where I will have to spend 15 minutes just getting to the root of the issue and explaining why their reasoning was fundamentally flawed. Then we can start addressing the actual issue.
I'll spend all day long happily helping people with the first type of question. But I really have zero patience whatsoever for the second type.
My issue is that I rarely meet people who would answer my questions in a satisfying way. Usually I have to ask question after question for a frustrating amount of time to understand something and not leave the topic with "yea it is clear" when it is not. Its fine with coworkers and in regular life but I would need a person whom I would call a "mentor" to be able to, you know, teach me something and usually it feels like I am using others to learn myself.
Holy crap. Thank you so much for this. It was a light bulb for me.
I came here to say how much I liked this article. I don’t have any real nuggets to add. In the last 10 years, we’ve had 8 young summer interns go through our group. It’s been quite a variety. I’ve helped place two of them in later jobs I became aware of. I have regular contact with them. I enjoy our friendships. One of them does intermittent contract work for us. I liked passing on some of the passion for programming I’ve enjoyed, even if there’s been some raised eyebrows.
Many of my similar age cohorts at work have commented that I really seem to enjoy teaching and think I would enjoy that a lot.
A couple years ago we hired a slightly experienced (few years out of school, one job under the belt) person to work with us. It did not go well. Me being the overly sentimental “let me overthink this” type, it’s been really debilitating for me. Our final year of attempting to make something work, was particularly painful and hurtful. As an opportunity opened up for this person to do something else in the company opened up, they shared that my office mate (who does more hardware) and I were possibly the worst mentors. That the company (with a high median age) was as a whole terrible at onboarding people. This has really hurt.
Until now. Because your comment just clicked for me. For four years, what was driving me nuts was that this person demanding a tutor. And not being a very good student either.
Seriously, this comment has made my day. Thank you.
When someone asks me something and I want him to learn something, I'm trying to answer enough for him to be able to continue learning on his own. He's supposed to go on his own research after that.
Mentoring is turning to the right direction, but you need to walk your path yourself to really learn something.
Just answering the questions is something like consulting which is fine but not really counts as mentoring in my book.
> When someone asks me something and I want him to learn something, I'm trying to answer enough for him to be able to continue learning on his own. He's supposed to go on his own research after that.
This can be done so many ways. I had "mentor" who used to point out a line in the log or a file and just say "This shoud give you a hint." No, it did not. I know it's there, I need you to tell me why it's significant so that I can go from there. Just playing "guess what I'm thinking" wastes time for both of us. If I'm too dumb for you then come down to my level or ask someone else to mentor me. Just being wise mysterious office Yoda just isn't helpful.
At some point they have to be able to do things by themselves.
Sure from a pedagogical POV you don't want them stuck forever trying to make a leap they can't yet make, but being hand fed answers doesn't really work at making the underlying heuristics and cognitive habits (and sometimes info) stick.
What are some good starting points for finding a mentor as student, if you’re not working as a junior developer yet? Not having a senior developer, who’s there to answer your programming/career questions, seems to be one of the biggest downsides of not working for a company.
One thing to try might be contributing to Open Source?
Choose a project that looks interesting to you (ideally with a large community and modern tech stack) and join their Slack/Discord/Mailing List. You'll need to be patient and humble and it's going to take a while until you feel really comfortable, but read a lot, ask questions and try to contribute small bits here and there.
This will put you in touch with many interesting and experienced people, plus it's usually a great learning experience.
A good way to find mentors when you are a student is to join a developer communities.
Here are some ways:
1. Join local Meetups: There's no substitute for offline communication.
2. Join Online community on Slack/Discord/IRC etc: Pick your favorite tool(programming language, framework, libraries etc) and get involved on Github, StackOverflow.
Also, you need to balance the relationship. How do you add value to their life is something to ponder about.
Get involved in undergrad research at your department. And if you do so, work in person with your mentor and team. You won't get much out of it unless you're immersed in that environment and get the connections and social growth from it.
I was involved as mentor with BuiltByGirls for a while but I ended up dropping out. I had too many matches that blew me off, or wouldn't respond to emails, or just disappeared. I was averaging like 50% drop-out rate which just screams that it was not worth my time.
I struggle with the distinction between mentors and employers. Any one got any advice for me?
I am struggling with getting my first job in sales but I am not sure what should I seek. A mentor or an employer. I assume for a mentor I have to work for free or take a reasonable payout because he would spend reasonable time in helping me grow. But how do I figure out what is this 'reasonableness' when money is involved?
You want a job that pays you money. Mentoring is an overhyped word like agile.
A true mentor is someone who teaches you how to think. A mentor will want to help you succeed because he appreciates you.
Personally I avoid selfish people who gossip like the plague. For moral standup trustworthy people I go out of my to help them succeed even if that involves me poo pooing their work so I can show them a better way. For those Macchiavellian types, they usually piss so many people off. All I have to do is snack on popcorn while watching the drama they unleash. They are usually gone before I can remember their name.
Thank you for sharing this - I wish I had read something like this much earlier in my career.
Sadly I am unable to properly thank my mentors of 25+ years ago but perhaps I can still send a nice note to those who more recently are "someone who answers questions more than once.”
I know that several times in my career, I've had a good mentor and I've grown hugely during those times.
I've found that you can mentor in different ways, some more effective than others:
Writing good, clear documentation depends on people reading it, which depends on them knowing it's there! Showing them during a group meeting rather than just mentioning the docs has a much better result.
Simply saying "my door is always open" doesn't get much in the way of engagement. You, as a mentor, have to put in some footwork attracting people and maintaining the contact. It's all too easy for a junior person to feel overwhelmed by sprints and deadlines, for them to push the mentor session out a week over and over. Or even remember to schedule a session.
It's also easy for the juniors to depend on the mentor-level folks taking care of the more complex things. It's faster, and during the everlasting crunch time, less burden on the junior. So to get the team benefit you have to spend the time going through the "pain" of having someone slower and less knowledgeable do The Thing.
(Maybe more as I wake up, I hope this is useful to someone and not complete bullshit!)