Soft Skills Engineering - Episode 61: Product Managers and Notifications
Episode Date: May 25, 2017We answer these two questions: What should developers know about product management? I have TOO MANY notifications interrupting me all the time. What do I do? ...
Transcript
Discussion (0)
it takes more than great code to be a great engineer this is episode 61 of the soft skills
engineering podcast i am your host jameson dance and i'm your host dave smith soft skills
engineering is a podcast where we answer your non-technical questions about the technical
field of software development and sometimes we read funny stories from listeners like today
okay so we asked for uh we asked for people to write in with stories about uh bad interviews
and um we've gotten some good ones this one's actually pretty funny so here it goes this is
from a listener named ryan ryan writes back when i was looking for my current job i was actively
interviewing with three or four companies i had a phone interview scheduled one afternoon
but didn't make it home before it happened as a result i was navigating the busy streets of
new york city while fielding complicated computer science questions like why do you want to work
here i didn't particularly care about this company but i embarked upon what i hoped was an enthusiastic
sounding answer complete with details of what i liked about their product as i brought my beautiful
speech to a close i wasn't exactly expecting applause but i was surprised at the complete
silence on the other end of the phone after a few seconds i ventured this isn't acme computer
company is it them nope me well this is awkward this is awkward uh i also super like your company
you do neat things too in fact um who is this
needless to say that conversation ended quite abruptly and i never heard from them again i'm
sure i'm sure had oh sorry i'm sure had your podcast existed back then i'd never had made
such a silly mistake thank you for all your wisdom and jokes please never die
oh that's amazing thanks ryan
on the phone with the wrong company yep your company your company is so cool also now who is
this we are popular competitor to acme computer company yeah working to destroy them also if you
didn't notice we substituted acme computer company for the real company they didn't even tell us what
it was actually yeah they wrote acme that's what maybe it was all right we also have a follow-up
story um hello you answered my question a couple weeks ago about changing from a development role
to a product owner role and which manager should i approach first i just wanted to give you an
update i approached my current manager first and he was very supportive so much that he proposed
and i agreed that we would try this by me doing product owner work for him this is a bit of a
departure from where i traditionally uh this is a bit of a departure since traditionally all the
po's report to someone else that's my initial question to you so far it's working out really
well having a foot in both worlds i'm allowed to attend training and am involved in the po group
meetings but have been able to stay with my current manager who i really like working for
and expand my reus which is an acronym that stands for resume extension units
um that i'm assuming is a standard unit now yeah thanks for your help and love the show
oh that's awesome so once again talking to people early and often works out great yeah it sounds
like it did congratulations that sounds that sounds great let's dive into our first question
okay i'm just gonna take charge and read it because that's the kind of person i am
can do take charge type a read question what should engineers know about product management
short and sweet short and sweet this comes from listener richard oh yeah i forgot that part sorry
richard i denied you your glory yep denied glory denied i i actually really like this question
because it indicates that you think that it's a good idea to know stuff about product management
and you don't just think they're the enemy or people whose job it is to make your job harder
or I don't know. Sometimes there can be this adversarial thing that is usually resolved by
understanding what other people actually do. Have you ever worked with someone you would
consider a really good product manager? Yes. What made the product manager you liked?
What made you like them? There have been a few actually that I liked and I realize in hindsight
that one of my favorite product managers to work with, I liked them not necessarily because I
understood or appreciated how good of a product manager they were, but because they were able to
communicate with me effortlessly. And in this case, the PM had been an engineer in the past.
So he had no problem communicating with me in my language on my terms. You know, he just fully came
to my court and did all the talking in ways that I could understand. And so and he understood me
when I talked back. So it was like no, no problem, right. And that to me made him a great product
manager but really that's just one very small dimension of a big role as product manager so
yeah i would i think now with a little more years under my belt i look back and i say
he that product manager was good at communicating with me were they a good product manager i
actually don't know i don't think i observed i don't think i observed enough um different facets
of their job to to make that conclusion i mean since the world is centered around you the fact
that they communicated well with you i think means that they are a good product manager they must be
good at everything else yeah well there is nothing also really good at tennis and uh pretty much
anything yeah since i've never been a product manager i actually asked a couple product managers
i've worked with what they thought developers should know about their job and i got some
interesting responses a lot of it kind of came down to empathy um that developers are great
at developer stuff and sometimes they don't look at the the context or scope that their great
developer work happens in um and and if you understand like all the different requirements
the product manager is juggling or the reason why there are deadlines or the reason why there
these things that seem unrealistic then um like they both the people i talked to said they really
like it when developers really understand the business stuff and then push back um but they
also really hate it when developers just kind of knee-jerk say like oh that's hard or oh that's
stupid okay so they they like it when they understand the business stuff and push back
but they don't like it when they don't understand the business stuff and push back but they're going
to be pushing back right like either way well yeah that's that's a part of life and and i think
yeah that came up too that they recognized that healthy pushback over product direction is is
i think sometimes you can be afraid to do that and these people both said they really liked it
they were they were like mad okay so in other words pushing back to them is considered like
neutral ground and normal but to a developer might be really scary yeah well especially pushing back
when you understand like if a product manager comes in and says this feature must exist or
the company will cease to exist and developers like but it's gonna make our code so unclean like
that's kind of the degenerate case but but that's that's how i think without a lot of effort that's
how a lot of technical objections can come across to product managers yeah so you have to like you
said dave this product manager communicated with you really well either the product manager needs
to draw that information out of the developer and and figure out like okay they have these
technical objections i don't understand i need to make them make sense to me or the developer needs
to make the effort to couch them in terms the product manager understands yeah what else did
you get from your pm friends here's a direct quote you may not care about what they care about but
you should if they seem unreasonable try to understand them and their motivations and give
them what they want and need or just work for a company that doesn't have them
those do exist by the way yeah they i mean yeah there's no defined role i mean the work
gets done somehow yeah someone's going to manage the product yeah might be someone's yeah mob
mob product management yeah what else do i get here help them understand how simple design
changes can save lots of dev time okay yeah that's that's another thing they'll kind of
hand over a feature and developers can sometimes be mad that it's like such a stupid finicky thing
that takes forever to implement that's i think that's a concrete example of the case where
giving good feedback is really important and understanding like they don't care about this
like fancy 3d drag and drop animation they just want this basic functionality and that was how
it was designed but if you can do it in an hour without that then then that's way more valuable
so oh man that reminds me of a feature that some pms and ux designers developed or designed at my
last company and we had this app it was a it was a web app and it was getting slower and slower it
was it had like sometimes multi-second latency in the ui where you would click something and it
would take a couple seconds for it to take effect and they wanted to do this like slick drag and
drop thing where you could drop things onto these big tables and have them update and i was like oh
oh boy, this is not going to work.
So I pushed back really hard.
And in the end, we built it without drag and drop.
And it was like the drag and drop idea was perfectly good,
but given the context of how slow our app already was,
we would have to go and spend months
improving the performance of the thing
before we could build something fancy like drag and drop.
And it's like that's context they didn't really have.
They didn't really appreciate the slowness
and how bad the drag and drop experience would be
if the UI was totally laggy.
yeah which kind of sucks actually as a developer because sometimes you have to air your dirty
laundry you know like in this case like hey we built the app but it's really slow so we can't
do this cool thing you want to do because yeah yeah because we suck yeah uh sorry about how we
suck but i'm gonna have to push back so what else you got what else do i got a lot of this i'm
realizing is uh context based on our work together i'm not sure how generalizable it is i mean here's
one thing product management is different everywhere just like development is different
everywhere okay um there are some unifying themes but but i don't think there's one way to do
project management or product management i guess i do think there's one unifying theme
between every company that has someone with a title of product manager and that is that they
have to do way too much stuff you know what i mean like have you every product manager i've met
it's like they interface with everyone in the whole company and yeah and yet it's their job to
like synthesize the entire company's brain and produce the correct product somehow even though
they don't have direct control over building that product and they're overridden all the time by
other stakeholders like let's say the ceo you know or the developers say this is too hard it'll take
six months you know they get banged around like a pinball and yet they have their when it goes bad
it's their fault right it's like universally a very hard job that's why i don't do it that's
right i don't do hard things yep that's that's our family credo we don't do hard things
one one other piece of feedback was i don't want to be a feature factory but if engineering doesn't
track and prioritize technical debt and platform work and performance work then i don't know how
to plan it that's right just because you can see the technical debt and all the other crap you have
to deal with doesn't mean they can yeah so you kind of have to make it fit into the into the
project management tooling and workflow because no one's gonna ever make a trello card that's like
i don't know fix this long method or something white space fixes yeah not no one but but it
won't generally come up in the project management workflow yeah exactly what's what is going to come
up is revenue driving features and that's the only thing that's going to come up pretty much
by default and i think there are there's one other class of things that as developers we have
a pushback on product managers sometimes, which is, hey, let's readdress the way that we did
things. In other words, we're not going to build new features. We're going to go back and see if
what we built was done the right way and is working well. And you would think that product
managers would have that on their radar, but I think that's actually pretty rare. I think they're
usually focused on hitting the new stuff, developing new features that can sell product, you know?
yeah yeah i mean that sells to everyone to customers to internal people oh there was this
blog post i read once that i am gonna misquote because i can't find it but it was about how
this company they did that they went back and measured feature usage and they realized that
most of the features in their app were just not used yeah at all and and they looked at how much
time went into developing those and then cried sad tears i think they ended up pulling out a
bunch of them oh interesting i saw a joint research project by microsoft and i think amazon
where they came to the conclusion this is out on the internet they came to the conclusion that like
one third of features they had built gave no customer value and another third actually hurt
the customer experience and then the final third was actually valuable to the customer and it was
like so in other words two-thirds of the things that developers built either did not help or hurt
the customer experience but you only see that if you go back and research it and and by the way
when that kind of thing comes up who do they blame product managers product manager every time
yeah what about i've i've been uh waffling between saying product and project management
what about the distinction between those two i feel like they they merge together a little bit
but they're still kind of separate i think product managers often do project management
but i think project managers very rarely do product management so in other words product
managers are responsible not just for like planning the work they're usually not they
shouldn't be totally responsible for that they're usually responsible for deciding what's going to
be built how it's going to work uh understanding the sales impacts understanding the support
impacts you know designing the right um tracking and metrics and all that stuff project managers
usually focus on execution in other words are we are we on track for our delivery dates
um our dependencies all lined up so that teams can ship at the right times and with the right
stuff and i think like in a sufficiently large company you'll have project managers who just
track that stuff and raise flags when things you know dependencies are missing and you'll
have product managers whose job is to design what's going to get built next
that's how i see it yeah that makes sense well anything else we want to say on this topic
I think we can't overstate enough that you can really work well with a product manager
if you appreciate all the different inputs that they have in their job and try to get
them to share with you as much as they can.
For example, when a product manager shows up and says, we need to build these next 10
features, I think it's really important for developers to say, great, why?
What's the customer impact?
What's the value?
Is this going to be for more sales?
Is this going to be to help internal teams?
you know what is that and understand end to end why the product manager came to that conclusion
i think that's really really important and also understand that product managers have more
information than you have they meet with more people they take data from more sources and it
is their job to share that with you but just because they haven't shared it with you doesn't
mean they don't have it yeah i i'm thinking of a couple things that have happened in in my career
that gave me a lot more empathy for project sorry i keep saying it that gave me a lot more empathy
for product managers and they were all around meeting more with customers or being around the
sales process or being in meetings where they presented to key stakeholders to use the business
terms and then you see like you said they have all the different inputs and outputs that they
deal with and you realize that the world is a lot broader than like which key value store do you pick
to put your relational data in
or whatever uh so i think that's the meta point that you can be greatly you you can work a lot
more effectively with product people if you understand what they do a little bit better
and they love it when developers show interest in that in my experience yes but you have to do
it delicately like you have to show them that you trust them and you have to earn their trust as
well if they discover that you're hedging or withholding information because you don't want
to do something but there's not any good reason for it besides you just don't want to do it
um and you play some weird political card or something you can really say words they don't
i don't you say like cyclomatic complexity and that's your trump card exactly can't do it it'll
it'll ruin our cyclomatic complexity exactly like if you start pulling that kind of crap
um you're going to lose trust with product managers and i think this is a relationship
where trust is really important between product managers and engineers because you're both going
to be pretty vulnerable here. For example, if you want to get time to fix your broken crap or your
buggy code or your badly designed functions, then you need to be able to tell the product manager
that you have these things and be able to trust that they're not going to throw you under the bus
and be like, well, we should fire that engineer because they wrote technical debt. So definitely
trust, I think, is a huge part of it. And also, I think engineers have some, some engineers have
this tendency to take an elitist mentality toward product managers where they think that they should
like we've kind of joked about they are the center of the universe and everything should
revolve around them and when a product manager comes to them with market data and they push back
because that's not compatible with our awesome key value store that we chose last week
sorry we can't do joins so we're not going to do that yeah
i mean that sounds silly but it's basically in line with what we sometimes do
right like yeah i want to say i'm not guilty of this but i probably am oh i i know for sure i've
done this before and that came up in the feedback from the product from the product managers i
talked to also um treat them with respect they're human like you they were like james and this is
actually motivations and this is not for the podcast this is for you please know that i am
human treat me with respect yeah all right we have answered this question here you go question
answered okay this next question comes from a listener named dave and it's about managing
notifications uh not you though it's a different dave yeah a different day um so dave doesn't ask
a question he just proposed he just poses a funny situation well funny or tragic whichever you
think okay you're sitting at your computer here's the situation first an email a notification
appears you open your email client then you get a slack notification that says i just sent you an
email then there's a voice from behind your desk saying did you see my slack message
how do you deal with this you are hitting the head with a nerf missile fired from your company
provided nerf guns because you had your headphones on because you had your headphones on hey you
weren't responding to my stuff so i had to shoot a nerf gun at you to get your attention thanks to
the open office though there's no obstructions in between so it was a really easy shot yeah i
didn't even have to ricochet oh my gosh i think this listener just summed up my whole life yeah
yeah yeah i've i've been in this situation well i have been this person though i've been like
shooting nerf missiles at people's heads before and have you literally done that when you hey
yeah did you ever play the old zelda games where they had the fairy that was like hey listen oh
yeah that on the n64 yeah yeah i wonder if i could go change everyone's slack notifications
to that noise because it just has this connotation of like hey this thing that you don't care about
that's not important at all but it's still going to be really annoying i have a habit of feeling
like my questions are more urgent than they are sometimes oh for sure for sure and yeah it becomes
obvious to me when i take when i get distracted but like say i want to ask a question of someone
i feel like it's really urgent and then something else interrupts me and then i come back to that
question like three hours later and i'm like oh well i guess it wasn't that urgent like there
here it is are you like don't care as you don't even care enough to ask yeah exactly exactly
like it's amazing what a little time will do yep we should we should have okay we should build a
system where all questions and communication go through like a 10 minute like cool down period
and then you have to actively go click a button to to really deliver them after the 10 minute mark
or they just get deleted i think there's email plugins like that but they're usually to avoid
drunk sending emails or sending rage-filled emails same solution two different problems yeah
uh i believe they call those fake time salute or fake time systems as opposed to real time
yeah oh man what if we just slow all our communication down by 10 minutes
yeah sounds like an easy sales process oh yeah i hate and love these kind of things
i i actually my brain is conditioned to respond to them because i want to help people
i respond instantly i'm on slack with my phone or my computer probably
yeah i would say maybe there's an hour or two out of the day when i'm awake that i'm not
around a device that gives me slack notifications that much huh yeah yeah i either have my phone or
my computer with me the whole time i'm awake and if i see one no i mean i almost always respond
right away what i'm saying is there's there's a whole hour or two hours where you're not by one
of your devices that gives you these yes that's a lot it's pretty much dinner time and putting the
child to bed oh really yep you don't read slack while you're putting your child to bed those are
our bedtime stories this tale of the overflowed buffer
man i i am also like that i feel this compulsive need to respond whether it's email slack anything
if someone has reached out to me i will respond darn it and i hate it about myself and i don't
know how to fix it i think we are the same in that we're both people pleasers in this way and
people have problems or questions and we want to help and it feels powerful to be able to help
people right you have the answers or you have the solution or you can unstick someone and and then
you attract more questions and more notifications and then they'd say these wonderful things like
thank you yeah yeah or like or dave's the guy you go to when stuff's broken and nobody knows
what's going on because he'll always respond and then i always play this shoves his child
off his lap get out of my way i need my laptop to go here and then i put on the soundtrack we
need a hero yeah so i think there are powerful motivations on the part of the question asker
and the answer that lead to this behavior happening have you ever seen it well how do i
ask this question i don't think it's a question i think it's just a statement um my first job
out of college i worked with a guy named sean hess who's really smart and really awesome and
has like the good kind of crazy ideas um he's he's good for me to be around because he's he's
on the cutting edge of everything like life i don't know the food he eats okay but anyways one
of the things that we talked about was asynchronous communication which was new to me at that point
and and i think that's the only place that i've really seen it enforced where there you just
didn't tap people on the shoulder um the messaging software we used was was really crappy and didn't
have good notifications so like feature not but yeah by by default it was really hard to interrupt
to someone um and stuff still got done and we all worked in the same building together so if you
needed to you could just go talk to somebody if it was a real emergency but most of the time for
questions that came up you would just ask and there was a really strong culture of of waiting
until you're at a good stopping point to answer and um that went that kind of filtered through
to everyone uh from sean because that was a value he really really strongly espoused and taught to
people and how did he how did he like indoctrinate the culture with this value um just every new
hire and then so like if someone tapped him on the shoulder did he just flip out no no no he
didn't flip out he he would just be like is this i don't know is this an emergency did he have like
a form you had to fill out no he did not have a form please rate the urgency of this issue no no
know it wasn't a scary thing at all it was just like uh uh he demonstrated that he didn't i don't
know that most things weren't emergencies and and he would get to you and he always did get back to
um at a reasonable time but he just valued his own productivity a lot there there are people
in the world who i've noticed don't respond to notifications in a timely way and also don't
don't respond to many of my queries like just a handful of people and i wonder if they're happier
i think i mean they're happier because they're too good for you
or maybe maybe there's like a law of conservation of notification responses where i am over
responding so they have to make up for it by under responding yeah i i think famous people
there are developer famous people that just can't respond to all their emails or whose twitter
notifications tab is always a nightmare because they just have hundreds of thousands of people
that want to talk to them and so they have to develop this skill by default but then if you're
not famous uh it almost feels like the trappings of fame when someone wants to talk to you it's
like i'm important and then you're yeah it's that incentive to respond to it interesting
well so here's my basically my answer to this question is i suck at this so bad and i respond
to everything and i sit there with my email client and my chat client open and waiting to notify me
and interrupt me and i will stop pretty much anything i'm doing to respond to your emails
and chats and then i just basically work all night to make up for the lost time and and then i'm just
miserable and tired and that's the secret to your success that's it yeah how many do you think you
could count the ways that people could send you notifications right now trying to count okay email
does does slack count as one or like 30 if you're in 30 slack teams i think you should count the
teams okay i'm in i'm on probably five or six slack teams work email personal email
internal work chat and then in-person interruptions text messages cell phone calls
so i think i'm pushing like 10 there if you count my slack teams yeah that's that's about yeah that's
pretty similar so so so even if you only get like two per channel per day that's still 20 interruptions
a day that's crazy so what to do about it i think this situation is pretty common to everybody i
here i think this is a common complaint what do you do about it so you you want to change
you want other people to change how they interact with you also i think for me the hardest thing to
let go of is that uh responsiveness i want people to know that i saw their message and i want people
to know when i'm going to respond so one of the things that i wish i could do is have some kind
of auto responder that says hey i got your email it's in my inbox i won't forget it and i'll get
back to you but it'll be within two hours if you need something sooner than that you know call me
or whatever you know that'd be really cool if you could do that if your email client could do that
automatically and not show you notifications like you say look for the next two hours i'm going to
be in the zone working on something heads down auto respond to my emails and uh or something
that might just get annoying though for the other people i don't know yeah it's like you want to
strike this balance between being helpful and seeming like a diva like exactly can you jump
through these hoops to approach the throne then you are worthy of my help right and i hate that
yeah yeah yeah and and for most people i mean real real celebrity type people who get
an overwhelming amount of stuff have to have some kind of process like that yeah
but for most people it's more like just delay everything and you'll get back to it you don't
have to yeah say i can only answer the important stuff and once in a rare while i will simply
delete emails and say look if it's important they'll write back you know like in this in the
same way that you say to yourself i sat on that question for three hours and now it doesn't even
seem important anymore in that same way you could just put that onus on others and then you'll be
less of a people pleaser but it is pretty normal actually that's actually my strategy for dealing
with errands which is why um i was like a year and a half behind on my registration on one of
my vehicles once it doesn't work out perfectly all the time uh for real life adult stuff
the irs doesn't like it if you delete their emails and throw away their letters and say
it's important to get back to me yes i think people respond so this is the default culture
of interruption and notifications and and i don't i think changing that is a broader question
if you change your behavior then people will adapt to that and that's the harder problem for me
personally is i i do respond i have a bunch of little numbers sitting on all my slack teams
right now and then i go check them all off i click on all the channels and all the teams and
yeah so so i think if you just change your habits people will respect that and if people tap you on
the shoulder and you're in the middle of something you can just politely explain like hey um if it's
not an emergency i'll get back to you in a second yeah i'm in the middle of something and it it
takes a while to get back into it i mean you have to be careful to not come off condescending or
superior rude but also i believe in you when it comes to slack and other things like that i will
go through and aggressively downgrade the notification priority on different channels
yeah otherwise it's just spam non-stop spam and and yeah you'd be surprised at how many different
settings a lot of these applications will have slack is really good but even your email app
you know it's like maybe it should have maybe you should turn off the desktop pop-up notifications
on that you know and that's usually possible yep that's i mean that's more work too especially
if you're in a bunch of channels on a bunch of teams sure sure just quit slack the program
cold turkey that actually is true you could just shut down the app well yeah no i was being serious
just yeah but throw your phone in the toilet i don't know i know i actually so this is an
important thing i remember when i got my smartphone for the first time i don't know eight or ten years
ago and it was like it will ding in my pocket every time someone sends me an email every time
and i was like this is awesome at first right i thought it was wonderful i'm like think about
how responsive i can be now like i'm taking hero to the next level and i remember that lasted for
about a month and finally i was like okay i'm gonna switch to a polling model where i will
check my email when i want to check it and i won't even let little numbers show up on my home screen
it'll just be when i go to my email and swipe and hit refresh that's when i will get email and it
changed my life so much for the better but then technology advanced yeah and we found more ways
to notify me yep i think more will pop up no pun intended no i don't feel like i gave very good
practical advice i didn't either but you know i think the best thing you said was your story about
sean where he basically drove the culture in your company of reducing interruptions and i think that
on most developer teams there's an opportunity to improve this and we should go to our managers or
to the rest of our team and have this conversation and bring it to the forefront so that it's
something that doesn't just sit in the background like that broken stair you know that everybody
steps over and doesn't even realize they're doing it yep there you go question answered
question talked about okay if you want more notifications you should follow us on twitter
that's right then you could turn on mobile notifications for whenever we tweet is that
a thing can you like get special oh okay yeah for for individual accounts you can turn on mobile
notifications yeah if you've been sitting here for the last 20 minutes going what are all these
notifications i want these then we can give you approximately one per week yep which is the right
number if you want to submit a question you can go to our website at softskills.audio
please keep them brief we have been inundated with awesome questions many of them are too long
to share on the air and it would take too long to summarize we'd love to see your questions but
keep them brief maybe four or five sentences i don't know is that a good guideline jameson
uh i'll send you a direct message later tell you if it is or not yeah that's fine i don't know
four to five sentences it could be a lot of work to shorten it that much some of them are um
like 50 sentences very long yeah some of them are are like long blog post length and those are hard
yes to get through at least put a tldr if you want to yeah yeah yeah and then maybe we can go in and
get more detail there you go but they are wonderful these questions are so great um
and we just love having them so keep them coming and thanks for listening
