Soft Skills Engineering - Episode 368: Manager in crisis and cutting costs
Episode Date: August 7, 2023In this episode, Dave and Jamison answer these questions: I am a senior engineer working in a team of 7. My team lead went through a pretty rough divorce in December. Since then he’s been q...uite distracted and disengaged at work. I decided to help him out by temporarily taking on some of his responsibilities. Over the months things seemed to have gotten worse. He shows up late for the 10am standup meeting almost every day. He never contributes anything in stakeholder meetings. I am effectively leading the team at this stage. Last week we had a one-on-one meeting to conduct my annual performance review. I wanted to discuss my situation and a potential promotion/raise. Instead he spent the entire hour crying about his life situation. He also shared with me that he has been heavily drinking and doing drugs for the past few months. He is clearly in a very dark place. I have experience with depression so I was able to empathize and offer some advice. I genuinely feel bad for him and I’m a quite worried that he might not be OK. But now I’m in a difficult situation. I’m sleep deprived while trying to do the job of de-facto team lead/manager as well as my regular senior/IC role. I don’t think anyone in HR or management is aware of what is going on. I don’t know what to do about this. I feel that if I tell HR about the situation that I will be betraying his trust. (and I might even get him fired depending on how much I divulge) On the other hand if I do nothing then I’m the one who has to keep shouldering the burden without compensation. It’s also negativity impacting the team as I have no management experience while simultaneously my code quality is suffering. This is putting me under a lot of stress during a time when I’d love to spend more time with my newborn. Sorry for the long and difficult question. Even if you don’t answer it at least I feel better for sharing this with someone :) Hi there! Long time listener, first time caller. I’ve been working at a small, seed stage startup for a little over a year as a senior IC and team lead. There are developers on another team who have been working at the company longer than me who have… questionable practices. For example, in production they set their log level to debug because they claim it is critical for them to find and fix bugs. However I’ve never seen or heard of an example of them actually using these logs to fix a problem, and this results in log spam and higher cloud costs. Whenever I try to open a dialogue about this or another one of their practices, they’re quick to deflect and insist on not changing anything. They don’t get defensive but just don’t want to do anything differently. Usually I give them my opinion and let them handle their own services but we’re seeing real financial costs to their decisions. I know our greatest costs are on people but I think we should still be responsible with our cloud spending. How can I get these other developers to Quit Their Job™ or otherwise be more open to new ideas for their practices?
Transcript
Discussion (0)
it takes more than looking at your newly hired co-workers resume for inspiration while writing
your own to be a great software engineer this is episode 368 of the soft skills engineering
podcast and i am your host jamison dance i'm your host dave smith soft skills engineering
is a weekly advice show about all the non-technical stuff that goes into the technical field of
software development like this is an advanced form of resume driven development where it's
like resume driven hiring you hire people who have good resumes so then you can be inspired
i don't know you hire people with good resumes but i mean the fact that they were hired is a
data point enough that they were good resumes so they are sure they're working with you
and so if you want to get your job now you know what to do
I do want to acknowledge the crappy audio quality I have I just am away from my normal setup so
bear with me if it turns out you only listen because of my microphone we took away Jameson's
high quality microphone because he was badly behaved this week maybe maybe he'll get it back
next week now I will find out how much you care about the words I say not just the rich timber
which i say that all right shall i thank our patrons yeah please we want to say thank you
to trash panda thecomputersciencebook.com the re-elect jameson dance boogie brigade
the re-elected jameson dance committee santa hobart noah frazier logue kent c dodds jenny
kim all capitalized by the way jenny kim thank you jenny kim owen chardall craig motlin i love
mavis the stochastic parrot alice jost tuscarawas ohio patron.com we're hiring ira chan monkey face
Emoji, Jonathan King, WebTow,
Awesome End-to-End Testing, Ola Dabofadiyi,
Will Angel, Nick Hathaway, Braden
Keynes, Travis Sanders, John Grant,
Bartek Tatkowski, Cody,
Professional Puzzle Solver Sale, Nick Kantar,
and Philip John Basile. If you'd love to join
this illustrious crew, go to softskills.audio
and click the Support Us on Patreon
button. And if you contribute enough,
maybe Jameson can afford a better microphone.
And we'll
say your name on the show or
whatever emoji or unpronounceable city in
whatever Midwestern town in the United States of America you'd like us to say. Pretty much anything
that's safe for work and fits in the Patreon field. And any dollar amount will get you access
to our Slack community, which is now growing to within spitting distance of 1000 people of a lot
of people who are just very interested, kind, helpful, and actually very helpful. I'll say I
see a lot of questions getting asked. And it's just so weird that the Slack community is so off
brand because our brand is providing crappy answers to serious questions and they provide
serious answers to serious questions so it's kind of like the the free audio gets you the
crappy answers but if you want the real good stuff you got to pay yeah anyway that's all i got it's
it's a poor pitch for the good stuff yeah but such is life i had a great conversation with uh
someone i met through the pod or through the i guess through the podcast through the slack today
so yeah all right should i read our first question go for it this is from an anonymous listener who
says i'm a senior engineer working in a team of seven my team lead went through a pretty rough
divorce in december since then he's been quite distracted and disengaged at work i decided to
help him out by temporarily taking on some of his responsibilities over the months things seem to
have gotten worse he shows up late for the 10 a.m stand-up meeting almost every day he never
contributes anything in stakeholder meetings i am effectively leading the team at this stage
last week we had a one-on-one meeting to conduct my annual performance review
i wanted to discuss my situation and a potential promotion slash raise instead he spent the entire
hour crying about his life situation he also shared with me that he had been heavily drinking
and doing drugs for the past few months he's clearly in a very dark place i had experience
with depression so i was able to empathize and offer some advice i genuinely feel bad for him
and i'm quite worried that he might not be okay but now i'm in a difficult situation i'm sleep
deprived while trying to do the job of a de facto team lead manager as well as my regular senior IC
role. I don't think anyone in HR or management is aware of what is going on. I don't know what to
do about this. I feel that if I tell HR about the situation, I will be betraying his trust and might
even get him fired depending on how much I divulge. On the other hand, if I do nothing, then I'm the
one who has to keep shouldering the burden without compensation. It's also negatively impacting the
team as I have no management experience while simultaneously my code quality is suffering.
this is putting me under a lot of stress during a time when i'd love to spend more time with my
newborn oh my gosh sorry for the long and difficult question even if you don't answer it
at least i feel better for sharing this with someone that's until you hear our advice about it
and then you'll feel even worse this is intense this is a rough one this is a rough one this is
gnarly. Yeah. I just want to start by saying to the question asker, you are so kind and you're
giving up a lot to help this person through a crisis. And I just want to say thank you.
I think if the world had more people like you, that would be a good thing.
Yeah. I mean, clearly your manager trusts you to share the rough stuff. I guess they didn't
say where they're from, but if they're from the US, you traditionally only say all the great
things that are happening in your life and yeah guaranteed this manager gets asked how are you
every day like 10 times and the answer is always great yeah not great though oh goodness well
yeah and that is very rough that is very rough i'm just thinking through the it's an interesting
inversion too because this is a thing not common but you can deal with as a manager where someone
who reports to you is having some really rough life experiences and it impacts them as a human
also impacts their work and you have to kind of deal with it. But it's an added wrinkle. It's
your boss. Yeah, it's your boss. In a management position, I would say most managers most of the
time have one person going through a known crisis like this on their team. But having it be your
own boss is a whole new level of, like you said, it's like, I don't even know how to do people
management. I've never done this before. And now I'm trying to manage my team to fill in for my
boss and my boss needs a little bit of help too yeah i so i think you have to talk to somebody
about it i think the current situation is not sustainable and they're on track to lose you and
the manager both of which are rough and and maybe if things change about the situation by you talking
to someone you can adjust your situation be more healthy at work and also help your manager maybe
keep both maybe maybe your manager leaves maybe you leave but right now doing nothing feels like
feels unsustainable as yeah kind of pointed out yeah doing nothing is definitely the wrong choice
here but i don't know james and i'm not sure i agree with going to talk to somebody else about
this yeah i i think if i'm going to talk to someone i would talk to my manager you know
obviously they're not in a situation where they can really do their job at all. I mean,
the fact that you had a performance review and you were like, hey, let's talk about,
you're hoping to talk about getting a raise because you're doing their job.
You know, like, help me out here. And instead, your manager was completely unprepared to talk
about that. Probably is going, just such a hard situation right now that just basically doesn't
have the capacity to even do their job. And I would talk to them about that first. I would
probably say, Hey, look, I just want to be really frank with you. I care about you. I want you to
be happy. I know you're going through some really hard stuff. We need to find a solution to the
current situation where you're, you know, your life is making it very hard for you to do your
job. And I'm, I'm covering for you a lot. Like, let's just say that out loud. Like I'm covering
for you a lot. I've been happy to do it, but there needs to be a timeline on it now. Like we need to
talk about either you know a time when it will end i don't know if that's weeks or months
or we need to talk about pay change or responsibility rearrangement or something to
make this work out because right now i'm trying to do two jobs and it's it's actually too much for
me you know and then let them kind of take the lead on how they want to take that from here
that's what i would suggest so i think i can appreciate you suggesting talking to them
because whatever happens is going to affect them i would not have high hopes that this manager who's
just struggling to do the the kind of the bare minimum because their life has fallen apart
is going to resolve that i know i know you're right i guess to me that that feels like a courtesy
yeah like i feel like you have to give them the solution yeah yeah i think you're right i'm like
i would give this a chance give them a few weeks like let them know i mean look they're not thinking
about you right they're just barely holding things together you know so they're not they're
not thinking they could be thinking about you and just like wracked with guilt i know yeah
when there are times where i feel like i am i am slacking in some way and i know it it feels awful
yeah um but it also it might help to have someone acknowledge it where they're they're maybe they're
kind of like waiting for the shoe to drop waiting for people to notice and and and they know it's
coming and that's a bad feeling to have it hanging over you if yeah if you bring it up it's sort of
like yeah this is happening and and we need to do something about it instead of just like
someday i will be fired yeah and that's why i'm hopeful that having you bring it up directly to
them before taking it to their manager or to hr will be that moment for them to kind of snap out
of it a little bit and and refocus some of their energies on fixing this part of their problem
because look this is a this problem has like 10 huge variables that are all like raging in your
face all the time and right now the job variable is under control at least like it's not it's not
burning in their face it's just kind of burning in the background you know yeah and i think you
know you've covered for them a long time for the manager yeah for the manager job is yeah their job
has been like the one thing that's kind of under control you know compared to all the other things
in their life but your manager does need help like let's not be mistaken here like if they've
if they've gone to substance abuse very unlikely they can just pull themselves out of this one
without some serious help together with someone else not i'm not saying from you but from someone
who can handle that and i and i would not expect a third job which is a therapist
add a new job take on the responsibility to fix just fix their life and then your problems will
be fine yeah yeah it's so simple lead the team write your code and fix someone's life
yeah oh but i mean i guess what i'm saying is i'm hopeful that by by bringing this conversation to
them in the forefront where you say look i'd like to work on this together now and and find a better
balance of duties yeah they've been wracked with guilt like you said james i think that's likely
but they haven't confronted this aspect of their life's problems yet they've been coasting on this
one letting you handle it and and that was wonderful of you but you can only do so much
and you need to make sure that you have an off-ramp before this thing breaks you too
you know what i mean like there's a blast radius here so i would give them a chance i think it's
a professional and a humane courtesy to just give them a chance to say all right i am going to go
talk to my own manager about this. Because maybe they need a leave of absence. Maybe they need some
medical leave. And look, if this is a manager of managers who they report to, this is not their
first time dealing with a health crisis or a personal crisis. So maybe there are tools in
place for them to do that. Maybe some other manager can step in and cover for some of their
duties so you don't have to cover them all. Or at least maybe half of them and then you can take the
other half so you're now reducing your load by half. But yeah, I would give them a chance. Your
manager a chance to resolve at first i do think you the question asker has clearly taken on a lot
and it it feels like they're being kind of self-sacrificing here right sleep deprived i'm
trying to do this new job and i have a new baby do my job i have a new baby i think it would be
helpful for you to sit down and enumerate what your needs are with with me i can get very sucked
into like well the right thing to do is just suck it up and help and do more and give up more
and that's not healthy and sustainable and and one of your needs is like i need to be able to
spend time with this newborn right that's a just a just a blink of an eye over the length of a
lifetime that they're that they're that young if you have a partner they're they're it's hard
on them to be dealing with the newborn if they're doing it alone like it's a it's a unique
experience that's wonderful it's not wrong for you to say i need to be able to do this and i can't
yeah and and and stuff has to change for me to meet this need that i have that's that's kind of
non-negotiable yeah for sure um and i guess i'm bringing this up as a way to counteract potential
feelings you might have of guilt of like well i'm being selfish right i'm like i should just carry
this i'm going to impose on this yeah i'm going to impose i'm going to make their life worse right
I might out them. I might make them do more when they're struggling. And yeah, both those things
might be true. And it's still true that you have needs that are not being met by the current
situation. And I think it's also good to acknowledge in these situations that people
can stretch, like I'm talking out of the question asker, people can stretch for a temporary amount
of time, but not forever. And so, you know, it's hard to know exactly what that amount of time is.
like if you were to tell me hey dave listen you need to take on essentially all of your boss's
responsibilities how many days can you do this before you break i'll be like i don't know yeah
like 10 20 100 i don't know yeah um but not zero non-infinite yeah exactly it's it's probably
greater than zero maybe greater than one yeah um but you'll need to decide you just stroll into
the office the first day and say good news everyone work is canceled until further notice
wash your hands responsibility is taken care of yeah exactly
yeah like i couldn't i can't imagine i just can't imagine how long it would take
but you as you live it you start to know and it's okay to say it needs to stop now or i can do one
more week you know whatever it is like you know you know what your capacity is and it's not really
your responsibility to go 10x your capacity on these things yeah also if you're just thinking
about it selfishly from the company at some point even if the situation is resolved if it goes on
for too long you won't work there anymore like it'll just be you'll be burnt out of that job
maybe you'll have like ruffled some feathers because you have zero hours of sleep and you
yell at somebody in a meeting maybe maybe you just have a bad taste in your mouth about the
way the whole thing went down so the the date at which you quit out of frustration or get fired
because everything falls over is not like you need there's a day before that i'm not going to
work here anymore even after this is resolved that's the wrong date to wait for that's not
the signal you're looking for i also want to just say like all of this will pass um this whole
situation will pass i can't say exactly how i can't say for sure that your manager will have
a positive outcome or a good recovery but they might um but i can say that the situation that's
happening now will not be the situation forever. So another perspective here is to just kind of
see how long it goes. And with the understanding that helps you cope, that this is temporary and
it won't last forever. And six months from now, you'll look back and go, wow, that was a rough
situation, but it's totally different now. So I don't know if that helps or like helps increase
the amount of time you can carry this, but sometimes that perspective helps for me.
I like that as perspective. I just would want to make sure that doesn't lead you to not
address it yeah for sure someday yeah i do believe i i do believe sooner yeah exactly like i do agree
that uh even though that time will take care of this problem in some way that it behooves you to
act today to talk to your manager about how you're gonna get it done or if you follow jameson's
advice go talk to hr but you know that doesn't usually end well so my advice in general doesn't
usually end well oh anyway all right this is a rough question bit of a downer good luck it is
rough tons of sympathy goes out to this this poor manager who's got a life in crisis hope hopefully
everything works out for them yeah best of luck yeah all right dave do you want to read the next
question yeah this one is from an anonymous listener who says hi there long time listener
first time caller i've been working at a small seed stage startup for a little over a year as
a senior individual contributor and team lead there are developers on another team who have
been working at the company longer than me who have... questionable practices. For example,
in production they set their log level to debug because they claim it is critical for them to
find and fix bugs. However, I've never seen or heard of an example of them actually using these
logs to fix a problem, and this results in log spam and higher cloud costs. Whenever I try to
open a dialogue about this or another one of their practices, they're quick to deflect and insist on
not changing anything. They don't get defensive but just don't want to do anything differently.
Usually I give them my opinion and let them handle their own services,
but we're seeing real financial costs to their decisions.
I know our greatest costs are on people,
but I think we should still be responsible with our cloud spending.
How can I get these other developers to quit their job?
With a little trademark logo above quit their job.
Or otherwise be more open to new ideas for their practices.
Well, I got to say, that's the first time we've been asked
how I can convince someone else to quit their job.
That's meta.
I like it.
Yeah.
you gotta get them to listen to the podcast oh man hear how many times we beat that drum
people are funny they're quick to deflect and insist on not changing anything it's it's so easy
to examine a situation and decide that actually everything i'm doing is correct and everything i
know is right and yeah people are saying stuff but they're wrong because yeah they're not saying
the thing that i think right they're not as close to it as me you come up with a lot of reasons why
they're wrong yeah we need these debug messages even though they cost five thousand dollars a
month and i've only used them once in the last year yeah i have i do have thoughts about that
if you're talking purely about the cloud spend you could do some back at the end maybe you don't
know how much everyone makes i don't know what kind of startup it is but you could do some back
of the envelope math and estimate just like a median developer salary for your location and
then figure out how much that is a month and then if you stare at what your cloud costs are a month
And I suspect that's going to be like single digit percentages of the total cost of cloud cost plus headcount and payroll.
So it's possible it's not.
And then maybe it's something to work on.
But say they're spending $1,000 a month on these log messages and your total cloud bill is like $5,000.
And it seems huge.
Like, oh, my gosh, that's 20% of our cloud bill.
Yeah, it's a lot of money.
and also our payroll is like a million dollars a month so if you take it from 5 000 to 4 000
congratulations you have you've shifted a grain of sand yes congratulations you have created a
rounding error yeah it's a good point yeah so so there's a way to think about the cloud costs i
mean cloud costs kind of do always go up and yeah if if you spend a thousand extra dollars a month
on logging long enough then it'll add up but like the urgency might be lower to them than it is to
you if they're thinking about it that way but maybe it is a huge number maybe it's like fifteen
thousand dollars a month and it's most of your cloud costs and yeah even if it's a small amount
of total spend it's still rough i would be more concerned about the about making the logs harder
to use for real things like if they're just spending clutter stuff yeah then then i'm just
not going to look at, it'll be more work to filter the logs down to look at actual production
fires. So I feel like that gets into like productivity and that's where your cost starts
going to spend more of these precious developer hours, which are way more expensive than storing
logs to dig through it. I guess my point is it's costing us money does not necessarily feel like
the most compelling argument for why they need to change their practices. Yeah, I agree. Unless
you've got strong numbers here, I'm also latching onto the fact that this is a seed stage startup.
So seed stage, for those that don't know, is pretty much the earliest stage in a startup.
It's like stage zero. And usually what this means is that you're building a product.
You don't know if it will serve a market. You don't know if the market is really there. You
might not even have any revenue yet, might not have any customers. And so the thing to optimize
is not operational efficiency.
The thing to optimize is rapid iteration
and product development.
So anything you can do to speed up new feature development
and getting new product into the hands
of potential customers faster
is where you wanna put all your resources.
Now, if your infrastructure in this case
is a little bit more expensive than it should be,
or even a lot more expensive than it should be,
it might not matter.
Because if you divert engineering effort away
from what I said earlier,
putting new product in the hands of customers quickly, then you're actually potentially
putting the whole business at risk by optimizing things like log messages. So yeah, I worry about
that. Now, if this was a established company running on thin margins with just barely cash
flow positive, and there were opportunities for cash flow improvements here, I would go for it.
Because look, you've got customers, you've got recurring revenue, things are looking good,
it's time to to get efficient but efficiency is just not the objective and in seed start
seed stage startups except for when it comes to getting new product in the hands of potential
customers yeah you spend a day tuning the log messages after a day of fighting with this team
and your runway is six months long and now it's like five months and yeah 30 days exactly 23 hours
and 55 minutes long exactly yeah yeah now if they're blowing so much money that that the
infrastructure costs and hosting costs of your of your product are actually starting to shrink
your runway that now does it does affect the uh ability for your company to survive and so you
know that and that's totally possible right like it it's pretty easy to run a cloud bill up like
crazy where you're going oh my gosh this cloud bill is actually going to shorten our runway by
50 that's a big deal but if it's shortening your runway by like one-tenth of one percent
i would ignore it yeah it's easy to click your click buttons to death we are kind of narrowing
in on this because they said for example and then this is the example they gave but presumably there
are other questionable practices right and then you're in a common situation which is how do you
influence without authority you're not the boss of this team you don't even work on this team it's
another team that you're looking at and saying you i think you are doing things wrong and you have
tried to convince them to change. They're quick to deflect and insist on not changing anything.
They're not sold by your pitch. It was not convincing enough to overcome the cost of
doing stuff differently. If you really feel strongly that they really need to do stuff
differently, the case you have made to them is not enough. And one common thing I see is
talking about practices in a vacuum
or without the context
of what the team has to do right now.
So we've talked about logs.
Say we're talking about tests, right?
The team doesn't write any tests
and they see bugs and they fix them
and their code quality could be better.
Like there are reasons
why they should write more tests,
fewer bugs, better code quality,
kind of better quality in general.
But also they have this crushing roadmap
of all this stuff they have to do
to save the company,
to make it continue to exist an argument that you should slow down to write more unit tests
because it is the right thing to do is unlikely to convince them in this case right so and i could
definitely be telling you stuff you already know and have already considered but if you just tell
them you should do this thing because it's better it might be better in a vacuum but the cost it
would take to change to that practice is is worse for the team because of all the other stuff they
have to get done exactly cool we have unit tests and we didn't we didn't ship this product
and the timeline for unit tests to pay off will be like two years and the company will die before
then or whatever i don't know that sounds very very existential and intense but but it is like
that seed stage startups are all about we should do that better thing yeah yeah like cool that
would be better but it is better to exist and to have that better practice you know they say uh
one of my favorite quotes which i have quoted on the on the show before is there are two kinds of
startups those that fail and those that are embarrassed by their code and in this case
embarrassed by their debug messages so yeah you know it's like sometimes to survive you have to
do things that are not your favorite and maybe cost dollars but save engineering cycles so anyway
maybe that's all true but i actually james and i want to go back to what you said earlier which is
how do you influence without authority and i i'd like to kind of switch my mindset from
from the question asker doesn't have grounds to stand on to make this case to the opposite,
which is this is something the company needs to do. It is expensive. How do I influence this
team to change it? Well, nothing speaks stronger than hard, cold numbers. And if I were you and
I had access to their infrastructure or their cloud bill, I would pull it up and I would take
a look at what's actually being spent. And I have found that this goes a long way to motivate
behavior change. I have started at a few companies and one of the first things I will do is pull up
the cloud bill and just go line by line and read and understand every dollar that we're spending
every month. Very informative. And often this will lead to a dozen questions that I ask and I'll say,
what's this elastic search cluster for? And they'll be like, oh, we forgot to turn that off.
You know, like that's very, very common. But the point is you come up with dollar amounts
and then write them down and see if you yourself can make a written case that actually convinces
you that something needs to change here as viewed from a disinterested third party who only cares
about the business and operational efficiency. Then if you're convinced yourself in what you've
written, put the writing in front of them too, in front of the people who can actually enact the
change. Yeah, that makes a lot of sense. It feels like a Dave thing to say. I appreciate you talk
about data a lot. Very Dave-like. So that also is, it's clearly applicable to things like cloud
costs where there are there are easily quantifiable costs to them yeah i'm imagining there's a lot of
software development practice stuff going on here like i don't know the way you create your release
branches or cicd things or linting or any any number of things that you think are the right
way to build software and those are a lot harder to convince people that don't want to do them
to do because it's just harder to get data on that. They're a lot fuzzier. It gets into taste
and opinion. And one thing I have seen help here is, man, I'm going to sound so businessy when I
say this, but I'm going to say it anyways. President business.
President business, chief of business, executive texture, aligning with the vision of the,
i don't know the organization as a whole so maybe maybe the engineering leadership there
has has a value of like we iterate really quickly and if you can then tie these practices to that
value it becomes more motivating or maybe it's like we build the highest quality stuff and we
and we sometimes take longer to do whatever the decision you make is of it should be something
with the trade-offs you're not just saying we we do the best thing whatever that is all the time
because it feels yes yeah this this this depends on having some kind of coherent vision that
involves like trade-offs and how you handle them but if you have it you can tie back what you want
to do what you think they should do to that and and talk about how the lines that could help
motivate as well sort of like well we want to be the kind of company that iterates really quickly
And so if you spend a couple of days setting up this practice, then I think it will help you iterate more quickly.
And even in the timelines we have to work in, I feel like it will pay off and move us more towards the type of the type of engineering team we want to be.
Yeah, I think I think I really like your idea of kind of rooting your arguments in the company's expressed values.
But I also think this is really hard territory.
If you actually like you've got a team, they operate one way.
They like it.
it seems to be working for them at least from their perspective very hard to come in and have
them change that unless you can point to specific problems that their practices have caused you will
be unlikely to change their opinion or anyone else's but if you can show up with a list of like
five issues that were created because of this team's practices you likely have a lot more success
but if you can't if all you have is like this doesn't seem like a best practice to me and based
on my experience, this isn't good, then I just don't even think it's worth raising the issue.
It's hard to do this even top down. Like the CEO of the company could be like, well,
we have to write more unit tests. And if the team doesn't want to, and it's been working and
they feel like they have too much to do, like, I don't know. Yeah. Probably not gonna without
some, some tight scrutiny and enforcement. Exactly. Whatever the, whatever the practice is.
Like, I'll give you an example. So I started a new job about eight months ago and the branching
deployment model that this company uses was different from any model that i've seen before
well sorry any successful model i have seen before i actually i i had seen this branching
style done or something kind of similar to it in the past and i knew that there was an opportunity
for commits to get lost you know where it's like people deploy code but then later that code doesn't
get re-merged doesn't get merged into the mainline branch and so then later someone deploys something
else and that one is missing and so we actually like lose features exactly so like we lose bug
fixes or bugs from a customer's perspective bugs reappear or features disappear yeah and i had i
felt pretty strongly about changing this model because i was like hey listen i know from
experience that if your process allows for commits to disappear then they will like they will find a
way to get out it's like water in a leaky bottle you know you it's like it will find a way out
somebody will forget yeah to do the thing exactly so i so i made a case for it and i but i waited
and watched i'm sorry i made a case by writing kind of my own analysis of the situation and then
i waited and watched for a few months to see if we had any issues actually introduced by that
leaky commit problem and a couple of opportunities showed up where i'm like oh maybe that was it and
i did a deep dive with the engineer to kind of understand the root cause of a couple of issues
and nope, turns out neither of them were lost commits.
And then I found out that the engineering team
had put in place some extra mechanisms
to kind of ensure that as a developer,
there were certain steps you couldn't take
unless you had all the latest commits
integrated into your branch, et cetera, et cetera.
Long story short,
I have actually converted to loving this new model
because there are some other advantages
that make it really, really beneficial
over the traditional model that I had used.
And so now I've gone from being enemy to friend
on this thing.
And it was actually because I tried to make a case against it and I couldn't make an objective case that would offset the benefits of this model.
So, you know, this is an example where I actually like talked myself out of it.
I was pretty convinced, though.
I'm like, this has got to change for sure.
Nope.
Now I love it.
Yeah.
That kind of gets into the Chesterton's fence idea, which is you need to look up how to explain this more concisely.
But basically, you don't change a thing without understanding why it's there in the first place.
you don't, you don't just change stuff that you squint at and seems wrong. I have also started a
new job and have experienced that, that same feeling of like, wait, why do we do this? This
seems, it seems like we should not do it this way. And then sometimes you're right, you know,
cause you have fresh eyes, right? But not always. Yeah. But I feel like more often than not, I am,
I am wrong in my initial snap judgment of this seems weird. We shouldn't do it this way. And
then I dig in and understand why it makes more sense. So, so I think what we're saying is
your snap judgments are wrong sometimes that's so weird knee-jerk reactions aren't right that
can't be yeah if they're always wrong then it's pretty easy because i just do the opposite of my
snap judgments and then i'm always right but they're they're right often enough that i can't
just invert them and be i've tried i've actually tried that technique where i i just second guess
myself because i know that certain impulses are wrong especially with navigation and i gotta tell
you it doesn't work i'm like i feel like turning left here so i'm gonna turn right and then i'm
like oh but maybe that's just me telling myself that i feel like i turn left and so i'm turning
right maybe i should turn left and anyway i just end up getting lost anyway i'm just so bad at
navigation you're so bad that not even doing the opposite of the wrong decision is the right
decision exactly it's like my mind is one step ahead of me guaranteeing i make a mistake yeah
no matter what you will always pick the wrong direction no matter how many how many levels of
second guessing you dive into i toggled 13 times and still went the wrong way how did it know
oh my brain is so smart if i don't use that intelligence
navigation instead of smarting me
yeah i think what you're saying is investigate the practices a little more and be if you do
want to change them it's going to be a lot of work yeah so it might not be worth the work
yeah it yeah it might not be worth it but also understanding why could help why they do it that
way can help you make a better case against it or it might also convince you of why it's not that
bad yep but once you've done a few of these deep dive investigations to truly convince yourself
that something is good or bad i think what what i have found is that over time the candidates for
scrutiny have to they have to be really strong for me to actually invest the time and i'm like
it's just not worth it a lot of yeah yeah i found that over time too as i as i age and become wiser
more jaded slower yeah yeah before i had this this worldview of how things should be and any
deviation was enough to get my hackles up yeah wait that's not i read this blog post four months
ago that said we shouldn't do it that way we should instead do it this way and i have noticed
that i'm a lot more willing to say like yeah maybe i'm wrong it's probably fine i don't know
yeah if i could if i could without cost change everything to my liking maybe i would change this
but it doesn't rise above yeah yeah the level of worth it for the effort exactly so give up
yeah just give up that's the answer here you gotta care less yeah oh good luck caring all the time
I know. Have we answered this one?
I think we have.
Okay, good luck.
What can people do if they want their own questions answered, Dave?
Well, this one I can tell you exactly what to do.
Go to softskills.audio and click the ask a question button,
and then type the opposite of what you think you want to ask,
because obviously you got to second guess yourself.
And then we'll try to reverse engineer what you meant.
And then we'll answer, again, we'll give the opposite answer of what we originally thought.
And then together, the two negatives will cancel each other out,
and you'll get the answer you're hoping for to the question you wanted to ask.
and you can fill out that form
with as much or little information as you want.
And as always, we send out a big thank you
that we just transmit over the ether of the universe
to all of those who have submitted questions.
We love them.
You keep us going every week.
Thank you so much.
Thank you. Thank you.
All right, we'll catch you next week.
