Jumping over to Reddit for another topic! What's a senior software engineer or tech lead supposed to do when it comes to mentoring other developers? What should they focus on?
📄 Auto-Generated Transcript ▾
Transcript is auto-generated and may contain errors.
all right folks I'm just leaving the office I had a real big presentation today it actually went very well went uh I would say approximately infinitely better than the first one a month ago so that's a good feeling um sorry if it's a little loud I'm backed into this janky spot so the exhaust is against the wall um we're going to go to Reddit for a topic this one is what are your mentoring philosophies SL strategies and I wanted to mention because I was reading some of the comments um on YouTube someone was saying hey by the way like if you're going to Reddit would you mind sharing the link like to the the post and they uh and you know I I very appreciative of this they said I know that this channel for you is like low low effort low editing like that
kind of thing uh so thank you for acknowledging that but they said hey if you don't mind could you do it and I just wanted to say like I can try but uh what I might encourage viewers to do because I would appreciate it a lot is a lot of the topics I'm getting are from uh the subreddit experience devs so if I'm telling you what it is if I don't get around to putting the link in if you don't mind uh if you want to go to Reddit and get the link and also if you wouldn't mind if you'd like to share the video if you thought it was helpful to Reddit on the thread I think that would be awesome I'm not allowed to do the self-promotion I don't want to get banned for doing that but if you watch it and you
thought it was helpful would mean a lot to me because I'm doing it for free and if you help other people watch the videos that's uh it's great stuff so um so this person says I'm an extremely extremely senior Dev who has been doing this for longer than I care to mention uh while I enjoy working collabora collaboratively on teams and have held team lead roles over the years I think at heart I'm an IC one of my favorite parts of the job is burrowing into a mey development task on my own that being said I know that for senior folks mentor is an important part of the role which is true something I'd like to get better at towards that end I'm curious to hear from folks who enjoy it and are feel they're good at it I'd be interested to hear how you
think about mentorship both at the high level what are your guiding principles and at boots on the ground nuts and bolts level so I think Super valuable conversation um and before I do that reminder for folks uh if you want questions answered please leave them in the comments I prioritize those over going to Reddit and um if you have something that you want to write more detail about or be kept Anonymous please uh just reach out to me on social media my main Channel and my social media handle is Dev leader um that main channel has more edited videos uh not just me ranting in a car and there's tutorials for programming and stuff like that but uh yeah if you send me a message on social media I will keep you Anonymous and I'm happy to try my best to answer your question okay
so little bit about me before I actually explain my perspective on this because if you're new to the channel you might say who the hell is this guy to talk about mentorship and you know senior Dev perspective and rightfully so um this is the internet and I am just a random ball dude in a car which is absolutely Fair uh so I've been managing engineering teams uh for just under 13 years at a startup That Grew into a midsize company a couple hundred people uh from about seven and I work at Microsoft now as a princible uh engineering manager been doing that for just under five years now so uh seen some and happy to try and talk about it and a lot of my focus has been this journey from going from an IC uh to a manager but from a little bit of
a unique path because early on like very early uh I was put into a management role but I was also an IC at the same time so uh you know literally a few months into my full-time work outside of University and internships I was made a manager and was still an IC at the same time and I did that for about 8 years right so trying to ride that line between IC work trying to figure out how to be a good manager um so that's a little bit about me so you understand why I'm sort of excited to talk about this and and maybe uh sort of to give some background for where these experiences are going to come from so um I guess I wanted to start talking about maybe let's back up and say that I think I agree for senior level roles
the expectation will be like I don't want to say every single place but there is an expectation that you should be able to help Mentor uh and help you know sort of the people around you right there's more Junior people uh you want to be in a position and you're likely expected to be in the position where you can give them assistance you can help them grow um that kind of thing now not to the same level where like an engineering manager is going to be responsible for that person's career progression but sort of like when you're becoming more senior the scope of your impact and enabling other people to be successful like that that is an expectation like I said for most places so um I think this person is you know I think it's a good reflection where they're saying I've been doing
this for a long time I really just enjoy like the coding part but I do want to get better at this um so you know I think it's awesome because I I do think it's a big part of the role personally now if we think about guiding principles um and I I want to I want to be able to kind of split my thought process between as a as a senior engineer so like as a senior engineer versus like me as an engineering manager where I might draw um some of the lines oh man I'm not going to make it through this light um it's a really awkward light by the way so it's like there's a green light but I can't actually get to the other side because I'm going to be stuck in the middle of the intersection when it turns red and
there's a highway um but yeah I want to make sure that I can think about my responsibility as an engineering manager when I comes to mentorship versus expectations for a senior but maybe from a a philosophy perspective when I think about mentorship and and helping others um I think I think it invol it might sound kind of weird I think it involves like a lot more listening than people might expect and it's uh it's actually kind of like a weird challenge because when you feel like you're in a position where there's an expectation that you're mentoring people right like the expectation is you're helping them so what do you want to do well you're a software engineer what are you really good at you're really good at coming up with Solutions so you're talking with someone and let me know if this sounds familiar someone's
talking to you and your brain's like okay there's a solution for it there's a solution for it there's a solution you might even do this outside of work and in fact I was talking at lunch today uh with some people that report to me we were sitting down having lunch together and uh we were we were joking uh that like one of one of the guys was saying he's noticed when he has a conversation with his girlfriend it's like sometimes your girlfriend doesn't want solutions from you and I said I have heard this from My Wife and it's funny because uh my wife uh is a therapist and so she understands psychology very well and stuff and she'll call me out when I'm doing it because she'll be having a with me and she really she wants to vent about something she wants to you
know kind of get some things off her chest and she's talking to me and I'm almost like trying to inject being like well what if you tried or like have you thought about and she's like look like shut up she's way more polite than that but you know like I'm not I'm not talking to you about this because I'm looking for Solutions right I'm talking to you about this because I'm trying to express that I have you know frustration or you know feelings about something I just want you to listen right so don't worry I'm I promise I'm going somewhere with this um but the idea is like you know as software engineers and like I would say probably engineering mindset in general is that we're often trying to jump to Solutions and I think that when it comes to mentoring people your brain might
be going there a lot and I certainly don't blame you but what I would recommend is like you want to work on on being able to listen more so there's two things right listening and asking questions and both of those things might feel wildly uncomfortable and I say that because if you're doing more listening and doing more question asking neither of those things are coming up with Solutions or offering Solutions right so someone might be talking to you and maybe this is a you know you're a senior engineer on a team and there's someone more Junior that's stuck on something or they're having some challenges with something so they're talking to you about it and immediately your head is like oh like have you tried doing this have you tried doing that right whether it's a technical solution or you know uh there's a more
Junior person that's like I need help with a design dock or I don't know how to do it or uh they're looking for some help when it comes to collaborating cross teams and immediately your brain is like here's the solution here's the solution you have to practice shutting up which is very difficult because you want to solve problems and I totally get it but a lot of the time when it comes to mentorship it's not necessarily about you solving the problem immediately and I'll say it again when it comes to things like mentorship and coaching I would say this person's swerving all over the road um that's not what has to do with mentorship and uh in coaching but uh it's very distracting when it comes to mentorship and coaching it's not about solving you solving a problem immediately and I think what's more important
is getting people to think through things now when I was saying like more listening and more question asking let's let's drill into that a little bit more right so the listening part is like you need to give people some space to be able to talk through things right that's important the other part about listening is so that you can actually understand a little bit better right cuz sometimes especially if you're newer to this someone will be telling you something and you're like okay I see the I see the problem on the surface and um the challenge is that you're seeing the problem on the surface and um because you're not spending enough time listening and trying to understand it better you're missing what the actual sort of root of what's going on is right so I'm trying to think of a good example of this
oh man come on buddy get out of this Lane get out they're trying to move over lanes and they're they don't understand how to merge um if you're what's a good example come on brain do the thing um someone is complaining okay let's let's go with this this is going to be a little rough but please bear with me um you're trying to help someone that's a little bit more Junior and they're trying to work through a project right and they're expressing to you that they have concerns around a deadline being met they're like oh this deadline's coming up I'm falling behind and like they're talking to you about this in a way where they're like I need to they're making it sound like I need to move faster like I don't know how I'm going to convey this and if you don't listen more
and give them some space to talk and you're like oh like let me just try to propose a solution right and if you don't ask them questions and get them to explain more again giving them more time time to talk through things you might not have the opportunity to uncover that they might be blocked by someone else as a entirely different dependency and here you are trying to propose solutions that really don't help move anything in the right direction soor we had to move some Lanes so you want to make space for people to to talk and I would encourage you that when you're in this position where you're like I want to I want to blurt out the answer like I want to tell them what to do instead ask someone a question and it's hard it's really hard because instead of saying the
answer is X and blurting it out you have to ask them another question now you can do a little bit of steering with the questions and depending on who you're coaching and trying to navigate things with sometimes some steering is necessary right like you might have a solution in mind and you're going to steer them in that direction But ultimately if you give space to people and you ask them questions a lot of the time you've heard about like rubber duck debugging right it's a very similar thing people will come up with Solutions on their own right people are smart people are smart sometimes they need to talk through things though and when you're asking them questions and getting them to express their thoughts and like so in this example I don't know if this is going to be a good example to continue but
it was like okay so the deadlines coming up and uh you feel like you're you're really concerned about how you're going to either shift gears on this or report that you're failing or whatever like okay so like um you know what have you been working on right and it's all I've been working on this part of the project I'm responsible for this oh okay like and uh so are there other dependencies or there other pieces that are being built here yeah well there's this team and that team and you know someone else from our team working on these parts oh okay and like are any of those pieces that people are working on like do you depend on any of those oh well yeah like this person on this other team like I definitely need them to land their code oh okay like interesting so
you're are you blocked on them right now or like are they've landed their stuff oh I'm definitely blocked oh okay well you know have you um have you had a conversation with them yet about the progress well well no cuz I you know they're they said that they were going to be done by this date and they're not so like I mean it's kind of their problem right like they're holding us all back okay so you're telling me you're blocked on this person and they had promised a date but they haven't delivered and you're kind of stuck in this situation but the reality is it's their problem because it didn't land it right like so you you get people to kind of uncover things for themselves I realize I'm giving you a very contrived example so sorry for making it sound like but I hope
you get the idea it's like you get people to explain what's going on uh and then you get to this point where like have you have you tried or what have you tried so far if you watch my other videos this is a very common thing where I'll say like when you're getting people to do problem solving what have you tried so far right so in this example where it's like well no I mean they were they were supposed to deliver and they didn't and it's like well have you tried talking to them about it and maybe they have right maybe it's like yes I've tried um okay and how did that conversation go well they said it was delayed by a week okay and like when you keep drilling into things like this you might realize that there's an underlying problem like maybe someone
in this case is like that's a more senior developer and they don't feel like they have the uh the I don't know Authority or whatever to be able to kind of question them but like hey look if someone's blocking your work like you need to bring visibility to it somehow this goes to another convers ation that's around ownership right if you're responsible and you need to take ownership of something if someone's blocking you like bring visibility to it right it doesn't mean you have to like throw them under the bus and be like this is not doing their work but like hey look I can't do my job effectively because I am blocked by this right but you can help others kind of come to this realization through asking questions back to them there was um there's not a lot of training that happens with
Managers generally and it's unfortunate because when you get into management or even if you're just trying to do a better job mentoring people I feel like there's not like you I haven't seen ever like formal training at a company that's like you know we know that going from midlevel to senior is going to involve more mentorship so here's some formal training to do it we just kind of like expect people get good at it right just do it just be good at it but it's like it's not it's not easy it's not straightforward like I've been doing this for almost 13 years and I'm I'm still like I know there's better ways to do things and what I'm doing there's always room for improvement and I can tell you for damn sure that how I approach this stuff is different and probably significantly improved to
when I started because yeah I still have a lot of room to grow and improve but Man compared to when I started I definitely have learned at least a couple of things like how to turn on my lights when I drive so I'm not like that we need the 360 cam for this kind of stuff so we don't get a lot of training this way and I would say that at Microsoft I I was fortunate enough where they they do like these um sometimes there's like required learnings and stuff and some sometimes to be honest it's like it's like some virtual learning thing where I'm like okay like I don't have a choice I have to go click through this thing and read and I'm like I get it you know they're trying to train us on whatever it's like a very simple like security
thing or whatever and it doesn't you you know that it's like it's mandated for everyone and it doesn't feel like there's like sustenance to it but you understand it's important we had a a coaching one a couple years back for managers and I remember thinking like oh here we go like some mandatory like training I you know going through my head is I bet you it's going to be because I have never seen training like this that was good let alone like any training uh I'm just expecting it to be crappy right like we have to check a box to say we're going to train people on this stuff or provide an opportunity for it and I'll be completely honest I thought it was awesome and I don't think that in that training was necessarily anything like fundamentally groundbreaking except for how this person was
framing um framing like the almost like the whole meta point of of the training itself and he kept saying like this is for managers but this is applicable for for mentorship I believe he kept saying be lazy managers need to be lazy and it's he's doing it obviously because it sounds funny it's memorable that's why I'm reciting it right now but like you got to be lazy you got to be lazy and what he's not saying is truly that you got to be lazy and not do any work but his entire point was like when it comes to coaching people the idea of being lazy is like stop jumping in to go solve people's problems if you're being lazy you're sitting back right you're giving people space like so again the whole point was for it to be memorable and I thought the framing was
super helpful because now in my mind if I'm if I know I have to go into a challenging conversation or I know that um someone's looking for some extra guidance I need to be able to coach and mentor on something in the back of my my mind I have this this thing that's like be lazy right you know that you want to go try and solve this person's problem be lazy now I might also be trying to solve the problem uh cuz that's really hard to turn off but at least I'm not going to jump in and tell them here's how you go do it okay so spent a lot of time talking about roughly the same thing because I'm really good at rambling um but I hope that part's pretty clear um there's a couple more things and I've talked about this at length
in other videos but I'll I'll say it again because I kind of hinted at it earlier but uh in general when we're talking about coaching and and mentoring and stuff like that I I was giving you sort of like really high level kind of generic thoughts just now um something else I would mention that's maybe a little bit more I don't know tangible is like when people in full disclosure I've literally made entire Vlog entries on this probably more than one but when people are coming to you for help specifically right like I need help on this thing this is a lot more applicable uh especially for individual contributors less for like team leads I mean it'll still happen in tech leads but especially as like an individual contributor and you're just trying to help other people I'm stuck on this problem right like I
need help uh and the one piece of advice that I recommend for you is to ask people what they've done so far instead of just jumping in to give them the answer this is a very simple cue for you and honestly if uh if you have been in a position where you are feeling overwhelmed because people keep coming to you for help and the way that you're trying to get out of it is you're like okay just like move out of the way let me solve it for you let me just give you the answer you will find that this problem doesn't get better in fact it just likely gets worse and the reason that it gets worse is that because people have learned and not like not maliciously and not because you intended it to be this way but people have learned if they
need a problem solved they just come tap you on the shoulder and it's going to get solved very fast it's like a path to least resistance so what I say in these scenarios when you're trying to you're providing mentorship to people sort of at the more basic level which is just helping them kind of Na and solve problems is like stop giving them answers and it might feel a little bit a little bit more painful in the short term but ask them what have you what have you tried so far get them to try things first right push back on them get them to try things you can point them in a direction and they might come back with more questions but over period of time this strategy will absolutely I mean I I can't say with 100% confidence but I feel pretty good about
it my experience over a little bit of time over time this will get better because they're forced to learn and I get that in the short term it feels like ass right I've literally felt like at work I'm drowning in helping people not because I'm so amazing but there was a point in time where for a particular code base I happened to have the most knowledge and it wasn't a great code base I wrote it but because there were other people that needed to navigate it they were like hey like how would you go approach this or where can I find that and we had more Junior developers right so how do I do this in C and I would spend my entire day literally my entire work day just going around to people's desks and helping them and then when everyone would leave I
would do my work and I was like I don't understand like I keep helping people and it keeps getting worse and then the answer especially if you're like putting your hands on people's keyboards don't and if you're remote you know if someone's like help me and you're like okay I'll share my screen and show you don't hey person I'm helping you share your screen you're going to drive right I'm going to give you some guidance but you're going to drive this and it might feel pretty painful but I think that it's a good strategy long term so please try it out um more let's kind of talk about more philosophical things I guess cuz I'm getting close to home and I I feel like I don't know if I had concrete ideas on this before or getting into my little rant here but um I
feel like maybe there's a couple of uh philosophical things when it comes to mentoring that I'd like to to touch on um maybe something to think about is like I want to say that you know especially because this person that wrote this Reddit post was like they do enjoy the code right like that's where they enjoy spending their time I actually think it took me a very long time to feel fulfillment from helping others in like an obvious way which is maybe sounds kind of funny because uh I think there's probably inherently something that feels good about helping other people probably for most humans um but when you're used to being an individual contributor and you know that like the more you know bugs I'm fixing or features I'm delivering like those are the things that feel like are moving the progress it took me
a long time to realize like that by helping other people um the the impact I might be having is greater it just looks different it's less like directly tangible so this is just my reminder for folks that are like yeah but like it's such a pain in the ass to like be helping Juniors or or whatever else right like I just want to I just want to look at code I just want to be able to have Focus time like I understand especially if that's the part that you really enjoy I totally get it I'm not here to say like that's a wrong thought that you're not allowed to enjoy like heads down time and and get done but like if you're feeling like there's no impact from what you're doing I don't know I don't have like a good metaphor it's like planting a
seed or something and then watching it grow uh I don't have a metaphor that's not super cheesy like that but um I think that it it actually lets you scale your impact because when you're one person writing code you might be able to code some awesome stuff and that's great and you might enjoy it and that's great um but when you can start having an impact on other individuals it's almost like multiplicative I guess is how I would think about that and um I don't know like I feel like it just took me a really long time before I I actually started to feel that way so I'm saying this not to like to say Hey you better feel this way you better you know get on board with mentoring people and love it I'm just saying that I understand if you're feeling some some
friction or you're feeling like it's not fulfilling a rewarding or it feels like a distraction I can absolutely resonate with that but um it did take me a long time before I started to realize that and for me like I said I was an IC and a manager for8 years and it was probably in the sixth going into seventh year of doing it where I started to realize like hey if I spend less time actually coding I'm actually able to have greater impact now there's more things aside from just mentoring people but that's that was part of it so now even even at Microsoft right like I have my own team that I manage I still volunteer for like programs like early and career mentorship circles and that's because at this point I actually like selfishly it's like very fulfilling to be able to to
help other people so it just took a long time for me to have that realization so uh I encourage you like try it you know stick with it for a little bit before you give up and say it's just frustrating because I think it's helpful um so let's see I don't know if I'm ready to summarize I still got a few minutes left you're going to be stuck with me unless you turn it off right now um but I think that listening is very important it's difficult to do but giving people's space to talk is helpful um gives you this opportunity to ask questions and listen more and few reasons for this are to uncover more information get to the root of what's going on and this way instead of you just blurting out answers and trying to solve problems um you might understand the
problem better you can do a little bit of guiding through your question asking but ultimately um you'll find the people often times they come up with solutions for their problems and I think that can be very helpful and it's very powerful because if you just tell people what to do um I think that's not like a super effective um strategy and then one of the other things I said was around like you know letting other people you know like don't put your hands on the keyboard ask people what have they done so far kind of what's the saying like teach a man to fish and he'll have food for life kind of I don't know what it is but you know what I'm talking about don't pretend like you don't but that's the idea right if you're just giving people answers then no super effective
might feel like in the short term I think that's it for that though I'm just trying to think if there's anything else I want to add I don't know if this person had anything else I didn't really this is one of those examples where I didn't scroll through and read a bunch of answers um that might be it so stick with me for a couple more minutes because I'm just getting home or leave it's cool but if you're going to leave um leave me a comment at the same time what are your tips or strategies for mentoring others do you find it fulfilling do you find that you're forced to do it is it just something you do because my boss said so or because I need to get promoted or is this something you kind of like discovered like I like doing this and
I do find it helpful and it is rewarding be curious to know by the way when you share different perspectives like this um keep in mind like other people read this kind of stuff and like that could help them that's why I'm making these videos right like I'm just here blabbing about my experiences it's kind of cool people watch and I appreciate it but uh you can be part of that right leave leave comments let people know what your experiences are I'm just sharing one View yeah I'm trying to think if there's I wanted to see if I could share maybe some perspective on on the receiving end of of being the mentee and part of me is like I don't want to I'm like struggling to think of an example and I'm like that's going to sound weird if I'm like oh no one's
ever helped me or no one's ever been a mentor to me but I'm trying to think like I need to start categorizing like are those good at positive experiences that I want to talk about and like extract like a metap point from or where they may be not effective I don't even know if I can categorize them um okay maybe if I reflect on some whether it was my I don't know like an internships or anything else it at least for me what I found was very helpful was like I had people that would Mentor me that would give me like give me space to like they didn't leave me stranded let's put it that way but they but they gave me space to like explore things right and like I think that was helpful for me so what I mean by that and this
is actually I'm I'm thinking specifically about a couple of internships I had you know they my what I know you would call them like my intern buddy or my manager I don't even know what the reporting structure was call them let's just call them my manager as an intern um they wouldn't tell me exactly what to go right in terms of code they wouldn't say like hey there's a bug and like here's the lines of code to go fix it just like you have to be the person to go type it right so they gave me space to be able to say like here's what we're trying to achieve and like we trust you and what was nice is like I might be wrong the first time but people gave me this safe place to be like look like we we're going to give you
some guidance here and like it's okay like go try right and I think that I really appreciated that because that's where I was learning that's where I was getting experience and um it never felt like never felt like it wasn't supported never felt like people were basically just saying like here's the code you go type it yourself but it's like they trusted me and I think sometimes giving people that kind of opportunity where it's like look like I believe that you can go do this and if you're getting stuck you know here to support you but you know you're you're like an adult like go go try and it felt that um yeah I think the best word is trust I felt like people trusted me to go try something and I feel like if it would have been that they didn't trust me and
every time they were having a conversation with me about like work I had to do if it was like oh boy like don't know if you're going to be able to do this but um I don't think that would have been as effective so I just think that's something I really appreciated so something to think about when you're helping others but I'll wrap it up here thanks for watching Remember mentoring people very helpful and uh I'll see you next time take care
Frequently Asked Questions
These Q&A summaries are AI-generated from the video transcript and may not reflect my exact wording. Watch the video for the full context.
- What is a key principle to keep in mind when mentoring junior software engineers?
- I believe a key principle in mentoring is to listen more and talk less. Instead of immediately offering solutions, I focus on giving people space to express their challenges and ask guiding questions. This helps uncover the root of their problems and encourages them to think through solutions themselves.
- How do you handle situations where junior engineers frequently ask for help?
- When people keep coming to me for help, I avoid just giving them answers. Instead, I ask what they have tried so far to encourage problem-solving on their own. This approach might feel harder initially, but over time it helps them learn and reduces dependency on me for quick fixes.
- How did your perspective on mentoring evolve over your career as a senior engineer and manager?
- It took me a long time to find fulfillment in mentoring others because I originally enjoyed coding more. Over time, I realized that helping others has a multiplicative impact and can be more rewarding than individual contributions alone. Now, mentoring is a fulfilling part of my role, and I encourage others to stick with it even if it feels frustrating at first.