Soft Skills Engineering - Episode 343: Tech lead/manager and discouraging seniors

Episode Date: February 13, 2023

In this episode, Dave and Jamison answer these questions: A listener named Mike asks, I’ve been offered an Engineering Management position at a company I previously worked for. The tea...m is very small and composed of juniors and mid-level developers. The role is also completely new and because of the size and experience of the team there is some expectation that the manager will also have a fair amount of involvement in PR reviews and likely also writing some code. Is this common? Do you feel like a manager can also be a team lead from a technical perspective on a day to day basis? What should I be thinking about when considering this role? ‌ How do I keep up juniors’ morale regardless of bad code/ideas? I work in a team of 4-5 developers. We have one junior, one mid (me), one senior and our team lead. I think we mostly work well. However, sometimes the senior and team lead sort of talk down at the junior. For example, in a meeting talking about how to solve a problem the junior will propose an idea, but the senior and/or both team lead would respond by saying that no its not a good idea which is fine. However the tone of the voice often hints ‘oh you should know this it’s obvious you jamoke’. The junior has started to stay quiet and has told me he doesn’t feel comfortable asking the seniors for help. I’ve interjected in meetings to say I understand why the junior might have this idea but I don’t think it’s the best solution. What should I do? Should I talk to the senior/team lead? Do I just let it play out?

Transcript
Discussion (0)
Starting point is 00:00:00 it takes more than rewriting your io bound crud app in rust to be a great software engineer this is episode 343 of the soft skills engineering podcast i'm your host jamison dance i'm your host dave smith soft skills engineering is your weekly advice show on all the non-technical things that go into the technical thing of software development and also this is a palindrome as dave pointed out in our prep three four three rust is not a palindrome though no but it's really good at finding them because that's a cpu bound operation yeah we've got to make sure your string memory access is safe in this interview that's right toy problem uh yeah i mean man all those times i've uh created palindrome solvers at work that had buffer overflow vulnerabilities
Starting point is 00:00:58 how shameful yeah this time i reverse the link list safely so many data breaches caused by palindrome finders with buffer overruns yeah uh do you want to thank your patrons dave i do a big thank you to those that are contributing at a level that gets them a weekly shout out they are Andres Reales, Connie Lee Valentin at Datafold, Santa Hopar Noah Frazier-Lowe, Kent C. Dodds, Jenny Kim Owen Chartle, Craig Motlin, I Love Mavis The Stochastic Parrot, Alice Jost
Starting point is 00:01:27 Lon Fuer Oh jeez, I give up. Go, go, go KoshoktonOhioPatreon.com.au That's my move I learned it from the best Ira Chan, MonkeyFaceEmoji, Jonathan King TestingIsDocumenting.org, Ola Dapofadiyi Will Angel, Agnerer
Starting point is 00:01:43 Nick Hathaway, Travis Sanders, Braden Caines John Grant, Bartek Tutkowski, Cody Sale, Nick Cantor, and Philip Jambaseel. If you'd like to join this list of emojis, names of unpronounceable cities and pronounceable cities, websites, and actual given names of real human beings, and rearranged letters of given names of human beings, you can go to softskills.audio and click the support us on Patreon button. If you contribute at the top tier, we'll say your name every single week. And if you contribute at any tier, we'll invite you to our Slack workspace, where you can not work, but you can talk about space. do you ever want to feel like you're at work but not work consider slack all the time you can be
Starting point is 00:02:21 almost at work recreate that feeling this week i discovered our our community's tech humor channel and it's actually funny they post some pretty good memes there i am joining it right now i don't think i've been in it yet well most of the jokes were at your expense so now i'm about to be so offended uh like okay yeah this is this is good this is worth my time i thank you this has made my life better already okay all right you want to read our first question uh yeah this is from a listener named mike who asks i've been offered an engineering management position at a company i previously worked for
Starting point is 00:03:02 the team is very small and composed of juniors and mid-level developers the role is also completely new and because of the size and experience of the team there is some expectation that the manager will also have a fair amount of involvement in pr reviews and likely also writing some code is this common do you feel like a manager can also be a team lead from a technical perspective on a day-to-day basis what should i be thinking about when considering this role aha so a boomerang management role i think the first thing you need to think about is how do you make it so they don't know that you their manager are the same person who wrote this code that shows up and get blame because you want to preserve an aura of infallibility and omnipotence how can you
Starting point is 00:03:46 rule with an infallible iron fist yeah you've made obvious programming mistakes yeah uh oops i renamed all our header files to dot i because i wanted them to be even more header how about dot hi trying to be friendly yeah we want to increment to the next letter frankly i feel like this is probably more it's certainly common maybe i don't know maybe it's more common than the other way but often a a problem is managers being too hands-on and technical and uh like they're not doing management stuff because they can't or won't pull their heads out of out of the code base so knowing that this is an explicit expectation of this role uh this is often a thing people fall
Starting point is 00:04:37 into on on accident but you just you're gonna fall into it on purpose yeah no no i'm supposed to be nitpicking your prs as your boss who also writes your paycheck into sermons your raise amount bonuses sorry about those performance reviews i know they're pretty cursory but check out this new ci system i built yes also please change from tabs to spaces and we want two spaces not four i have an open door policy though and i want us to all be equal peers and colleagues so Please push back. Yes. And also, let's talk about your pip.
Starting point is 00:05:18 For as much as I laugh at this, I actually think this is pretty reasonable. And I like this growing trend. And I say trend comparing to what it was like for me 20 years ago, where your engineering manager is technical enough to at least review code with the team, which I think is fantastic. And I see that more and more and more as I've aged. to the ripe old age that i am now i like it so take that yeah can it be a team leader you also mentioned the team is small which is important because it is it is like a whole other job and and i don't know if it's if it's a handful of folks if it's two to four or five then then seems reasonable once you start getting above that then the the coordination and management
Starting point is 00:06:04 and career development and feedback and all of the stuff that goes along with making a larger group of people pull in the same direction well together uh should be taking up enough of your time that it can be hard to contribute significantly technically or maybe you're just so good maybe like it just kind of runs the team runs itself so you get to you get to submit pull requests and yeah i think you should go into this trying to replace yourself in the tech lead role well i guess i'm making an assumption here that that's the direction you want your career to go that you want to focus on engineering management so given that assumption i think you should take this position but make it clear to your employer that that you also want to build up someone on
Starting point is 00:06:53 your team so that they can take on this responsibility to free you up to do higher level stuff that you don't have you won't have time to do if you're if if if the team grows doing this other job yeah well if the team grows in size but even like i don't know as the team gets more experienced maybe it's the same size but you started with a bunch of juniors and mid-level devs and now they're mid-level and more senior devs in a few years you know and now you can do your job in 20 hours a week and spend the other 20 on fun hobbies yeah i don't know that seems reasonable just tell them outcomes over output that's right when they complain about you not working enough hours that's right look we measure results here the results are i'm not sure because
Starting point is 00:07:37 i've been pretty busy with the stuff i do when i'm supposed to be at work taking lots of walks mapping a lot yeah the outcomes are amazing well have we answered this question um i think so like in a short answer yeah this is actually pretty common nowadays and i do feel like a manager can do a good job you do need to be very humble about it though and recognize i think the best thing you can do is recognize that your team will perceive a power imbalance and you'll have to be overly cautious compared to what you were before when you interact with your team members especially when you're giving feedback on their code you also want to make sure that you are uniformly distributing your feedback among team members so that it's
Starting point is 00:08:24 not always one person who always has to get their pr reviewed by the boss like there's all these implicit messages that are now going to be sent yeah that you didn't mean to send and so you just have to be very cognizant of that and you'll have to ask your team for feedback a lot and respond very graciously when they give it and then find a way to rule with an iron fist and crush all that oppose you i i think doesn't say uh how the question asker doesn't explain kind of where they are in their career but this can be a nice a good kind of first em gig is is because it still contains a lot of stuff that you should have been doing or generally are doing right often more senior developers move into engineering management roles and so that there's
Starting point is 00:09:10 some there's some familiar stuff to hold on to it can also be a shock to one's system to completely let go of software development individual contributor work day-to-day and pick up pure management work and so this will be a nice stepping stone to ease yourself in a little bit so that it's not just a big jump before you you know that way you can also it's also easier to bow out i think if you decide that you don't want to do the people management side of things you've still got quite a technical skill set going and kept warm so that you can fall back on that if you need to that is a question i would ask though is when before accepting this offer i would do some serious introspection and say am i comfortable being a full-time people manager and then i would
Starting point is 00:09:50 ask the prospective employer if this doesn't work out with me as a people manager is there an option where i can do technical only contributions and someone else can fill the people management role and if the answer is no you might want to take that into consideration before accepting yeah okay now we have answered it i think so now we shall proceed to our next question will you do that for us dave yep let's see here okay while you pull that up i'm just going to be staring at the zit on my nose since we're doing a video now imagining people looking at it on youtube now everyone just yeah this feels good i like this okay more people need to see this
Starting point is 00:10:33 okay this comes from an anonymous listener who says how do i keep up juniors morale regardless of bad code and ideas i work in a team of four or five developers we have one junior one mid who is me one senior and our team lead i think we mostly work well however sometimes that sounds like four four to five very unambiguous i mean i guess four is contained within four to five okay it is yeah how dare you the set theory checks out okay however sometimes the senior and team lead sort of talk down at the junior for example in a meeting talking about how to solve a problem the junior will propose an idea but the senior and or both team lead would respond by saying that no it's not a good idea which is fine however the tone of voice hints oh you should know this
Starting point is 00:11:21 it's obvious you jamoke first time ever hearing that word the junior has started to stay quiet and has told me he doesn't feel comfortable asking the seniors for help i've interjected in meetings to say i understand why the junior might have this idea but i don't think it's the best solution what should i do should i talk to the senior and team lead or do i just let it play out you jamoke i added that last part yeah now you want to use it everywhere i do it really is a catchy little epithet do i just let it play out so when you say do i just let it play out i think letting it play out means like do i let this junior quit because uh yeah sounds like a crappy place i don't know maybe maybe economy means that they will stay longer at this position
Starting point is 00:12:05 now but does not seem like a a thriving fulfilling engaging work environment to be a junior developer in maybe it's like uh you know how sometimes groups of friends get together and they kind of like insult each other but it's done with love like like playful jabs yeah they jab at each other because they're so comfortable they can call each other jamogs tell each other their ideas are stupid and stuff i mean no i haven't heard of that but until today but it sounds awesome maybe you need to start insulting the senior and team leads ideas to make it clear that this is it's a friendly banter banter that's what i'm looking for and and then it'll be like oh it's not that i'm stupid it's that we're all horrible to each other equally that's okay let's step step up maybe
Starting point is 00:12:57 they don't think i'm stupid we're just bad people got it we're like bad in the sense that we're immoral yeah i don't know like ethic like we're ethically challenged is this what you're saying or or we're bad at our jobs a little bit well or yeah i think you would be bad at your job if this was the this was the culture you were introducing people to for example in a meeting yeah this is tricky to do as a mid-level developer because this is part of the role of a senior developer is to build up and develop the skills and abilities of more junior members of the team right and telling someone their ideas are stupid in group settings so that they stop contributing in group settings is not helping this person develop and contribute more but it's also kind
Starting point is 00:13:52 of a tricky position to hold a more senior member of the team accountable yes it is but i think this mid-level developer should do it yeah you jamoke you jamoke anytime there's silence now just slip that in that's a perfect how would you go about doing it well so i mean the the unfortunate truth here is probably that the well i'm not even going to say it's the truth i'm going to say there is a possibility that these senior developers are actually correct that the junior developers ideas are bad that that is one possible situation here But it doesn't make it right to use a tone of voice that is impolite, unprofessional, and impatient with the junior developer. And so, as a mid-level developer, you have recent direct experience being a less experienced contributor to the team.
Starting point is 00:14:55 And so, as such, your eyes are a little bit more wide open, and I think you have more of a clear line of sight to this person's feelings. And it's important that you represent that. And so I think that as a mid-level developer on this team, you can go to these senior developers and say, listen, there's a bit of a dynamic unfolding in these meetings with this junior team member that I want to make you aware of that I think would help to foster a more welcoming and safe and fun environment for all of us, including myself. And that is that I've noticed that you sometimes use a hostile tone when responding to some ideas of this junior developer. Now, I get it. The ideas are not always great. But rather than responding with hostility and talking down to this person, please, I would ask you to take these as opportunities for teaching and mentorship. not only technical skills but also for demonstrating the kind of professional and welcoming behavior that we all need to exhibit that's kind of how i would give that feedback
Starting point is 00:16:01 it's specific it's kind and it's actionable and i think that you owe it to this team to do that because you're in a unique position to be able to get it and it's frankly a shame that your more senior team members don't already self-police on this i wonder if they're maybe they're very focused on the technical merits of the ideas and and they're concerned about like protecting the time of the team right like we don't possible we don't waste time on these terrible ideas you and so this is like a a way to i'm just trying to think of like how would this not be just stupid to do and yeah i suspect it's like well our part of our job is to help us be correct and these are incorrect we don't want to yeah it's we want to focus on on the right stuff and and then that's
Starting point is 00:16:54 where you can um talk about their responsibility to to teach and encourage like you don't have to derail the whole meeting to dive into a detailed discussion of the idea but you can take it as an opportunity to at least say like i don't think that would work for these these reasons and be willing to talk more about it maybe in other contexts if they want to follow up afterwards to understand more just saying like yeah right who uses ftp anymore yeah nerd or whatever yeah whatever dismissive thing you're saying is not gonna do anything besides make them feel ashamed yeah that's not what we want should i talk to the senior team lead uh so yes it sounds like the answer right i would i would let dave do it listen so we're in agreement you know dave will do it as
Starting point is 00:17:41 it works out uh we're about to launch a new service where you can just bring us these problems and for a extremely high hourly rate we will show up at your office and deliver the feedback you don't want to deliver it'll be so easy because we won't have any context so we won't have to deal with any nuance and we'll just show up and disappear so we don't have to deal with any outcomes or fallout no fallout yeah but we will take a lot of your money and that's why you know it'll be good for you i guess i don't know um yeah okay well consider this our our our painted door test it's an opportunity for you to register your interest by paying us and then we hurry up and and figure out how to do this well don't worry we'll accept your money
Starting point is 00:18:27 right now yep figure out how to do it later yep yeah i i think you're right i think talking about it makes sense and and being able to talk about problems as a team feels like a dynamic that you want on the team rather than just back channeling this forever okay have we answered the question i think so what can people do if they want their own questions answered go to softskills.audio and click the ask a question button where you can fill out our form thank you so much to everyone who does that each week we love seeing your questions every week you keep the show going and i promise we will eventually answer them all if not subconsciously then also on the air i endorse all that dave says well we'll catch you next week

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.