Soft Skills Engineering - Episode 280: Async communication and how to quit not nicely
Episode Date: November 29, 2021In this episode, Dave and Jamison answer these questions: Questions Starting to work on a team that is split across time zones. With a majority of the company based in one time zone and a ha...ndful spread in others. I want to emphasis the importance of asynchronous communication. I have found Slack to begin to feel like I need to respond ASAP instead of when it is convenient. If we were to say slack is used for asynchronous communication, is asking the team to use signal or even text appropriate for a quicker response? What is a good way to reach out to team members in cases where a response is needed more immediately? After about 1 year at my developer job, I was moved to work for a client company helping them launch a new product. This other client had different plans, it turns out, and now I’m just testing their API for them. That’s fine but I never get questions answered and I hate my job with my client and hate my job with this company that sells me like a cheap piece of meat. I want to quit, I will quit, but I have a lot to say about why I’m quitting. How can I NOT be nice about quitting and the reasons I’m quitting, and still feel comfortable showing my face in the industry again? I haven’t quit a job before, and this is my first job in the tech industry. Searching how to quit a job always comes with “remain light and positive.
Transcript
Discussion (0)
it takes more than getting two problems through the advent of code every year to be a great
software engineer this is episode 280 of the soft skills engineering podcast i'm your host
jameson dance i'm your host dave smith soft skills engineering is a weekly podcast where we talk to
you and answer your questions about the non-technical things that go into the technical
field of software development have you ever finished the advent of code no i've only read
about it and not that much about it i've yeah i've probably done two or three problems every year
and it feels like it's it's one of those resolution-y type things so it starts in
december and then i end not having fulfilled it and then i start trying to fulfill my new
year's resolutions and kind of like it's a track record of failure leading into making all these
optimistic resolutions of how i'm going to change my life it doesn't level set you and make you
choose resolutions that you won't fail on having just finished failing no it it makes me think i'm
just not trying hard enough or thinking big enough i'm gonna walk into this booth and then i'm gonna
come out like superman a different person with superpowers starting january 1st perfect and then
you've been doing this for how many dozens of years oh maybe this time it'll maybe all those
where practice runs yeah oh yeah preparing you for this year yes yeah i only have to become perfect
once that's fair done it that's so lots of failure but i believe i'll get there someday
do you want to thank our patrons dave yes a big thanks to those that are contributing at the level
that gets them a weekly shout out they are andrew pollack an invisible iframe click jacking attack
trans rights ian walter arun dhuna kashoktan ohio cameron hall patreon.com.au we're hiring
ira chan monkey face emoji jonathan king testing is documenting.org roman denisov fizzbuzz influencer
oladapofadihi karen sveinsen will angel ragnar hardison nick hathaway travis sanders dennis
bogdano of brayden canes john grant i bought winrar nick kantar philip john basile and bites
of wisdom.com with a y if you would like to join this illustrious crew you can go to softskills.audio
click the support us on patreon button and if you contribute your retirement nest egg we will read
your name out loud and if you contribute any dollar amount we'll give you access to our slack
community on the first week of every month sold sounds like a deal all right should i read our
first question yeah go for it this is from an anonymous listener who says i'm starting to work
on a team that is split across time zones with a majority of the company based in one time zone and
a handful spread in others i want to emphasize the importance of asynchronous communication i have
found slack to begin to feel like i need to respond asap instead of when it is convenient
if we were to say slack is used for asynchronous communication is asking the team to use signal
or even text appropriate for a quicker response what is a good way to reach out to team members
in case a response is needed more immediately oh man this question kind of reminds me about
some of one of the things i really dislike about our modern age can you guess what that is
electricity
sans serif fonts i see sans serif fonts on my screen right now is that it i don't know what is
it i feel like you know here we are back in the olden days there was basically i don't know one
or two ways to get a hold of someone and you could either go find them in person you could call them
on the phone you could send them a letter and it was pretty clear which one you needed to do based
on any situation but now yeah if you were in love with them you sent them a letter or you went to
visit them or you catch them at the airport yeah now i feel like not only are there lots of
different methods depending on the urgency but actually i have to keep a mental list more of a
mental mapping of preferred communication mechanism by person yeah you know like i feel that too my
my mother-in-law prefers voice call my my good friend prefers text my other friend prefers slack
my other friend prefers linkedin message my other friend prefers email you know what i'm saying
this sounds like a problem begging to be solved with a layer of abstraction
can't you just build the universal communication adapter and you just put it in one thing and then
it knows how that person likes to receive it and then you don't even know how it's being delivered
yeah you can you can you can build a ui to let the person select how they would like it to be
received unfortunately because this has to unify and abstract away so many different delivery
systems it has to have a performance sla of about of the least of the lowest common denominator
which is which is snail mail so it's like a four-week message latency
and it'll it'll upscale your snail mail letter to video if that's the input format you choose but
it's gonna be pretty low resolution there's got to be some deep learning thing where you like
hand it a letter and then it generates a video of you saying that letter saying the letter i was
thinking i was thinking like a facetime video bot that just shows you a video of a piece of paper
that's our mvp yeah we're iterating on the snail mail part of it yeah i feel that i'm trying to
think of all the ways i talk to people steam chat discord signal text email twitter direct messages
you you mentioned signal and and it's funny because of course signal is for your privacy
and security conscious friends but it's funny because it's like is this the signal type of
privacy conscious person or is this a telegram type of privacy conscious person or is this a
is this a one-time code right snail mail letter encrypted with a this message will self-destruct
yeah yeah i feel your pain so now we're doing this at work are you doing it at work you feel
like you have multiple different ways to communicate with the same people at work
that's yes but i'm i'm now i'm just channeling the question asker who said you know we use slack
for asynchronous communication but slack which by the way was born to facilitate synchronous
direct messaging primarily is now being considered an async communication channel so we're now
leaning into signal or telegram for more immediate responses like that's what i'm reading in this
question do you think slack was made to to do synchronous communication i feel like slack was
originally created to do synchronous chat direct messages and group chat and they've only recently
rebranded themselves as the asynchronous communication hub because i gotta tell you
if if they really think if slack really thinks it's an asynchronous communication technology
they are just so wrong because it is so easy to lose messages in slack if you just don't
happen to see it at the right time like it's gone gone forever yeah i have like 75 inboxes in slack
you know yeah again you need the universal inbox to unify them all you need your notification
panel that just takes in email slack signal you just read it in one spot yes i'm sure there's
there's got to be a sass product out there that does that so it's it's time for me to link to
the same article i link to whenever this comes up which is an article written by 37 signals called
is group chat maybe making you sweat and it's basically about what you just described dave of
the overhead that chat causes if you're using it as a synchronous communication method and
expecting responses right away and like tracking people's online and offline status and trying to
keep up with the the fire hose and messages yep i don't remember what their conclusion is but it
was basically like chat is hard to do well yeah uh let me scroll down really quick skim it's the
internet skim skim skim skim skim conclusion is uh it looks like an ad for using base camp the
product that they sell use the thing we sell all right that's the conclusion surprise surprise
but this it's also interesting because this company built campfire which is one of the
i think that's the first that's the chat software we used at my first technical job
outside of school is that still around i don't think it's still around yeah it was campfire
it was hip chat and then slack just i don't know why slack just took over that world yeah i remember
being all hipster about slack and saying oh this is like irc and hip chat and campfire and why is
it so cool and then everyone started using it and then that's why it's so cool because
everyone already uses it right yeah i think campfire is gone okay anyways so they know
they have been around this space for a long time yeah and they say it's hard perfect so
not solvable is what you're saying i think throw some slack at it is not a solution and that's
that's been that is slack's pitch to solve the problem is use slack and and pay us money please
and then the problem will be solved right but the problem that solves is now you can search through
your chat history instead of not search when you weren't paying slack any money yeah i i miss email
sometimes when it comes to things like this it's so much easier to follow a thread of discussion
in email and it's so much easier to keep communication async because you can't get
into this habit of like two people are there at the same time so they just toss messages back and
forth rapid fire between each other and everyone else right who is not there just has no context
no way to participate i yeah i don't hate i hate junky email but email for communication with your
team that is meaningful discussion i feel like is pretty useful yeah i feel like i totally agree
with that i feel like when people get into slack conversations about things that they tend to be
more surface level discussion. Email kind of encourages deeper thought and longer turnaround
times on your messages. You don't feel rushed to get a response in before someone else does.
Yeah. Yeah. I do feel rushed to get a response in before someone else does.
And sometimes the response is like a big gif that blows up the thread and then now it's derailed.
Yep. So that's a defense mechanism. If you see a thread that's starting to go in a direction you
don't want, just start dropping in some hilarious GIFs. If we were to say Slack is used for
asynchronous communication, I don't think you can make that happen. I've seen places try to
pull that off. There's probably somewhere that pulls it off. But the default way that people
use Slack, especially once you start to bring in non-engineers and you work in more cross-functional
teams, the default way is like a phone call that is slower that everyone can see. It's a phone call
you type yeah i have been in the process of trying to use slack asynchronously for the past year
and i am very close to declaring failure this experiment has now yielded valuable results
the results are don't use slack for async one thing i have tried to do is set personal
communication expectations and they do basically follow what this question asker said where
if i dm someone on slack it's not because it's an emergency if it's an emergency i will page them
with our emergency pager service that we use but i tell people that but it's so hard to follow that
when there's all these features built into the tools that tell you when stuff happens right away
that's right so my intention is to do it async because often the things i'm asking for are not
worth interrupting a developer and kicking them out of flow but even then it still doesn't work
you can tell people hey get back to like if i dm you it's it's not urgent and then they still reply
when i dm them that's right now there there is a solution to that problem which is a newer a new
ish feature in slack which is that if you have a dm you need to send to somebody but you don't want
them to stop working right now and maybe you have until tomorrow for them to respond you can schedule
the message to be delivered tomorrow what i've wanted that for so long how do you do that there's
a little drop down chevron next to the send button in slack oh my gosh and you can say send later or
something like that i use this all the time oh my goodness how have i never clicked that all right
monday at 9 a.m dave you're gonna get my hastily typed misspelled message i just scheduled for you
oh that that is the primary use case for me is it's a weekend an idea occurred to me i need to
let someone know yeah schedule it for monday morning yeah i don't want to get someone out
of bed or like especially i work with east coast people and i'm in mountain time so i'm several
hours uh earlier than them so sometimes i'll be at finishing my day and have some random idea and
want to get it down so i don't forget it but i don't want someone to work at 8 p.m or whatever
bear in mind that even though this is a useful feature it doesn't change the synchronous nature
of Slack. It just shifts the synchronous conversation to a different time of day.
Yeah. And you just said the word time zone. And I think we should zero in on that for a moment
because the question here is all about how do we manage communication, especially async
communication with people in different time zones. And I think you just stumbled upon one
very useful thing is being sensitive to what time zone people are in and scheduling messages to go
when it's going to work for them. Which by the way, I love because when I have people on the
east coast i work with i will schedule messages to go to them at 7 a.m my time the next day
and that'll give them time to respond before i get into work you know and it's super nice so if you
can do that that's i mean that's pretty darn helpful yeah sometimes i'll even put in the
message hey this was a scheduled message so i'm not here you know and then the message comes
pops up monday morning at 9 a.m for them another thing i found helpful this is more task specific
But if I'm asking someone to do something or collect some information, if I don't say when I want it by or when I need it by, then people can jump to all kinds of assumptions about how urgent it is and how much they need to interrupt what they're doing.
Yes.
So I try to include, hey, can you do this thing for me?
And it needs to be done by like next Friday or something.
Right.
And I've had bosses do that for me and it was helpful.
So I stole it from them.
I love that.
Usually what I do is I ignore it and then forget it and never do it.
And then it turns out that often they forget too.
They didn't even need it.
Yeah.
It works.
You should start telling people, look, I need this by next Friday.
But if you forget and then the following Tuesday comes along, just forget I asked you for it.
I feel like I've gone back and forth about how hardcore to become about async communication,
how zealous to become.
It's probably a better way to say it.
and i'm pretty i i used to be all about it and everything had to be written and thought out and
take time to to to consider stuff and it's a lot of work it's so much work to write stuff out and
most of the stuff you're writing out is like half-baked and then i don't know i'm just
complaining about how hard work is i guess but it's sometimes you need to have a quick
half-baked exchange of ideas in order to arrive at something where if you spent an hour crafting
a proposal to describe that thing you find out at the end of an hour that it's oh it's garbage
that's what i that's what i was gonna say this is especially valuable for bad ideas
yeah if we were to say slack is used for async communicators yeah yeah you could say it it
depends on how much your team wants to do this i think if your whole team is excited about using
Slack for async, you can set it up in a way that encourages that. You can turn off status,
you can hide notifications, spread that culture to new people that join. If it's just you and you
say, hey, I would like to communicate asynchronously in Slack, what that means is that you will
communicate very slowly, but synchronously in Slack. Everyone will be mad at you because you're
so slow to communicate synchronously with. I think the higher level abstraction of this
question is, is it reasonable to use a separate system for synchronous communication versus
asynchronous communication? And I think my personal opinion on that is not only is it reasonable,
but that will absolutely happen. Whatever system you designate as async will become the system
that means slow responses. And when someone needs a faster response, they will resort to whatever
system suits that. And in my mind, I have kind of three levels. I have async where it's like,
I don't need an answer for an hour or two or days or more.
And then I have synchronous where I need a response,
but it can come in a few minutes.
And that usually is like SMS or signal.
And then the final level is I'm going to call you on the phone
because not only do I need a synchronous response,
I need you to drop everything else you're working
and give me 100% of your attention right now.
That's like the ultimate synchronous.
Yeah, that's the something's on fire move.
And in the days before we all worked remotely,
that was I'm going to walk over to your desk.
I'm going to stand right next to you until you take your headphones off
and I'm going to wait until I have your eye contact
and then we're going to talk
does that mean prod will just be down if they don't notice
that you're standing behind them
you're just patiently waiting
well I might escalate by tapping their shoulder
oh whoa there
yeah
yeah I found slack to be in
yeah I what I would
do is raise
this concern with your team
and see if they share it because
i bet a lot of them do especially if they're developers that they feel this pressure to make
the numbers disappear when they have messages that mention them so i think you might find some
support for it i agree you can at least the smaller the group is i think the easier it is to make this
work i had it work pretty well on one of the engineering teams that i that i managed and
everyone was pretty bought into it but i found friction again when i tried to behave the same
way with larger groups because they didn't expect me to get to it when i got to it so you're saying
like it's crucial to establish shared expectations yeah i think i am yeah that is what i was saying
if i if i understood what i was trying to say that's how i would have said
awesome well okay signal or even text appropriate you mentioned calling on the phone is there yet
one more level of even more urgent than the phone call yeah these days since i'm assuming we're all
working from home and if you are that even more urgent looks like getting on a plane and then
renting a car and driving to their home and then knocking on their front door well that would take
hours right but it's it is way longer it's synchronous but it has very high latency ah
that's true have we answered the question i think so it's a tough problem and oh one one aspect of
this question we didn't call out that i think is significant that will make it much harder to solve
is that the majority of team members
in this situation are in one time zone
and then there are outliers
who are in different time zones.
And that's going to make it hard
to establish shared expectations, I think.
Yeah, I work at a company now
where most folks are,
I said East Coast already,
and just they're very good
about being sensitive to time zones,
but naturally the bulk of the communication
just happens around East Coast hours.
So if you're not in East Coast,
there's sort of a window where you overlap that you try and get all your communication done in.
But I haven't ever worked at this mythical paradise where it's totally 100% remote and
disconnected from where you are in the world. And you just kind of exchange messages through
the ether and don't even know where people are. Maybe that might work better if there
are fewer time pressures but often you need to do stuff faster than that for work right okay now
we've answered it yes will you read our next question sure thing this comes from an anonymous
listener who says after about one year at my developer job i was moved to work for a client
company helping them launch a new product this client had different plans it turns out and now
i'm just testing their api for them that's fine but i never get questions answered and i hate my
job with my client and i hate my job with this company that sells me like a cheap piece of meat
i want to quit i will quit but i have a lot to say about why i'm quitting how can i not be nice
about quitting and the reasons i'm quitting and still feel comfortable showing my face in the
industry i i haven't quit a job before and this is my first job in the tech industry searching how
to quit a job on google always comes with a remain light and positive that's true yeah so
first job in the tech industry is maybe first full-time kind of professional adult job yeah
the advice you read on google is right the best way to do this is remain light and positive if
you have very specific grievances maybe bring them up in an exit interview but that's the boring
advice of like there's you could definitely burn bridges sure and that can be bad the tech world
is small you might work with people that know people that you worked with or you might not now
because they know of you from the way you quit or something so that's yeah that's the boring advice
it's probably not worth it and also the the other part of that is it's probably not going to make a
difference honestly right the company is not going to listen to someone who is disgruntled about the
way that like this giant megacorp handles billing and be like okay that's it that's the straw that
that's the final straw you did it now we must start this billion dollar initiative to re-imagine
how we do hr systems at this company thank you so much on your way out the door for fixing this
company they might know what sucks and and i don't know it could make a difference i don't want to be
totally negative but it probably won't honestly and also when you quit the company the people
that are there sometimes have to like exile you from their their group to feel better about staying
too so true might not be as as well heated because you're not one of them anymore yeah oh man i have
so many thoughts about this the uh the first thing that i'll say is that whenever i go into
situations like this. I try to force my mind to go outcome oriented. What are the outcomes that I
want? And in this case, the outcome you want is to be able to show your face in the industry in the
future. You want a new job. You want to find a company that doesn't suck. And you probably don't
want to burn bridges with these people. And so with that as your outcome in mind, you just do
whatever it takes to get your outcome which in this case is being nice there's one more outcome
they want which is express their displeasure at how they have been treated right but see that's
not really an outcome like that that's a the path i know you're i know you're being silly but the
path to that or the the outcome that that leads to is that you feel like you've served justice
you know yeah you show them what's what right and and you want them to feel as bad as you've felt
right which if you've been feeling bad for a while and you're trying to compress that into
one exit interview of time you have to make them feel really bad for that 30 minutes yeah you're
gonna have to do some stuff that might and might put you in prison so i you know might maybe not
worth it it might burn a bridge with like your future voting rights as a u.s citizen
man i really burned a bridge with the fbi on this one
but at least they know how unhappy i've been yeah so i want to quit i will quit i have a lot to say
about why i'm quitting i think that's fine it's fine to have a lot to say think about it from the
perspective of the person who will be receiving the feedback that you say it depends a lot on
where you are quitting but it could be someone from hr that you've never seen in your life before
and will never see again and they have no context their job is to make sure the company does not get
sued yep and that if you're there in person that you don't like harm people yeah yeah so so if you
rant to that person about the the broken i don't know code review culture in the engineering
department they will just have no clue what you're talking about it might right it might make a note
in your file yeah yeah they were upset about collaboration and that's that's what the summary
of your 10 minute rant yes exactly the the other thing that might happen is let's say you do let's
say miraculously you do get an audience with actual decision makers who are have been responsible for
your pain and suffering and who might be able to course correct the company what if after you share
all this information with them they just look back at you and say i already knew all this yeah
that's pretty it's pretty likely you don't know anything they don't know or sorry did i say that
right it it's very likely that you that they know everything you're about to tell them already
and that they have chosen to create a company like this anyway maybe they don't know how to fix it
too yeah and maybe you don't either maybe there's a lot more to the situation than you even realized
don't bring problems to me bring solutions that's what your boss will say when you quit in the final
meeting oh i had a thought yeah if if if you want your your message to be understood you want to
attacking is a good way to put people on the defensive right and if yeah if you're trying
to make yourself feel better and don't care that much about burning bridges then you can talk about
how horrible the place it is and how dumb all the people are but if you're trying to say i think
you're doing this wrong and you should get better in these ways you need to you can still be forceful
and have strong feelings about it but you need to convince them to listen to you not just tell them
how bad they are that's right and if your outcome you're going for is just to make yourself feel
better about this go talk to someone else about this company yeah yeah because if you talk to the
company about the company you're not going to feel better if anything you're going to feel worse when
you realize oh they're just smiling and nodding until i leave this room how can i not be nice
about quitting and the reasons i'm quitting yeah again you can be you can be clear about the
reasons you're quitting you you should not threaten to harm people or i don't know oh yeah put stinky
fish in the vents or do some hijinks that is a good way you could get the attention of the company
as you like storm the all hands meeting stage grab the microphone from the ceo and then what
then you probably get stage fright scared of public speaking
and then leave and you leave what was that about i don't know yeah i think the best thing you can
do on i don't know i feel like i'm being a bummer but i i do think you have very little to gain from
just letting it rip on on this company i agree if if your purpose here is trying to make this
company better especially for your co-workers who you like there's really two mutually exclusive
options you can either stay and help fix the company or you can leave and not work on this
company in any way there is no world in which you leave and also improve the company except in very
rare circumstances with very high profile departures but yeah if you really want to fix
this company you got to stay and if that's your purpose in sharing everything about their company
and how they've treated you badly then you should stay but if you just want to get out just get out
and take exiting on good terms as the outcome you're going for. Don't bother a single wit with
trying to improve this company. That's what I would do. In fact, I would go one step further.
I had a good friend who left a company once and he was leaving on good terms and he came to us
and we had some, you know, as with every company, we had some problems with the company and he came
to us and he said, all right, team, I'm leaving the company. I have my exit interview today.
why did what reason do you want me to tell them that i'm leaving and all and because he goes look
you know whatever i say might actually help improve things so we all talked for a bit and
we agreed you need to tell them that you're leaving only for money and so he did he went
in there and every question the hr representative asked him he answered the same way i i love this
company i love the leadership i love the team i have one major problem and that's i'm just not
paid enough and he did it and then i'm not kidding you within three months we all got raises oh my
gosh it was awesome that's amazing what a hero he was a hero see what i mean like outcomes right
the outcome we wanted was we all got a raise and he helped facilitate that outcome but that's about
the only thing he was going to be able to pull off on his way out the door yeah i don't think
you should stay i mean you sound pretty miserable at this job yeah i agree i think you should just
you're you're doing what what you should do when you're at a job you don't like which is quit
that's right you did it that's the thing to do and then if you want to make it fun ask your team
what you should tell them for why you're quitting or if you're not quite confident enough to do that
try to make it a game that you quit without them having any idea why you're actually quitting and
that they think you're just as happy as possible and make that your game this by the way goes by
another name it's also called professionalism i've seen people disappear mysteriously and no one know
why and that didn't feel very good to be there still so i think that might be a way you could
be really mean to the company oh just yeah yeah if you have a really good reason for quitting a
job then it makes people there feel fine oh they they had to move across the country for their
partner's career or something yeah yeah then of course they have to quit there's nothing wrong
here right if you just disappear you could have been fired and there could be more laughs coming
yeah you could have i don't know you could have been miserable you could have stolen their core
ip and taken it to a competitor you could be the rat getting off the sinking ship first yeah yeah
that could be a way to do there you go that's how you quit not nice don't tell anyone why you're
quitting and when they do ask you be very elusive yeah it's time to go oh i have my reasons you'll
see yeah that's the best one you'll see why don't worry that was a really good answer there you go
thanks i i've been practicing i didn't even have an exit interview when i quit my last job yeah
yeah and i should have maybe someone will hear this and then schedule one with me but
all right well did we answer the question i think so we did all right good luck good job dave be
nice yep remember outcomes oh one more thing that popped into my head about this question
i had someone who joined the company was very unhappy really had some grievances against the
company quit if i was in their shoes i yeah it makes sense that they quit because they just were
not happy weren't weren't meshing but the the way they quit was still very professional and they
said i'm taking this other job i've learned some stuff here thanks for your help still knew that
we probably would not be working together because we did not like each other very much at that point
but tried to leave without harming other things and i that that made me feel better about stuff
and left a better impression for other people too that's called professionalism yeah that person did
so you can too all right professionalism the the other subtitle of this show
right clearly one of our core tenants here at soft skills engineering clearly
what should people do if they want their own questions answered so professionally go over
to softskills.audio and click the ask a question button and we just want to say thank you so much
to everyone who has left questions for us there are so many questions some of them are more
professional than others and frankly we like the unprofessional ones more
but we will answer all of them one day you didn't take the opportunity to to just tell
the listeners how miserable they made you and burn the bridge with all of them we are ashamed
of some of you no we we love it we love hearing from y'all it's great it teaches us stuff it
expands our horizons thank you catch you next week
Thank you for watching.
