Soft Skills Engineering - Episode 343: Tech lead/manager and discouraging seniors
Episode Date: February 13, 2023In 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)
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
