Soft Skills Engineering - Episode 118: Asking For Help and Speaking Up
Episode Date: July 30, 2018In this episode, Dave and Jamison answer these questions: What is the right balance between asking for help and figuring things out on my own? How do I know when it’s time to ask questions ...or when it’s time to spend more time drilling down into the code? Been at my first job for a couple of years now, and I am very quiet in the workplace and still find it hard to open up, be assertive, and speak up in meetings. When I try to go out of my comfort zone (arguing about technical decisions, setting up and driving meetings), I don’t think my manager appreciates my efforts. I am told that I need to voice my opinions more and have more of a two-way conversation. I feel I’m not given concrete chances to improve, and it’s very demotivating. How should I deal in situations like this? Job pitch time! Are you interested in working at Walmart Labs? Email Jamison at jamison.dance@walmartlabas.com!
Transcript
Discussion (0)
It takes more than memorizing JIRA hotkeys to be a great software engineer.
This is episode 118 of the Soft Skills Engineering podcast.
I'm your host, Jameson Dance.
I'm your host, Dave Smith.
Soft Skills Engineering is a podcast where we answer your questions about all the non-technical
things that go into software development.
I guess JIRA is, I don't know, it's technical and non-technical.
Ooh, yeah.
So we could technically pivot to become a JIRA podcast.
Well, no one has ever written in to ask, what's the best issue tracker?
why not well what a huge answer and we'll tell you as soon as you ask us yeah we are with we
are holding it hostage yeah dave you want to talk about our wonderful patrons thank you patrons we
love you for supporting the show at the level that gets you a shout out every week those people are
nick cantar dimitro and neonilla david jackson ken howard sean clayton and dustin coats if you'd
like to support the show financially we would very much appreciate it to be able to pay our
ever-growing costs to pay the mob to let us stay on the air of uh protection money my beanie baby
collection is not cheap to maintain that's true those are getting old now well yeah the cost of
maintaining them is increasing yeah it's hard to find good beanie baby butlers and each one needs
their own they all have different preferences it's not cheap if you would like to support
jameson's very healthy beanie baby obsession go to soft skill wait go to soft skills.audio and
click support the show we appreciate it thank you yeah thank you so much we also love you even if
you don't support at the level that gives a shout out every week thank you so much to everybody
supporting the show and to the listeners too you're supporting the show in a different way
Yeah. I also have a pitch to make to you. We haven't really done this before, but I'm going
to use this platform for my own indirect personal gain. I manage a team at Walmart Labs and we are
hiring. We're hiring a backend developer to build mostly APIs, mostly in Go. And these APIs basically
control a lot of performance tooling. Pretty much every request that goes through Walmart
e-commerce properties goes through systems that these APIs configure and that my team helps
configure so you get to see a little bit of everything inside the company it's all remote
which is also very cool the whole team is distributed my team and the teams that we work
with though u.s time zones only and i also really try and practice what i talk about on the show in
how i manage the team so it's your chance to see if i'm a gigantic hypocrite or not see the truth
come find out if jameson is actually a monster yeah you know i actually think this sounds cool
i'm not just saying that because you're my podcasting partner but i actually have one of
my career goals is to build an api and go well i'll tell you all about it we also welcome diverse
candidates if you're interested you can send me an email at jameson.dance at walmartlabs.com i'll
put a link to it in the show notes as well just my name j-a-m-i-s-o-n dot d-a-n-c-e at walmartlabs.com
i hope to hear from you awesome all right pitch over on to the questions uh should i read the
first one please okay this comes from a listener named louis who says thanks to your podcast i got
the courage to apply to other jobs after working at a place for four years this led to a new job
with a 126 percent salary increase oh my goodness what in a job i love even more than my last
position wow okay i hope this isn't just a case of mistaken decimal points software is so weird
yes this is a weird thing moving on the only problem with this new job is that the code base
is huge with no documentation or comments and i am just one of two developers when i get a task
most of my time is spent looking through thousands of lines of code uncommented and undocumented
trying to figure out how that existing part of the system works and document what i find
i occasionally ask my supervisor for help understanding the system sometimes his answers
bring up more questions and it's starting to feed into a newly found imposter syndrome i don't want
to seem incompetent by always having my supervisor walk me through things but i also don't want to
seem useless my question is what is the right balance between asking for help and figuring
things out on my own how do i know when it's time to ask questions or when it's time to spend more
time drilling down into the code what a good question oh yeah what a good problem to have too
i more than doubled my salary and now now i have this problem at work have you i mean
yeah spend some money on it hire a hire a subcontractor
oh i just saw i stole your thunder dave
does one of the comments you wrote down to talk about i didn't read it i just we just think alike
um yeah we have shared notes and jameson just accidentally cheated off my notes i did
accidentally well i have nothing else to offer
looks like it's the jameson show now we all know i'm just the laugh track anyway my machiavellian
plan to take over is complete let dave write notes read the notes shut him up
i think this is this feels like the default state of programming
i don't think i've ever gone into a new code base and felt that it was impressively well
documented or easy to understand there's definitely variances in in how convoluted it is
but nobody has time to write good documentation i think that's the exception not the rule
So the good news is I don't think you're experiencing anything weirdly painful or bad beyond the norm.
I also think that that probably affects the expectations that people have for you, where I don't think there's some secret standard they're measuring you against and saying, boy, Louis sure asks too many questions and doesn't crank out new features.
If it's old and gigantic, they're used to seeing how productive people are on it
and how long it takes to make changes.
Oh, good point.
Well, hopefully they are.
Maybe, I don't know, maybe that's why they have to pay people so much money.
Ooh.
You just peeled back the curtain.
Look, Lily, we're willing to give you a 126% raise.
And don't worry, the code base is great.
We have very reasonable expectations.
maybe maybe they gave you 126 percent raise because they expect you to just spend 126 percent more
time yeah i i think there are two questions here though one is about specifically the the question
asking thing but i feel like there's another question about just how do you work in these big
hard to understand hard to work in systems but maybe we should talk about the question yeah i
think we should focus on that we could probably do a whole episode on how to work in a big code
base but that's borderline technical it's maybe a little bit no it's all soft skills because you
just convince other people to do the work for you and then it's not technical at all
just got to get some leverage over them that's a soft skill
how to leverage your co-workers into doing the stuff you hate
all right so questions uh so buried in here was a comment about imposter syndrome
And I can understand why you would feel that way because you're like, oh, I was hired to
do this job, but every time I try to do a thing, I have to go ask for help doing the
thing.
And that feels bad.
But the reason it feels bad is because you have some kind of expectations for what your
job should look like and you feel like you're not meeting those expectations.
The problem is you don't know what your supervisor's expectations actually are.
So I think you should have a frank discussion with your supervisor where you say, I feel
like i'm spending too much time asking you questions um how do you feel like how is my time
being spent do you feel like i'm spending too much not enough or what you know and just get it out in
the open and see how your supervisor responds sure that seems very reasonable to me it's it's
possible that your supervisor thinks you're not asking enough questions too that you're spending
too much time on your own getting stuck where where they know something that could just unblock
you a little bit but it's also possible that it's the other way around or it's possible it's just
fine another possibility is that they like the volume of questions you're asking but maybe you're
coming at bad times maybe they're annoyed with how you ask your questions and so maybe you you
need to come up with an arrangement that is sustainable like where you can say hey every
day at 2 p.m i'm going to take half an hour of your time i'm going to batch up all my questions
and we can spend 30 minutes and that'll be the only time you have to hear from me and then
otherwise i'll be digging in and if i ever get blocked i'll go down another pathway until i get
blocked there and i'll just queue up these blockages and i'll bring them to you all at once
so that you don't get constantly interrupted you know something like that yeah i i think i've talked
about this before but i worked with a really really really good developer who had that approach
every week we had a meeting where she just had all the questions that she batched up throughout
the week that were not kind of urgent things and we just talked through them all and it was really
effective and it also was really easy for me it didn't take it all it took was that hour of time
and i was happy to do it um and and it helped her i don't know you always just run across weird
stuff as you go through a code base and and understanding that weird stuff is one way to
understand the the deep system that you're working in i also think questions can be front-loaded
especially when you come into a new job and it can feel worse than it is because all you have
are questions at the beginning and you slowly realize that you know more and more and you can
answer more of those questions but it's hard to notice that when you're in the moment so some of
it could just be kind of that expectation for yourself of like yeah i don't i don't know how
it works so i'll need to ask some questions i used to feel like i should be able to figure
anything out by myself with no help and i still feel like that's a i don't know part of me thinks
like that's an ideal to strive for but i've also realized that there's efficiencies that come
through asking people that know stuff and i probably could figure it out given an infinite
amount of time just like infinite monkeys on infinite typewriters can write shakespeare
but at some point 10 minutes of someone's time is worth infinity of my time especially if i'm
gonna do something that would have they would break stuff because i don't know the answer to
my question um not just get a task done or not but like break existing stuff so that mindset has
helped me ask more questions i still i i feel like i get you louis because i still feel bad sometimes
when i ask questions but i i push through it because i think like well i don't know it's
better than the alternative they don't want me to it's like i'm a i'm threatening them like you
wouldn't want it's a nice working system you got there it'd be a shame if something happened to it
because i didn't ask a question huh
yeah i also feel like there's different kinds of questions that merit more and less time spent with
co-workers asking so for example asking things that are inherently unique to this customer to
this company or code base are completely inbound i think for uh asking your co-workers for example
saying like what is the design or the architecture that influenced this particular pattern or like
what what is the the legacy of this system why is it built this way those kinds of questions I think
there's no other way to get that information no amount of reading the code will get it for you
but then questions that are more shared across companies I think are things that a you're more
likely to find if you research on the internet and b are things that you should probably get
used to answering on your own as a developer. For example, when the build breaks in some way
that's a quirk about your language that you're using, you should not ask your co-workers that
question because there's probably good results on Google. I remember when I was starting my first
job at C++ and compiler errors were easy to handle, but linker errors were just a nightmare,
right? Like tracking down why the linker couldn't find a symbol in some random, you know, library
that it was looking for a huge pain in the butt but i remember i muscled through that so many
times that i finally started to develop uh techniques for dealing with that and i didn't
have to go to my co-workers and it was good because that knowledge is transferable to any
job that uses c++ but yeah when it came to questions of like why does this module interact
with this other module that are both unique to this company in this way who else is going to
answer those questions yeah it's also very possible that no one will know the answer to
those questions if it just kind of happened organically over time especially if it was
created rather than was designed yeah especially if it was built by a contractor six years ago
who's no longer around yeah yeah there's also another layer of learning that can go in here
which is how how could i have known or found out the answer to this question and and sometimes the
answer might be there's no way besides asking but if you ask that often enough when you ask
questions you might begin to figure out oh there's this i don't know maybe there's some cool unix tool
that i didn't know about that would let me analyze traffic and see how these systems interacted or
um so so instead of just getting the knowledge figure out like how how could you have gotten
that knowledge more efficiently and then uh i think that'll that'll compound and and make you
more able to answer questions on your own as well all right yeah also just rewrite it
problem solved then they come ask you questions
all right have we answered the question uh yeah i think so good luck a lot and uh you know if you
ever feel too bad and the imposter syndrome gets really bad just you know go to your bank account
which is now enormous and withdraw a whole bunch of money and just swim in it or something i don't
know yeah that could make the imposter syndrome worse though oh we could talk talk more about that
Do I really deserve it?
Maybe you should just donate like all of your money to charity or something and then you
won't have imposter syndrome anymore.
All right.
I think it's time for different advice for a different question.
Okay.
I will read it.
This is from an anonymous listener.
I really love your podcasts.
You just present real life situations and ways to navigate them that are so enjoyable
and funny.
They really motivate me in trying to improve my soft skills.
I've been at my first job a couple of years.
oh thank you first of all that's a very nice compliment yeah thank you i've been at my first
job for a couple of years now and i'm very quiet in the workplace and still find it hard to open
up be assertive and speak up in meetings when i try and go out of my comfort zone such as arguing
about technical decisions or setting up and driving meetings i don't think my manager appreciates my
efforts i am told that i need to voice my opinions more and have more of a two-way conversation
i feel i'm not given concrete chances to improve and it's very demotivating how should i deal with
situations like this. Hmm. Tough one. Yeah. Hmm. I just want to hear all the smart stuff you're
going to say, Dave. I know. I'm just like, I'm slowly thinking over this situation a little
more because this is not by any means the first person who has said to me, I have trouble speaking
up in meetings. I actually think it's pretty common for engineers, especially engineers who
are newer to the job um and by job i mean like career-wise you know this is a person who's a
couple years into their career uh at their first job but having been there for two years it's
probably time to start making contributions like this but still you feel unsure of yourself right
so i mean one solution i would propose is um maybe just be louder get like a megaphone or
something and just you know you could whisper into it but it would still be really loud
yeah augmented humanity be a cyborg maybe implant something in your vocal cords that just
that just you could also do a cool like batman type of voice change your thing
people seem to respect that fellow quite a bit
they always do what he says yeah yeah they do yeah have you tried being a billionaire that
beats people up oh that's hilarious huh i've been this person and i've also heard this feedback and
i've given this feedback to other people wow well i don't know not not this exact feedback there's
something weird going on here where it says i need to voice my opinions more and have more of
a two-way conversation and those almost feel contradictory to me voice my opinions more
seems pretty clear speak up more express what you think more have more of a two-way conversation
feels like speak up less like maybe maybe you're steamrolling people a little bit or there's not
a back and forth or a debate which feels that's weird yeah that's they seem conflicting to me
yeah me too i can see why that would be demotivating so very quietly tell your manager
your advice is confusing and i don't know how to follow it but put a megaphone up there so they
hear it. One of the techniques that I use in group dynamic situations like this is I try to use
questions more than assertions. And sometimes I ask questions to make a point, but usually it's
just to fulfill my own curiosity. And it's because when I hear someone say something,
I just want to fully understand what they've said. And so I'll ask questions about it. You know,
like did you mean this did you mean that um what about this or can you explain this a little more
to me i'm not quite sure i understand um and this this serves two purposes the first i already
mentioned which is to fulfill my own curiosity but it also makes it clear to the other people
that you are understanding them and it really helps i think facilitate two-way conversations
like you've been given advice to have because um the the key in my opinion to a two-way conversation
is to make sure that the other party knows that you're listening and that you understood what
they said hmm that's really interesting i like that i think i've been in meetings where
people ask questions that explicitly state i don't understand and those are received
differently than questions that reveal that they don't understand oh like they use the wrong terms
or something yeah yeah it it feels scarier sometimes to just say i don't know what that
means the thing you just said versus say like well if we did these things and kind of try and
try and work through something by asking a question it seems like it's usually people are
people are much more willing to explain when you explicitly say what does this mean versus
when you say something that reveals you don't know what it means there's something weird that
goes on in people's heads where they think like this person doesn't know and it's bad instead of
like this person is curious to know like you said yes yes i have experienced that it's like a short
circuit where you're like oh now what do i say because they they now have misunderstanding and
that actually puts me like let's say that jameson you asked me a question that reveals that you have
a knowledge gap about something now it puts me in this awkward situation do i tell jameson that he
misunderstand something so like what kind of trees do the computers come from
yeah see now now i have to say jameson computers come from eggs oh okay platypus or like a reptile
or bird i guess
exactly see and and there we just role-played a perfect
situation you can emulate
yeah i mean i get it i i've been scared to admit i don't know a thing
and sometimes i i don't and then i still just don't know it and hope it never comes up again
or that I'll kind of pick it up through osmosis or context.
I've found in situations where I explicitly say,
I don't know this, I end up learning it more quickly
and have to have it repeated to me fewer times
than when I am worried about admitting that I don't know it
and I'm trying to like secretly investigate it in a way.
That's a different thing though.
That's not quite stating your opinions.
Yeah, true.
But I feel like that's a prerequisite for me.
i feel like i have to understand it enough to state an opinion otherwise my opinion is worthless
to be fair i don't want to just jump in and say like well have you thought about using oak for
your computer trees like to be fair there are people who don't exercise the constraint you
just described and they're happy to jump in with an opinion despite not having a complete
understanding and those people are immensely annoying right i mean that is so counterproductive
been frustrating yeah yeah somebody has to kind of wrangle them and then and then say here's the
context you miss and kind of do that job for them but so so what if you have done the work you feel
like you understand it you have an opinion maybe it's different than the group or different than
the more experienced people how do you express it i i think i have a little technique for that too
and i think a good way to do that is to introduce your opinion um gently by instead of just dropping
it as a bombshell like i have a different opinion you can or sorry no that ignore that
instead of saying i think we should use oak for our computer trees you can say i've heard the
group's opinion and i would like to offer a counter opinion i'm not married to this opinion
and it might be wrong but i wanted to explore it with this group and then say i think we should
use oak for our computer trees let's discuss and see that way you put it out there as if the opinion
itself as its own entity that is that can live or die on its own merits instead of being tied to you
and you allow the group to kind of this is a weird psychological phenomenon but i think when you
tell people that you're about to offer a counter argument or something they they like emotionally
prepare to receive it instead of like receiving a baseball bat to the head you know yeah you're
placing it in their hands instead of hitting them with it yeah made of oak yeah from the computer
trees yeah exactly i feel like i'm not given concrete chances to improve i'm just reading
the question it's very demotivating so maybe the the manager isn't explicitly
giving you context to to change stuff and it's kind of on your own is that what that means do
you think uh can you repeat that maybe it didn't make any sense and i'll say a different thing
instead i'm just reading the question again giving giving opinions more and voicing them more there's
also the the part about um being demotivated by the feedback and and also by not feeling like they
have time or the or the room to improve i'm not given concrete chances to improve i yeah that i'm
not quite clear on that but these aren't the kind of chances that managers stand around like
handing out you know they kind of happen uh spuriously you know what i mean yeah yeah they
they do i i do see the way i do see how it could be demotivating to get feedback that you're not
sure how to apply to to be told you are doing this thing wrong and not feel like you have
steps or a plan to rectify it maybe that's what they're getting at a little bit and that's
something you can address with your manager too you gave me this feedback help me practice it
maybe we could practice it right here in in a one-on-one or a meeting maybe you could help
kind of provide some support in meetings so if I'm a little tentative or not speaking up enough
you could help the group listen or you could help encourage me. But I think part of the
responsibility of giving constructive feedback of saying, here's an area you need to improve in is
also saying, and here's how I can help you and support you in that. Yeah. And I think if you're
a manager and you approach someone and say, you need to speak up more in meetings, at that point,
you need to switch to encouragement mode. I mean, you clearly have a person who doesn't
feel comfortable doing that and so the last thing you want to do is say wait a minute you need to
have more two-way conversations like no i as a manager if you're going to coach someone to speak
up get them to speak up okay are all of their opinions going to be brilliant no you know are
they going to always say the perfect thing no but the goal is to get them to speak up enough
that they can start to practice it and get better and if you in the middle of that feedback cycle
turn around and say well now you're talking too much um i mean you're just crushing that person
So I, I think, I think maybe your manager has made a bad call here in the feedback that
they've given you.
Yeah.
It's not like a batting average where it's like, how many good opinions did you have
divided by how many total opinions did you have?
It's, it's, there's value in speaking up and working through these ideas, even if they're
not the direction you end up going.
Yes, absolutely.
Exploring dead ends is just as valuable in some cases as exploring the final solution,
because you need to be able to understand
why we didn't go down certain pathways, you know?
Like, you have to explore them
before you know whether you want to go down them.
And wow, is it a lot easier to talk about stuff
than go off and build it for six months
and then find out it was wrong.
So much easier.
Hmm, well, have we given satisfactory answers
to this question?
I don't know, I feel like maybe you need to speak up
a little more, Jameson,
but also allow for two-way conversation.
let me turn on my batman voice and go beat the crap out of you one second
all right threats of violence question answered
where can people i would never do that to you and also you're a lot bigger than i am so
you might you might win you'll never know until you explore that pathway we'll just have to try it
yeah i'm also pretty cowardly though so if you if you make the first strike you'll probably win
You're saying I could just intimidate you and not have to get away with violence?
Yes, I will probably run.
Okay.
Well, if you want to hear more like blow-by-blow accounts of Dave and I physically fighting,
or if you want your own questions answered, you can go to softskills.audio,
click the ask a question button to submit a question.
We really appreciate them.
We learn and discuss from, we discuss from them.
We learn from them and we discuss each one.
we're getting to them we will get to yours and we really appreciate it also while you're there
you could click on support the show and and head over to patreon and consider donating if you want
to and if uh if you like it just keep listening and tell other people about it that's a another
great way to support it cool all right catch you next week
