Soft Skills Engineering - Episode 382: Mentors for managers and mob programming
Episode Date: November 13, 2023In this episode, Dave and Jamison answer these questions: There aren’t a lot of engineering management growth resources in my company. It’s a relatively small company with about 50 engine...ers. My manager doesn’t have time to properly mentor me. And I’m not sure I would want him to because I feel like his advice isn’t always the best. Where can I go for management mentorship or other learning resources? Is it worth exploring non-engineering managers on other teams? Or leaning more on my peers? Or should I be looking for outside advice? A recent episode mentioned awkward Zoom silences. My experience is the exact opposite. I recently switched teams at the same company. This new team has a Zoom room open for the entire work day. The first person to start their day begins the Zoom and the last to leave ends the meeting. They do “mob programming” using a command line tool that switches users every few minutes along with all the strict rules of Extreme Programming - a driver, navigator, etc. But they also do everything in groups: story refinement, diagrams, documentation, everything. Live collab, all day, every day. I’m one month into this transfer but worried that this isn’t a good fit and that I made a horrible mistake. ALL the other engineers here rave about how this is the greatest thing ever. Am I the weirdo for not liking it? I feel like I am of split-mind to only either speak or type (but not both) and have not yet rediscovered my coding flow. Mostly I just wanted to roll a perception check with you: Am I the weirdo for not liking all this collaboration and 100% Zooming, or would this workflow drive most other engineers mad as well? Any pep talk about sticking it out would be appreciated.
Transcript
Discussion (0)
it takes more than hearing the phrase mob programming and showing up at the next meeting
with pitchforks and torches to be a great software engineer this is episode 382 of the
soft skills engineering podcast i'm your host jamison dance i'm your host dave smith soft
skills engineering is a weekly advice show about all the non-technical things that go into the
technical field of software development like accidentally bringing tar and feathers and
then having to set them down sheepishly when you come into the meeting and everyone's just
oh mob it means we program together oh i thought we were going to choose a new javascript framework
yeah mob programming is what happens in like uh hacker news threads i think yeah yeah for sure
all right shall i thank our sponsor please this episode is sponsored by compiler an original
podcast from red hat discussing tech topics big small and strange you'll hear more about them in
the middle of our show please check out compiler you want to thank our patrons jameson i absolutely
do thank you to nick cantar braden canes john grant travis nick hathaway jonathan king ragnar
webtau awesome n10 testing will angel ira chan monkeyface emoji patreon.com we're hiring
Craig Motlin, The Stochastic Parrot, Owen Shardle
Jenny Kim, Cody Sale, if you would like to join
this illustrious, oh wait, not yet
Ken C. Dodds, Valentin Adatofold, Santa Hopar
TheComputerScienceBook.com, Trash Panda
Never is not just a crater on Mars
I like chicken, I like liver, Meowmix, Meowmix, please
deliver, full stack, contractor, looking for
job, corp2corp, and typehero.dev
Thank you, thank you so much
to these entities of some
kind, or
concepts, or string of characters
is really all we know them by
yeah um if you want to join them you can go to softskills.audio and click support us on patreon
and any amount we'll get you an invite to our slack team and any amount above whatever the
number says we'll get you a shout out either one time or weekly to demonstrate our undying
gratitude and deep admiration for you so here's a spoiler for next month i noticed in advance that
the full-time contractor looking for job corp to corp uh has found a job so congratulations
next month it will it will change they owe it all to anonymously advertising on our show
looking for a job to corp to corp and there's no way you will ever be able to know who i am
but but you'll know i have taste because i uh i'm a patron of the show yes dave do you want
to read our first question no i want to read a follow-up from a previous question oh okay do you
Do you want to read the first thing that's after thank our patrons?
Yes, that's what I want to do.
That's exactly, how did you know?
That's exactly what I was thinking about doing.
Instinct built up over seven years of doing this.
Okay, this comes from a listener who took our advice or didn't, I don't know, we'll find out.
In episode 313, that's like a year and a half ago, where it says,
Hello, writing in to follow up on my question back in episode 313, parents are fighting.
thank you for your advice and i'm pretty sure dave's guess on which company was correct
this was at amazon yes i guessed correctly wait what was the question uh the question was
i am trying to get a promotion but the principal engineer in my organization is blocking it
and my manager my manager wants like yeah my manager supports me this principal engineer
doesn't and they win so yeah the pe wins okay let's keep reading i took your advice and sat
down with both my manager and the pe and found out that the pe didn't think i had quote respect
for engineering work that came before me specifically because i had suggested we
standardize on a single testing framework instead of three in one code base afterward my manager
fairly bluntly told me that the pe would not let it go and i would not be getting a promotion as
long as the pe still worked in the org apparently word to the grapevine was that he had been
blocking promotions for years for anyone who had been at technical odds with him it was up to me
if i wanted to wait it out or not so i quit again later i heard from my ex-manager that there was a
reorg and the problematic pe was booted out the door shortly after and what do you know the
promotions have started flowing again so unfortunately this seems to have been a case
of a bad cog in the machine oh man well there you go but the machine eventually identified the bad
cog and replaced it with a good cog yeah that's a good call out because the machine worked the cogs
the individual cogs kind of i don't know who cares if the individual cogs work the machine
kept working you know that's the important thing above all individual human value the machine must
keep working well yeah i guess that's my point like the the machine is optimized to make the
machine work and sometimes you just gotta you can't make a machine without smashing a few cogs
i think is the phrase sometimes yeah right sometimes it's like a machine omelet other
cogs i don't know yeah are you about to say you i didn't have to break some cogs to make a machine
omelet yeah that's what i was trying yeah i was going for a can't make an omelet without breaking
a few eggs yeah um just confusing metaphors as is my want to do respect for engineering i didn't
have respect for engineering work that came before me i mean that has to mean stuff that the pe did
right there's no other way i can respect for the work that i did the person who is blocking your
promotion i chose to put in three different testing frameworks yes and you showed a lack
of respect for my decision for my mistakes i mean decisions oh well
huh i'd be interested to know how long do you feel like it was the right choice to quit i mean
obviously you can't make this person leave and if you if you how i wonder how long you would have
had to wait for it to come around thank you for the feedback though it's really good to hear how
it went yeah always good to hear that dave was right it's one of my favorite things mine too
okay dave should i read our first question now go for it this is from an anonymous listener who says
there aren't a lot of engineering management growth resources in my company it's a relatively
small company with about 50 engineers my manager doesn't have time to properly mentor me and i'm
not sure i would want him to because i feel like his advice isn't always the best where can i go
for management mentorship or other learning resources is it worth exploring non-engineering
managers on other teams or learning or leaning more on my peers or should i be looking for
outside advice yes management mentorship this is there is not a lot of this out there that i
Well, not a lot relative to other kinds of mentorship
for individual contributor developers.
Yeah.
There's some weird things here.
A relatively small company with about 50 engineers.
I guess relatively is the key word here
because it's all relative,
but that doesn't sound too small.
And at 50 engineers,
I would expect there to be
probably like two layers of engineering management.
Yeah.
You have some line managers
and then maybe one or two kind of like
director type managers.
and then they report to a cto or vp or something and that is a fair amount of it's a fair amount
of people whose job it is to manage engineers so that's surprising to me that there's uh there's
not deliberate thought put into making those people effective by i feel like that's part of
that's what i would expect part of the job of your boss yeah exactly doesn't have time to mentor me
is like well what is this person's job it's they're coding all the time you can't spare it
that that time away from fixing all the bugs they've got going on every day maybe my manager
doesn't have the time to properly mentor me i mean there could be an expectations mismatch here
where you're like look mentorship requires 10 hours a week if you don't have that time i'm
gonna go get it somewhere else yeah i doubt that's what the expectation but i guess it's possible
i i'm trying to think through all the jobs i've had i think i've really had one
i'm probably forgetting people right now but i think i've really only had one manager who i felt
like did a really good job mentoring me as an engineering leader and what is my point in saying
this uh it's rare i think it's rare that's my point i guess it shouldn't be because that's
that's, that's a big part of the work. That's how you amplify your impact as a, as a leader
of managers as you help them get better. But for some reason it doesn't happen that often.
Yeah. Yeah. I mean, I don't know. I mean, I feel like it's kind of a table stakes baseline
expectation that if you're going to manage someone, you need to be willing to give them
regular on regular attention where the time is theirs to get input from you and get advice and
guidance and maybe these uh and i would typically call that a weekly one-on-one you know with
everybody who reports to me i dedicate a weekly time to each of them that is just theirs we sit
down together and we talk about uh well probably whatever i want to talk about honestly if i'm
honest, I do tend to dominate these conversations, which is not what I want to do. But in reality,
and I do pay lip service to this, but I probably don't do a good enough job actually giving time
to people to say, look, this time is yours. What do you want to talk about? And it sounds like if
this person had a manager who sat down with them every week and said, what do you want to talk
about? The person would say, I want to receive mentorship from you. And then I would say,
I don't have time for that. All I want is status. I don't have time for that. I'm too busy talking
to you hang on there's a bunch of stuff i have to say to you hang on i've got things to say
yeah these things aren't going to say themselves
maybe maybe all 50 of those people report to the same manager and then he doesn't have time
because he has 50 direct reports uh-huh probably not though that'd be that'd be too many yeah i
actually you know to pivot away from the question to talk about ourselves more okay i also i say
that same thing in one-on-ones that this is your time it should be to talk about what you want to
talk about but i have seen varying levels of willingness on on the people who who meet with
me to actually like take the time yeah so i can fill it i've i've got stuff to say you want to
hear about my thoughts on how there are too many dang pokemon these days and back in my day we had
the right number listen if you need jameson to fill some time just remember he has recorded 382
which is mostly just him talking and there's no one even there
yeah actually sometimes when i when my people show up for a one-on-one i just
turn my camera off on zoom and just play back an episode so that's all they hear i think about
in ferris bueller's day off when he records the answering machine to make it seem like he's
actually there yeah kind of like that some hijinks look i promise what was i saying i'm
really not that bad of a manager i'm not as bad as i'm painting myself to be
anyway you were saying that people don't take the they don't seize the opportunity to
yeah talk about what they want to talk about i think i need to do a better job of both
clarifying what that looks like and also really actually making space because it's i think it's
a pretty natural human yeah desire to want to fill blank space in a conversation so if i say
what do you want to talk about and they say i don't know then i just say okay time to talk
about pokemon but maybe i need to just sit there for longer you could that is a technique just sit
and listen and wait. But you know what's happening here is a power dynamic. Oh man,
we are so far off from the question, but let's just keep going. The power dynamic here, I think
about when I have one-on-ones with my boss. If my boss wants to talk about something, it does not
matter to me what I wanted to talk about. I will set it aside and I will go with what my boss wants
to do. And so you really have to remember that, that it probably takes not only just saying
this time is yours but also reinforcing it with actions and i like the idea of just being
silent yeah and there are certainly people who are better at it than others where they're willing
to fill the time or they take time ahead of time to write down topics but not everybody
now i'm wondering how can i help people get better at that because frankly i'm sick of talking about
Pokemon. So is everyone else. Yeah, I mean, so I guess what we're saying to this question asker is
that it is actually your manager's job to mentor you. And however, you might have a different
expectation of what mentorship looks like in actual actions than your boss does. And so maybe
you need to sit down and say, okay, I said the word mentorship, but here's what I'm actually
looking for and spell it out and be deliberate. I think it would be very hard for a boss or a
manager to come back to a request like that and say, I don't have time for that. Especially if
it's very basic things like give me feedback on how I'm doing as a manager. It's like, this is
your job. Yeah. I wonder if you've explicitly said, please mentor me, which is I think the
easiest thing to say but also maybe less useful because it's sort of like so generic that it
might be hard to know where to start especially if your boss isn't great at it but like all
feedback related things it's easier if you ask more specific questions so if you ask
do you have any feedback on that presentation that i gave that you attended or i don't know
the more specific you can make it the better it'll be yeah and even if their advice isn't the best
you will get insight into what they think or at least what they're willing to say to you
yes maybe not directly mentorship but something yeah uh okay i think there's an obvious answer
that you're missing though dave yeah i'm about to reveal to you please pull the sheet the past
few minutes of the show you'll know that the best place to come for advice oh wait for it is right
here you've already done this podcast as we've so ably demonstrated linkedin is littered with
the bodies of people who followed our advice and whose careers are now in shambles oh low
interest rates cannot cover our sins anymore like all those startups that have failed yes
you thought we were if we just lose money faster surely it will work out eventually
if we just give more bad advice.
So, yeah.
Thank you, Jameson.
I once, so when I first became a manager
about seven years ago or so,
I actually found someone
who was also a new manager at the same time.
And that person had the great idea
to start a engineering management meetup in my area.
And that was actually pretty useful,
not in the sense that you could just go and get mentorship and you know go in and come out
a better manager but because i could show up and talk to people who are doing my job because it
turns out being an engineering manager can actually be kind of lonely like some of the
most important topics that you are some of the most important actions and decisions and subject
matter that you need to worry about as a manager are things you can't talk about with most people
at your company and so having other managers to go and talk to about situations you know i just
remember being so happy to hear just like how much are you paying your people you know are my people
underpaid are my people overpaid just being able to have a sounding board for that was so good
because i did i wanted to keep the private keep that stuff private at my company uh but i also
wanted to know am i gonna lose my people because i'm underpaying them you know yeah so uh engineering
management meetups uh that man that meetup actually fizzled out after like six months
and i think i don't know what that says about the state of management mentorship
i think it i think it uh nobody had time to do it yeah exactly
there so i i love what you said i think about if you ever meet another vim user in the wild you
kind of gaze into their eyes and notice that they're one of you and then you swap tips and
everyone's experience of using vim is different and so you learn something from everybody
because they all have slightly different takes on how to how to work it i feel like it's similar
with engineering management where it's cool to just talk to other practitioners because they
might uh have they might be doing a thing you've never even heard of you didn't read them the help
docs for that part of it yet yeah uh it's and i think it's better than it was a few years ago
but the state of engineering management is still pretty early days wild west where there's a lot of
people yeah uh who are picking up quite a lot of it on the go and haven't seen it done well before
so there's i still don't feel like there's a good baseline for just what a solid engineering manager
is um that you can expect to come into the job and know okay if i do this stuff basically i'll
be kind of the the median or above engineering manager so i think that's that's not quite
mentorship but it's something approaching it where you can talk to other practitioners and get
get their perspective on things a thing that i have done i have actually paid a coach
oh really for a while yeah and that was very helpful um they actually i think they got out
of the game because i looked them up a while ago and couldn't i think they had they had moved on
to other things so coaching you was the pinnacle of their career and they were like i have nothing
left to achieve it's like you're mount everest yeah or i was like the kid that drove the teacher
to quit oh just can't take if they jam another pencil all the way up their nose again can't
take if they do their annual reviews in in cran one more time um that was really helpful it was
someone let's see they were in a tech field i don't think they were actually an engineering
manager but uh they had coached a lot of ems and had managed in a tech field before and it's sort
of like sports coaches where none of michael jordan's coaches were better than him at basketball
you know like but they didn't have to be because part of it is the it's a different skill set and
perspective to do the job than to help someone else be better at the job i thought you were
going to say none of the coaches are better than michael jordan at basketball in the same way that
no one is better than me at engineering management so i don't need coaching no i mean i guess to
strain the metaphor even more a lot of them are former coaches and i guess like players i guess
we're amazing players uh so so they do know the domain but what is my point my point is
there are management coaches out there i think finding the right one has got to be kind of like
finding a psychologist where you kind of have to try it you can get some word of mouth but it
depends on how they fit with you and you can't really can't really know ahead of time if you'll
really gel but i would look at that a little bit there are also some engineering manager like i'm
in a slack team community thing for engineering managers i think i'm actually in a couple of them
so there are some groups out there um that have been helpful for bouncing ideas off of peers and
things like that yeah i've had a similar experience to you that it's just not a ton of opportunities
that come at you. And I also had a management coach for a few months, six or seven years ago,
and I had the opposite experience of you. It was unhelpful for me. I met with my coach once every
two weeks for like 30 minutes. And I was so new to management. I'm like, I don't even know where
to start. I don't know what to do. I don't know what to think about. And so I'm like, help me
with that. And then the coach basically was like, well, you tell me what you want. And I'm like,
well, what are some of the options? The coach is like, well, it depends on what you want.
I'm like, this is like a restaurant with no menu.
It was frustrating.
So I think in the end, I got some ideas,
but ultimately it just came down to spending more time doing the job
and then being surprised about the things you weren't doing.
And then you are your own best mentor by failing.
Your past self teaches you what you're doing wrong.
Yeah.
I think I'll add in the show notes the link to this group.
I think it's public.
So I think I'm not outing anything.
yeah that would be good uh well have we answered the question i think so good luck
finding mentorship uh and if you don't don't worry most people don't have it anyway
dave can we have an honest natural conversation about a podcast from red hat called compiler
yes red hat compiler is a really cool podcast it's from the people at red hat which is a company i've
admired for literally 20 years red hat employs a bunch of really interesting people everything
from actual compiler developers to engineering managers.
Listening to them share their perspectives over the years
has been eye-opening for me.
I really liked the recent episode in Defensive Legacy
where they talked to some experts
about how you dig through old legacy systems.
It feels a little bit like code archeology.
You're trying to piece together truths about the past
from these artifacts that you have.
It's fascinating to listen to.
Yeah, they also have a series on software technology stacks
describing databases, programming languages,
front-end frameworks, back-end technologies,
and even test frameworks.
Their production value is so good too.
like put us to shame good yes it's like what we aspire to be listen to compiler from red hat
anywhere you listen to podcasts shall i read our next question please an anonymous listener writes
a recent episode mentioned awkward zoom silences my experience is the exact opposite i recently
switched teams at the same company this new team has a zoom room open for the entire work day the
first person to start their day begins the zoom and the last to leave ends the meeting they do
quote mob programming using a command line tool that switches users every few minutes along with
all the strict rules of extreme programming a driver navigator etc but they also do everything
in groups story refinement diagrams documentation everything live collab all day every day i'm one
month into this transfer but worried that it isn't a good fit and that i have made a horrible mistake
all the other engineers here rave about how this is the greatest thing ever am i the weirdo for
not liking it i feel like i am of split mind to only speak either sorry to only either speak or
type but not both and have not yet rediscovered my coding flow mostly i just wanted to roll a
perception check with you am i the weirdo for not liking all this collaboration and 100 zooming
or would this workflow drive most other engineers mad as well any pep talk about sticking it out
would be appreciated oh this is unusual yeah i mean i i think i've talked about this on the show
before i have done that zoom room open for the workday thing but it hasn't been like everyone
come work together it's more like if you want to hang out while you work and optionally you can
like work together with people in here then hop in yeah so it's been a little bit it was more like a
tool to combat loneliness than than a way to get the whole team working together on the same thing
so pretty different from this yeah i have never worked in this kind of uh extreme collaboration
the closest i've come is in person in a shared office with like four or five people in the same
room is extreme programming the kent beck thing uh yeah extreme programming explained kent beck
i've never worked in an extreme programming shop yeah i i think i would hate it
i think i would hate the default mode of working to be pair programming yeah or mob programming i
really do like like coming together and then splitting apart to kind of work on stuff and
then coming together to show it off and give feedback and get feedback and then splitting
apart that's i feel like i i can get into a flow state like that much more easily than i can if i
if i'm working with someone all day every day but i know people i mean i know i i'm thinking
of one specific person who worked in a place that was all paired programming all the time and they
loved it and i'm thinking of other people i have known who who are more inclined to pair program
where they they like to do it more so i think it is i think it varies uh the the what's the word
i'm looking for the level of comfort and satisfaction that you have with it probably
varies among people you're saying there's a spectrum of people and and you're saying weirdos
are on one side is that what i'm hearing you say yeah the weirdos are are the other people
right aren't like me yeah whoever's not like me i'm right in the middle
yes there's weirdos to my left and weirdos to my right i'm in the enlightened center
deed am i the weirdo for not liking no i don't think so i have heard from people that you can
kind of develop more stamina with it if you do it regularly and i don't know if a month is enough
time to do that but i i would hate this job i would hate it so much i could probably get into
it um but i gotta i have to ask this seems really unproductive if we're talking more than two or
maybe three people i think how do you actually do this like how do you this mob programming
concept where let's say there's six people in the zoom room and one person there's a command
line tool that that uh goes around the room round robin and points you know says now you're the
hyper uh how does that work i'm very interested i worked with a team that had a it was like an
hour and a half each week where they would mob program basically and that was cool because the
team really liked it and they looked forward to it and they um participation was high okay but it
wasn't no one was doing the school group project thing where they just don't do anything and
And now there are actually four people programming
and a fifth person just chilling on Twitter all day.
Yeah.
Yeah, I could see a concentrated bout of this
for like an hour and a half or two hours once a week.
Yeah.
It would be fun and exciting.
That's something I would look forward to.
Probably lots of good learning opportunities.
But 40 hours a week sounds not only exhausting,
but also counterproductive.
Yeah.
What I would do is quit, first of all.
But if I didn't want to do that,
i would stick it out for another month or two and see if my stamina got built up because this
would be such a drastic change from how i am used to working that uh i know i would not just jump
into it and immediately succeed yeah and then if you still don't love it i think you have two
options one of which is to quit and and the other one i already mentioned which is uh if there's
seven people programming together it's kind of hard to tell if there are only six actually
participating or not if the other the other six are all actively engaged you just get to throw on
a podcast and but if it's rotating around in like every few minutes it's your turn to type it'll
become crap yeah they've defeated my strategy shoot okay yeah i think quitting is your only
option it seems like this works well for the team and i cut this part out of the question but they
mentioned that it's likely this team is self-selected. So people that like to work this
way have gravitated towards the team, which I think is very true. And unless you want to become
a person that likes to work this way, then this might not be the team for you. Yeah. Very, very
likely the case for you, I'm guessing. I would bet, I would wager that less than 10% of the
engineers I've worked with would thrive in this environment. Yeah. Yeah. I think the people I know
that have or would stick out in my head
because they're kind of unique in that aspect.
Well, quit your job.
We're giving the advice.
Or sabotage it.
Convince the whole team this is a bad way to work.
You must drive wedges in between them
so they retreat to their private Zooms
back to their lonely editor by themselves.
Yep, back where they belong.
Pull a worm tongue
and start whispering into your boss's ear.
Yeah.
My lord, see how few programmers
as a typing at the same time we should we should put a giant asterisk on this to say look we don't
have first-hand experience with this approach of programming maybe it's incredible maybe it's the
undiscovered country that we're all just ignorant of and this truly is a much better way of getting
quality product and more of it so i'm open to that idea i'm i'm not intending to rearrange my
teams to make this possible but uh i would love to be convinced that i'm wrong i think it's very
interesting idea i still think you should quit maybe the theory goes you don't have to do code
review because it's all reviewed in real time yeah and you'd never get anything wrong because
it's all reviewed in real time right by many people a mob i would say of people yes famous
for their accuracy right shrewd judgment everybody knows all the best works are produced by mobs
where the best work comes from yeah the famous sistine chapel mob
the greatest works of art they all just mobbed on that statue of david yep a thousand people
smashing at it with hammers until it revealed itself from the marble exactly i'm trying not to
i guess i'm i'm saying snarky things about it i'm i'm not meaning to cast judgment on this as a as
a strategy i think i'm purely saying boy would i hate this so even if it is a better way of working
that's like saying if i hold my breath all day then i will live longer like if i could i guess
cool but yeah then i would be sad that's sad jameson is not really any of our goals good well
i'm happy because i'm talking to you dave my goal is achieved goals achieved speaking of goals
should we uh has this question been answered i think so yeah all right i think it has what can
people do if they want their own questions answered, Dave. Go to softskills.audio and
click the ask a question button where you can fill out our form. And we want to say thank you
to everyone who does that every week. We love reading your questions and many of you have
responded to our call to action to give follow-ups or feedback on previous questions. Thank you. We
will read these on the show as we find time and appropriate subject matter. Thank you for sending
those in from the bottom of our heart. We really appreciate it. Yeah. Thank you. And thank you for
listening. We will catch you next week.
you
