Soft Skills Engineering - Episode 264: Finger pointing and getting recognition
Episode Date: July 12, 2021In this episode, Dave and Jamison answer these questions: Questions Hi Mr.Smith and Mr.Dance, I’m a software engineer at a big software company. I recently learned to self-evaluate an...d found that I’m really bad at being finger pointed. I am normally an easy-going team player with an open mind. I accept that I can be flawed sometimes, and I would never blame anyone. But whenever someone points their finger at me and says “this bug is caused by YOU!” or more commonly “this bug is caused by YOUR systems!” (sometimes with facepalm emojis or this emoji 🤷), I suddenly become super defensive and frantically try to find counter evidence to prove that it is indeed THEIR system that is at fault, or at least some OTHER systems that is at fault, but definitely NOT MINE. After I cool down for a few days, I regain my composure and realize that what I have done was wrong and not useful to the discussion. This is specifically in the context of informal issue debugging between teams, not strictly a blameless postmortem meeting. I think blaming others is not a good behavior and makes the workplace toxic and unproductive. I would like to improve myself (and others). Any suggestions and recommendations? First of all I have to say a big THANK YOU to the work you’ve been developing, it’s helping me a lot to set my expectations and pave my career path. So, to the question… I’m currently working for a large Brazilian fintech and I’m starting to get a little bit annoyed by the lack of acknowledgement. I’ve already made it clear to my managers a couple of times and I always received great feedbacks and always performed “above the expectations” for my level. But in the last 1:1 we had I was a little bit more insistent about it and the explanation they gave me was “we know that our developers are above the average, we know that a Junior here can easily get Mid-level or even Senior in other companies, but we want to be a tech reference in the country and we don’t want to spoil the devs by promoting them a couple of times in the same year”. I understand this ambition but it got me a little bit frustrated. Of course I don’t want to be a mercenary nor a mediocre developer, but if this is the objective they’re aiming they should at least pay a competitive salary. This conversation really demotivated me, it seems to me they just want a high specialized work-force for a cheap price. I really appreciate everything I’m able to learn inside the company, for sure everyone is above average and being there is like being in school and it’s been really cool. But I’m starting to question if this “trade-off” of low pay and high learning makes sense once you’re already in the Mid-level corporate world. I’m pretty sure I can double my salary in the next month if I wanted to - a couple o recruiters contacted me in linkedin and I also made some interviews -, but this “tech reference and always learning” thing keeps bothering me and I wonder how much of it really makes a difference in the long run.
Transcript
Discussion (0)
it takes more than making only minimum payments on your tech debt to be a great software engineer
this is soft skills engineering episode 264 i'm your host dave smith i am your host jamison dance
soft skills engineering is a weekly advice podcast for software developers about the
non-technical side of software development like paying down your tech debt with minimum payments
stretch it out i'm sure that somebody's tortured this metaphor into having like a tech debt credit
score i bet you could pay some consultant to analyze your tech debt and give you a credit
score oh yeah if not one clickbaity blog post coming up oh nope it's been beaten oh take a test
test your tech tech credit score does it use the same scale as the fico score because that would
be hilarious i'll tell you after i take it okay and then get signed up for some newsletter
marketing stuff from this company we need multiple credit bureaus to keep track of everybody's tech
debt and then i will hack them and steal everyone's tech social security number right because we are
going to have to issue those yeah then they'll become used as identification in places where
they shouldn't be yeah circle of life then question mark question mark question mark
step four profit somebody profits okay should i thank our patrons do it thank you to these folks
who support the podcast at the level where we shout them out every single week thank you to
chitalian patron.com.au we're hiring ira chan monkey face emoji jonathan king testing is
documenting.org adrian boarding roman denisov is buzz influencer oladapo fadie karen spainson will
angel ragnar horison nick hathaway travis sanders dennis bogdanov braden canes john grant taras
haruk chris hogan nick cantar philip john basile bites of wisdom.com with a y thank you and thank
you to our our alumni donors and our future donors that we're recruiting now heavily yeah yes like
the college sports coach recruiting metaphor comes in here we have like our booster organization
they target specific people to try to get them to join the patreon uh what's our scandal gonna
be though is there like kickbacks or something definitely kickbacks we pay per github star
yeah we don't know where the corruption is yet but for sure it's there
you can count on that an essential feature feature of college sports
if you would like to join this crew you can go to softskills.audio and click support us on patreon
and any dollar amount will get you added to our slack team which is wise and smart and
all their dreams come true that's that is true and you help keep the show going so thank you
very much yes thank you all right we got some feedback from a listener who took our advice
would you like me to share it please i just want i would love for people to just predict in their
mind is this going to be a tragedy a comedy or what's the what's the third option where something
good happens happy ending is drama a tragedy i don't know oh i don't know it's sci-fi it's going
to be sci-fi okay this comes from a listener named frank who says my wife and i recently went on a
2,400 mile road trip. Oh, and for those of you that don't use Imperial units, that's about
4,500,000 smootes. Did you say 200,000? No, I said 2,400. Oh, okay. Miles. Yeah,
that'd be way more smootes. It's a lot of smootes. Yeah. Road trip and spent much of the ride
listening to your podcast. When I got to episode 257, side note, bless your soul, that's a lot of
episodes to listen to. Oh, man. My wife would be like, can we please turn this off? Anyway,
when I got to episode 257, you'd mentioned something about just asking for a raise when
you know you're worth more on the market. I figured, why not? I'll ask. And now, thanks to
you, I'm 23 and making six figures in a low cost of living area, and I'm eligible for another raise
at the end of this year. Couldn't thank you enough for what you do. Well, thanks, Frank.
I'm going to assume that the part we did was not the raise.
We turned Frank 23.
Frank was in his 40s, and actually, he time traveled.
We have talked about time travel quite a bit.
Yeah, and that's another way to make your money seem like it goes further, too.
Is to have deflation?
As you go older.
But yeah, if you're just 20 years younger and you make the same amount of money,
that seems like a lot more money.
Well, what if you could literally go back to when a quarter was worth, you know, you could go to the movies for a quarter, but you have all your money from, you know, 2021.
Yeah, then you probably have like polio too.
There's some downsides.
There are trade-offs.
The world is less egalitarian, but I guess you're rich, so who cares, right?
Who cares? Yeah, you're on the top of that.
It's egalitarian for you.
Yeah.
Boy, it feels great to punch down.
yeah congratulations frank i'm glad that worked out for you yeah congrats frank and i i don't
know if we if you signed the the agreement when you started listening to the podcast and said
any rays that you get that can be indirectly or directly traced back to us we get 50 of that
marginal increase so just keep that in mind we'll expect that patreon subscription next month
yeah i'm glad that worked out for you i should read the first question go for it and so i will
this is from an anonymous listener who says hi mr smith and mr dance i take you more seriously now
because you called me mr dance whatever i'm about to read i'll take it more seriously i'm a software
engineer at a big software company i recently learned to self-evaluate and found that i'm
really bad at being finger pointed i am normally an easygoing team player with an open mind i
accept that i can be flawed sometimes and i would never blame anyone but whenever someone points
their finger at me and says this bug is caused by you or more commonly this bug is caused by your
systems sometimes with face palm emojis or this emoji is that the arms crossed emoji i think it's
the uh hands up in the air uh shrug emoji oh it's a shrug one yeah okay the shrug emoji i suddenly
become super defensive and frantically try to find counter evidence to prove that it is indeed
their system that is at fault or at least some other system that is at fault but definitely not
mine. After I cooled down for a few days, I regained my composure and realized that what I
have done was wrong and not useful to the discussion. This is specifically in the context
of informal issue debugging between teams, not strictly a blameless post-mortem meeting.
I think blaming others is not a good behavior and makes the workplace toxic and unproductive.
I would like to improve myself and others. Any suggestions and recommendations?
I love this question because we've probably gotten a hundred versions of this question
where it's always someone else who's got this problem, never it's me. That's really cool.
Yeah. You're pretty good at introspection. Yeah. Even if you're bad at being finger-pointed.
Right. Yeah. I mean, they balance each other out. Yeah. I think it's funny that you mentioned
blameless postmortems because I was going to say you could attack the idea of causality, right?
It's kind of in vogue to tear down the idea of root causes for incidents and incident analysis right now and talk about, like, how systems interact and how it's complex and we're, like, calcifying one view of reality when we say this thing caused that other thing.
What?
So maybe it needs to become—
That's in vogue right now?
Yeah.
This could be me, like, totally misinterpreting the literature as well and being wrong a lot.
But, yeah, if you dig into, like, reliability and resilience engineering stuff, there's a lot of pushback against this idea of root causes because it can be too simple and leads you to miss systemic issues.
But if there literally is, like, a bug, I mean, that can be hard to say, like, but, like, the compiler wasn't engineered to anticipate this bug case, so can you really say it was me that did it?
Like, didn't the compiler engineers contribute to this as well by making null pointer exceptions not magically point to the specific thing they should point to?
That was a systematic problem.
I think we're thinking too small here.
Yeah.
Let's take a step back.
What was the mindset of the compiler authors when they created this language that allows null pointer dereferencing?
let's talk about capitalism and how it pushes us to do deadline driven work and how sometimes that
pushes us to move faster than we can verify yeah and really we need to have a revolution
and then this bug would not have existed yeah and after we're done with that let's talk about
why we came down from the trees in the first place let's talk about universal basic income
i shouldn't have to have this job to exist you know and so if we get income to just survive
right then i won't need to work making this like ad tracking software that steals everyone's data
that accidentally has this bug and then problem solved i just want to know i i saw you trying to
find the word subsist and i was impressed with your pivot to the word survive yeah i was like
subsist that's not a word stupid jameson there's no way that's a word yeah well i mean it was a
sweet pivot so thanks thank you so i think what you're saying is it's become popular to deflect
blame except now you're backed by academic literature yeah i think so um i'll try this
next time someone reviews my code and points out like an issue in it that would destroy everything
be like well our systems just aren't robust enough to handle me writing this code that
deletes all the data if someone passes in the wrong input whose fault is that certainly not
my fault for writing the code that deletes all the data for sure so dave my impression is that
you are the opposite of this is that right like if someone finds a thing and you're sort of at fault
you kind of like jump at the chance to fix your stuff and uncover it is that right yes so much
so. In fact, not only do I jump at the chance to fix it, but I jump at the chance to advertise to
the world all the things I did wrong to lead to this problem. Why am I like this? That's what I
was going to say. What happened to you? Well, the first time I wrote a bug and last time
I got hit over the head really hard. Things just went opposite. No, I don't know. I think there
was a time in my career early on when i was more interested in in pointing out you know like all
the other things that other people did to contribute but i really i think i got some
good feedback early on when i started showing my stuff being wrong and i and i think what i'm about
to say is true james and you why don't you just put on your fact checker hat and your critical
thinking cap for just a minute but i think one is a backwards hat and the other one is a forwards
hats so i can wear them both at once oh nice kind of in the sideways orientation in this moment uh
yeah yeah that's a good point they're not even straight ahead and back they're pointing out to
either side okay good my ears are in the shade all the time yeah i i think that when people
are really clear and transparent about the mistakes that they made and what led to those
mistakes and then what they've done to fix them and prevent them from happening in the future
i think people love that and i think it engenders trust i agree with you i think it does too because
sometimes part of me thinks like now they know i'm not perfect right because we all thought that
until this moment yeah exactly but they they didn't think that right there's bugs everywhere
there's broken stuff hidden in everything that's built already and if you can quickly fix it then
that's that's a pretty good state to be in i wonder this feels like it's kind of defensive
and maybe it's motivated by some fear or concern that you might be punished or seen as like you
might get blamed you might be seen as as like a poor engineer or a nuisance or the cause of all
these woes in the company and it sounds like dave what you're saying is you flip that around and say
like what if i get really good at at rooting out the issues in my own stuff yeah that helped the
company it will in fact i love this so much that even when there are other teams that are at fault
and I discover it and share it,
I will still try to find something
that my stuff could have done better
and add that to the list.
Because I just think it's so important
that everyone is really transparent
about mistakes that have been made.
And it creates an environment
where other people can be free
to also acknowledge their mistakes.
I mean, have you ever been in a room
where it's like everybody's playing defense
on, you know, like, let's just pass this buck.
I don't want to be the last one.
Yeah, it's the worst.
it's like nothing gets everything it's totally counterproductive so anyway i i don't know yeah
that's sort of the opposite of what i was talking about before of like there's it can't be my fault
because nothing is anyone's fault it's like there's always something i could have done even
if there was this bug in some underlying system maybe i should have had a circuit breaker so when
that system went down that my thing didn't fall over exactly exactly and i think people love that
like when you when you find a system-wide problem and it you know it's it's never simple it's never
like well i'm just dumb like it's not and i think everyone knows that these things are complicated
and so when you go all right well that that team system broke in these three ways and my system
failed to stave off the the thundering horde of cash busted cash invalidated requests yeah it
turns out i couldn't handle eight million requests a second right yeah but we're going back to origin
but when you point that out i just think it makes i think it creates oh man i don't know i
i guess it really just comes down to trust when people i don't know i'm trying to find a
counterexample but when you do that people trust you now i'm trying to think is there a situation
or a context wherein someone could actually be harmed by this for example if you work in a toxic
work environment where you do this and you really put yourself out there and say look at all these
mistakes i made and everyone just turns around and goes yeah you are you're terrible like this
team this guy's gotta go you know it could be harmful i suppose yeah i think you can get around
that by it's easy just don't work at bad places right problem solved yeah i think you can also
head that off by not just saying oh yeah it was my fault and here's how dumb i am here's the stupid
thing i did yeah you also get to dive into like here's here's what we'll do because of it like
here's how the system will get better and yeah sort of like the solution not just oh yep the
problem is my fault right if you have a lot of bugs with data validation maybe you need some
kind of better validation framework or something like that if you have consistency issues then
uh you just go down to one single database node and don't have to worry about
easy just put more shove more ram in there right i i think if i were you i would examine the
the cause of your defensiveness have have you worked at a place where it's been very blame
driven before is there someone specific you're worried about like this person will think i'm
an idiot is yeah is there some toxic culture that you need to figure out how to
how to uh point out your fault while also showing that you're still competent i think
something to figure out this underlying cause of the reaction of why why you get so defensive when
it uh seems like your system is at fault it might help besides all the wonderful benefits of like
not doing that i think digging into why you do that as well as is a productive thing yeah i agree
i've often heard people say you are not your code you are not your system you are not your team
and when someone criticizes those things it's not you and i think i've felt that you've probably
felt that too right jameson that it is me yeah like you're being like this is a personal
attack on you oh absolutely yeah totally yeah i've i've said that exact phrase to people of
you're not your code and also on the same team been like how dare you say anything about my code
about me i mean my code about myself that i put into this right yeah that's my soul in that git
repository that you just attacked um yeah the core of my being it's like easy it's easier said
than done conditional logic oh yeah wait the core of your being is an if statement that's i guess
when you put it that way it's like that's really dumb that's a dumb thing to think so so how do
you train your mind and probably your part of your subconscious mind to avoid being so deeply
intertwined with yourself or to avoid like you're just saying like to avoid the fear or whatever it
is and i have an idea on how to do that so that you can not have this instinctual fear-based
response, which is come up with a pattern of words that you can say in the moment so that you can
override those feelings with the conscious part of your brain that you know is right in this
situation, which is that responding in an upset way and trying to pass the buck to someone else
is counterproductive. So arm yourself with a pattern that you can follow instinctually and
give yourself time to cool off and really get into it. And I think that pattern would be,
say thanks for pointing out this you know thanks for sharing this information i'm gonna look into
this you know and that will buy you time so that you don't have to instinctually go no no no nope
nope could not be my system it's got to be that team yeah i like that i like the idea of defusing
the the kind of knee-jerk answer and that's what you need to do anyways right if someone says i
think there's a bug here and you know the system you probably are gonna have to go verify it
anyways yeah like and don't speculate well that couldn't i mean how many times have i heard an
engineer say that couldn't possibly be that's not possible it's like well really watch these
repro steps oh look look at that all the time you know and and get out get out of the habit of saying
of trying to determine what's likely or probable and just get into the habit of figuring out what
is because that's also counterproductive well i i can't imagine it would be my system like i'm not
bad and dumb yeah then you you lack imagination yeah well have we answered the question i think
so good luck i just think you're well on your way to a successful outcome here because you've
already identified it in yourself and i think a lot of people who struggle with this don't realize
they struggle with it yeah i have no idea what my weaknesses are i just think i'm awesome at
everything so uh either i'm right or i have crippling blind spots i think in your case you
were right okay good all right shall i read our next question please do i know you're right to
suggest that i do because it's coming from you i i knew i was too okay this comes from an anonymous
listener who says first of all i have to say a big thank you to the work you've been developing
it's helping me a lot to set my expectations and pave my career path so on to the question i'm
currently working for a large brazilian fintech company and i'm starting to get a little bit
annoyed by the lack of acknowledgement i've already made it clear to my managers a couple
of times, and I always received great feedback and always performed, quote, above the expectations
for my level. But in my last one-on-one we had, I was a little more insistent about it, and the
explanation they gave me was, quote, we know that our developers are above average. We know that a
junior developer here can easily get mid-level or even senior level in other companies, but we want
to be a tech reference in the country, and we don't want to spoil the devs by promoting them a couple
of times in the same year. I understand this ambition, but it got me a little bit frustrated.
Of course, I don't want to be a mercenary nor a mediocre developer, but if this is the objective
they're aiming, they should at least pay a competitive salary. This conversation really
demotivated me. It seems to me they just want a highly specialized workforce for a cheap price.
I really appreciate everything I'm able to learn inside this company. For sure,
everyone is above average, and being there is like being in school, and it's been really cool. But
I'm starting to question if this trade-off of low pay and high learning makes sense once you're
already in the mid-level corporate world. I'm pretty sure I can double my salary in the next
month if I wanted to. A couple of tech recruiters contacted me on LinkedIn and I also made some
interviews. But this tech reference and always learning thing keeps bothering me and I wonder
how much of it really makes a difference in the long run. There's a lot here. So their employer
is telling them, no, stay here even though you're taking a hit in level or salary because
your skills are growing so much and you get to work with such great people. Is that sort of it?
yeah yeah also if we give you too much money in promotions you'll get spoiled like they literally
use the word spoil yeah you'll be all uppity you wouldn't want to be spoiled would you that sounds
awful think of how that money will canker your soul yeah i saw charlie in the chocolate factory
recently isn't there a spoiled kid who dies in that one there's a bunch of spoiled kids who die
right isn't that like how they all die all the kids uh-huh and that's my moral compass is based
on charlie and the chocolate factory so that was roald dahl right yes there might be better
authors for moral compasses let's just say he wrote some really weird stuff oh i don't know
anything about that it's just all weird child stories that are just strange anyway it's fine
so this conversation really demotivated me yeah i can see why it'd be really demotivating
to be told you're doing really great but we can't promote you and pay you anymore there's
this one thing in here about getting promoted multiple times in the same year a couple times
in the same year that does seem a little weird but maybe the promotion ladder is different at
that company and the rungs are much closer together it'd be really weird for someone to
go from junior to mid-level to senior in the same year yeah it's like what did you do that year yeah
but not impossible i guess maybe you're an outlier i mean i gotta tell you this feels
like a pretty clear case of quit your job like yeah thanks thanks for all the growth you've
given me and helping me qualify to earn a much higher salary at some other company yeah it sounds
like i mean sure no company has a monopoly on talent there are different trade-offs you can
make along the like life convenience work-life balance salary pace industry team size like
there's all these axes that you can put a put a put a pin in at a specific spot of the of the
space that chooses like on as much money as possible maybe that means that i have bad work
life balance and i don't know some frustrations at work or but but i don't think it seems unlikely
that there's not a company that also has smart people because they pay them really well you know
because right now you're only working with the smart people who don't want to get paid very much
money yeah exactly it's a subset of the smart people yeah smart in some ways maybe smart and
aren't too motivated financially which isn't the same thing as dumb they could be uh they could be
hermits or wizards yeah they could be removed from the material material world enlightened just not
yeah just not care about the things that money can buy everyone is above average i mean everywhere
says that their employees are above average though. Let's be honest. Remember Lake Wobegon?
Yeah. Where all the children are above average. Yeah. Isn't that right? I've never worked anywhere
that hasn't talked internally about how awesome the employees are. These are the best engineers
like in the world. Yeah. And while I'm there, I have this willful suspension of disbelief where
I think everyone says that, but it's true here. Everyone else is wrong, but here they're right
because I work here and all my colleagues are smart and nice, but there are smart people
everywhere. I think you're doing the right thing. I think you should look around a little bit and
see if you can find another talented team that pays better. Yeah. That's kind of a thing you
can do when you feel like you've hit a ceiling at your current place. Especially in this market
today. Yeah. I mean, fintech is very hot. I don't know what it's like in Brazil. Fintech feels like
the new blockchain or AI or something, except that it's a little bit more real in that every
startup is now a fintech startup uh yes but that just means there's money in it i guess so
that's weird that they're not paying you very well yeah yeah that's weird they're like hey
you know those billions of dollars that move through our company every day could i just have
like a like one one thousandth of one percent of that it's just small price to pay yeah i suspect
from what's written here that this company has been able to get away with low salaries
specifically because they have a good reputation and people are willing to work there for low pay
and you probably have learned a bunch of really cool stuff and typically when companies do this
i can only imagine that they they the end result is high turnover maybe i mean yeah i could see it
being hard to leave once you get in though i guess that's the situation you're into maybe it's worse
somewhere else maybe but yeah the good news about developing very valuable skills is other people
will pay you a lot of money that's right if you learn a whole bunch and get really good at your
job then somewhere will pay you for that that's right so you're feeling pretty good about quit
your job huh yeah this feels like a this feels like a good use for the old reliable or at least
interview around and find out how how firm their stance of we don't want to spoil you is that's
right and you might be surprised but that when you show up with an offer they go oh remember that
everything we said about spoiling you and wanting to pay lower because we're a tech reference in the
in the country yeah well never mind about all of that here's your we'll match that offer you
demonstrated through getting this offer for twice as much money that you have the growth and maturity
to handle this extra money we're going to offer you without letting it ruin you.
That's right. That's right. We think you passed the spoil test.
Yeah, we're not worried about it anymore.
So I'm latching onto one comment in here, and that's all I'll say about this.
I don't want to be a mercenary. I think that there is a widespread attitude among engineers,
certainly has been, I don't know if it's still around, but that wanting to earn more money is
somehow bad. And I don't think that's true. It can make your life worse. You can get a worse
job that pays you more money. For sure. But you're saying just the desire to be paid more money is
not ungrateful or wrong or something. That's right. And I guarantee you your boss would leave
if he or she got a really good offer as well. So we're all responding to these incentives.
But this whole mercenary concept, I swear, was invented by people who are trying to get a good
bargain on labor. Yeah. I hear it come up a lot in the context of startups where they say we want
missionaries, not mercenaries. It's people that believe in the mission of the team and are willing
to take the risk and working conditions that a startup involves. Yeah. I haven't heard too much
of that recently. Honestly, I think our industry is kind of growing out of that. They're like,
oh, we are mercenaries. Actually, someone pays us and then we do a thing. Yeah. That's a lot
like what mercenaries do a lot like it i mean we don't shoot guns at things but yeah metaphorical
our keyboards are as loud as guns that's right a mechanical keyboard sounds a lot like a wild
switches have we answered the question i think so i i didn't hear a lot in this question about
i really want to stay i love my team i love the company i don't want to leave i'm just hearing
i'm frustrated i don't like what the company is telling me and there's a better opportunities
outside seems like a pretty clear-cut case yeah what should people do if they want us to maybe
tell them quit their job or maybe not go to softskills.audio and click ask a question where
you can fill out our form and we want to say thank you so much to everyone who's done that
there are lots of questions and we have our entire lives ahead of us
so keep them coming yep please do thank you catch you next week
Thank you.
