Soft Skills Engineering - Episode 248: Non-private slack channels and expectations
Episode Date: February 15, 2021In this episode, Dave and Jamison answer these questions: Questions Our engineering manager keeps sneaking/creeping on our private slack channels. As an admin of the workspace he can join an...y private slack channel without being invited. I feel like this is an unacceptable behavior. What should I do? Should I just reach out to him and ask him not to abuse his admin privileges? Should I setup a discord server for me and my fellow developers? Or should I take the soft skills engineering advice and quit my job? Thank you guys for your awesome podcast. I have recently begun my foray into management with the reception of my first subordinate. I selected him due to his illustrious undergraduate project presentation and his ability to expound on the intricacies of said projects. But, I’m having a hard time managing my expectations. He is unable to complete the simplest of tasks, often going off on tangents that, despite being given the answer, result in spending hours in unrelated rabbit holes. Additionally, he asked for a high salary and was promised an increase scheduled ahead of review. As a first-time manager, I worry that I am inflicting unrealistic expectations especially since software is my passion. I enjoy learning learning new languages and technologies. What is the best way to let him know that he is not meeting expectations? How can I say this without my typical brashness which will ultimately result in me blurting out something to the tune of “you aren’t nearly as capable as you made yourself out to be”?
Transcript
Discussion (0)
it takes more than sweet ascii drawings in your code comments to be a great engineer this is soft
skills engineering episode 248 i'm your host dave smith i am your host jameson dance soft skills
engineering is a weekly advice podcast for software developers about all the non-tech stuff
and this week's episode every digit is a power of two whoa we're getting closer to 256 too we are
another bit one more day another bit that's right we're six weeks away from saturating
eight bits in our episode numbers not eight bits wait i want to thank our patrons yes eight bits
don't you dare thank those patrons while i'm thinking about bitwise math dave we would have
no way of knowing it's impossible give it up okay i was right sorry oh it's been a long time since
i've worried about uh powers of two values but i i kind of just had this moment of fear that i
I've forgotten how many bits are in 256.
I used to think about it every day, you know, 15 years ago.
Yeah.
It's like when a golfer starts getting the yips.
What is that?
You don't know what the yips are?
No.
It's like old man golfer disease.
I don't know if it's a real medical condition, but when golfers get older, they get shakier
and it messes up their stroke.
So you just notice, like jerk the putter or something.
I'm not sure.
What's it called when your pinky has a tremor and shakes because you've held your smartphone
and stared at Twitter for too long?
twitter yips the twitter yips that's what i have yeah i have i have smartphone related
repetitive stress injuries as do i but unironically actually truly in real life i do yeah me too i
actually went to a hand therapist life-changing i'll say i want my life changed but first i want
to read these patron names thank you to the folks who are supporting us at the level where we shout
them out every single week. Thank you to Nick Cantor, the Agile Ventures Charity, Chris Hogan,
Brayden Cain, Stephen Armandley, Philip John Basile, John Grant, Dennis Bogdanoff, Travis
Saunders, Nick Hathaway, Oladapo Fadie, Kiaran Sveinsen, Ragnar Harasun, Christian Polanco,
Roman Denisov, Fizzbuzz Influencer, Adrian Bordnick, and testingisdocumenting.org.
Thank you to those folks. Thank you to everybody else who has supported us. You keep the show
going. You pay for the stuff that the show needs. It turns out it needs stuff and you pay for it,
which is what i just said that's right switched around
we have needs you have dollars let's get together yeah and because these people did they get invited
to our slack group team channel community org we used to say cult but i think that was insensitive
so we stopped until today yeah i've decided to not worry about offending the cult members yeah
what are they gonna do yeah draw creepy signs on my grass and okay that does sound bad
oh that was not an invitation by the way
if you want to join this illustrious group you can go to softskills.audio and click support us
on patreon and then uh get an invite and help support the show thank you all right shall i
read our first question.
Yep.
Okay.
This comes from an anonymous listener who says,
Our engineering manager keeps sneaking slash creeping on our private Slack channels.
As an admin of the workspace, he can join any private Slack channel without being invited.
I feel like this is an unacceptable behavior.
What should I do?
Should I just reach out to him and ask him not to abuse his admin privileges?
Should I set up a Discord server for me and my fellow developers?
Or should I take the soft skills engineering advice and quit my job?
Hmm. Have you heard the term shadow IT? I think I've heard you say it. Oh, well, I'm going to repeat myself, I guess. It's the idea that your company has some IT policies like use this software, don't use this software. And there's this shadow black market ecosystem of software that people use instead. Like, say everyone is supposed to use Google Drive, but you really like Dropbox. I don't know, like you'll figure out some way to use Dropbox.
And this is usually said in a bad way as like, you need to get rid of shadow IT by providing
better services.
But in this case, I think this is a strong case for some shadow IT of a different way
to talk to all of your work folks without your boss being able to join.
Didn't we find out years ago that terrorists were using like the chat feature built into
certain online video games to plan their destruction?
What?
I don't know, but I'll find out if Google can tell me.
yeah i mean i think that's a great idea in this situation you could all be on what i don't know
what's popular now minecraft you could all just be on minecraft all the time and chatting with
each other in there yeah it's good because it doesn't have voice chat so you can't uh
you can't swear at each other verbally just with text or with blocks you could i guess you could
write things in blocks you could yeah if your it department disables the chat feature in minecraft
yeah what how isis terrorists may have used playstation 4 there you go all right maybe it
happened put it in the show notes that's crucial information i found it linked on google and that's
good enough for me so we did this at a previous job we just set up an irc channel and relied on
security through obscurity i don't think it was private it was just like you probably won't guess
this name on this random chat software that nobody told you we use yep so if it's work related you
should talk about in slack if you want to like complain about work with your friends i've done
that before not on work run chat mediums yeah turns out they exist you can create like a subreddit
just for your team yeah you should figure out what's the the most conspicuous way you could
do it that still prevents somebody from finding it right like buy buy domain names to send messages
to each other or something like that in the dns text field yeah dns text field that would be great
i wonder if i mean someone's done like telnet star wars i wonder if someone's done dns txt record
chat over dns txt i love that that's a great idea wasn't there there's some company
repel it that that released some new feature somehow it exposed logs of of requests people
were making to their service and people turned it into a chat room they would send arbitrary
requests to to that would like have ascii art in them and their message and someone built
clients for it so this was like it was an inadvertent disclosure right the logs were
leaking i didn't read it so first of all ignore me but second of all i'm pretty sure it was some
feature they did on purpose and they showed somehow like check it out you can see the logs
okay i see and then people turned it into something cooler and so you could basically
build a chat client by uploading code to repl.it with like console.log commands in it and then
capture the output somehow no no you would just like send a get request somewhere and the url is
like the message that would show up in the log because it would show someone made a request to
this end point okay got it i don't know what it is about me i love it when developers find
unintended uses uses for things i don't know it just makes me happy it's like a rube goldberg
machine but not in the bad way that you did it wrong at work in the fun good way that you did
it to entertain yourself exactly it's like fun but you want to know when i hate it when when my
customers do it because now now i have an implicit contract that i must never break
like it turns out that any file storage you ever offer to anyone will immediately get used to store
torrented videos yeah exactly it's kind of like in that theme and this is a way you can like upload
your like tax records to share with each other and then bam somebody uploads season five episode
six of game of thrones immediately exactly great next thing you know the mpaa is knocking on your
door yeah oh man yeah exactly anyway back to back to the the question at hand how do i boot my boss
out of my private slack channels oh man why does he do this yeah it's gross so there are private
slack channels at the place i work okay but they're very easy to get invited to it's basically
like everyone that ever works with the team gets added to them okay i'm sure there are private
slack channels that i can't see but i don't care i mean tree has fallen in the forest and i didn't
hear it so it doesn't matter i'm wondering what your what your engineering manager is trying to
do right is yeah are they monitoring for bad behavior somehow are they trying to figure out
if you're actually slacking off and not working like i know that people on my team are playing
starcraft i think it's cool yeah play on i didn't have to sneak in to find that out yeah they invited
me i can tell by the fact that you haven't produced any code in three weeks
you and i are both engineering managers at this point and i can barely keep up with the channels
that i am invited to yeah that's a good point maybe they don't have enough work to do yeah
maybe you as a team are doing too good of a job and there's nothing to manage so he's out there
looking yeah make some fires that'll also make them look good because they'll be able to solve
the problem yeah this giant scary problem will pop up and then they'll be able to be the hero
yeah i mean it'll take their attention away from slack trolling slack lurking honeypot channels
you need to make some honeypot channels yes get them to join love it see if you can like is this
what they did with honeypots you like drop information in that channel and see if your
manager brings it up in some other context where the only place you put it was this channel that
you're trying to get them to sneakily listen in on and then you'll find out if they were actually
reading it some little interesting nugget that you know would be valuable to share in a meeting
that you're in with that same manager and see if they say it but that i mean that's just a detection
mechanism and you already have a detection mechanism i guess you already know yeah yeah
you can just look at the member list but i think the the word so i've heard of honey pots honey
pits and tar pits so a honey pot is like an attractive target for a hacker that has you know
it's like a fake exploitable machine on the internet and then a honey pit actually i don't
know what a honey pit is let's get the tar pit wait no actually no tar pit doesn't exist it is
honey pit honey pit i'm pretty sure i'm not going to google this i'm just going to look stupid and
leave it out there but a honey pit is where you're trying to trick bots into wasting their time
traversing endless urls and links to each other right and so it basically consumes resources of
people that are out there harvesting email addresses and not doing other nefarious things
with bots this is like a 20 year old concept by the way i don't i don't know if it's still in
use anymore nowadays they call it a tar pit back in the day maybe they called it a honey pit dang
it my instinct was right the first time i know you should have stuck with it so bring it on home
now we know about tar pits and honey pots i'm saying create a tar pit of slack channels with
all this bot traffic in there that just burns up your boss's time trying to find the real slack
channels which are intermingled yeah you could even do i mean just invite randos from the internet
right to join your slack teams yeah just just you need noise in there find some create like a
fantasy novel discussion group yeah a group of acquaintances that are playing that one online
final fantasy game move away from discord use my company's slack it stores logs forever and has
voice chat for free and as a side benefit to me my boss will never find my messages again yep
you could oh here's what you do every week you have a rotating slack private slack channel name
that changes based on a hash of the day of the year and the and the year you know and so it's
constantly shifting like a like an enigma machine from world war ii germany yeah so your boss is
always trying to break the code because he doesn't know what salt you used every day yeah so you you
switch to a new channel on a regular interval yeah using a secret key as your hash all of these will
work yes pick any one of them i do think it's fair to ask what are you trying to do i feel like in a
small enough org i would just make all channels public yeah maybe that's an option and then you
can just say there's not this expectation of privacy that we are that we are destroying by
having this manager creep on stuff but it also does sound like they're trying to gather information
in a way that's making the team feel bad might have some some unintended consequences why don't
they just ask you their questions i mean let's be perfectly honest your boss has every right to be
in private slack channels with you i mean yeah that's true that's like a feature of slack
like admins can can see all the messages and maybe he doesn't even think it's surreptitious
so i don't know that is a feature of slack right i just assume it is yeah i mean everything's
persisted forever who do you think's not going to read this as an individual contributor would
you feel weird going to your manager saying hey how come you're looking at our slack channels
like that that seems like a weird question to ask like of course your manager's looking at
your slack channels yeah i mean if you made a slack channel called my boss really sucks
then it's gonna be awkward to say hey why are you looking at my slack channel called my boss
really sucks and then your boss will say why did you make a slack channel called my boss really
sucks and then even even if you have a more innocent slack channel name still the boss's
question is like why do you have a channel where you don't want your boss in there hmm yeah i mean
this just turned it turns around fast in my opinion so i don't know i feel like it's fine
for your boss to be there if i were your boss i would not want to be in a slack channel where
people didn't know i was in there yeah i just i work for a really big company and i have no
expectation of privacy on any text i ever send over the company systems i just assume that anyone
at any time will be able to pull it out and like it might be inconvenient for me sometimes when
yeah someone finds the dumb typos i made or i might get in trouble for i don't know starting
rumors that so and so isn't i can't think of something dumb enough someone's tesla is fake
it's actually this carbon fiber body kit they put on a little geo metro yeah no it has to be
like a really fuel inefficient car that cyber truck is actually a hummer
it gets four miles to the gallon yeah they'll find out my machiavellian plan to turn the company
against this person by starting rumors about how inefficient their electric car is but if i wanted
to have private conversations i would do it privately that's not slack yep except for our
slack because we don't pay for it so we can't get the logs oh that's true wait is that true i've
never tried i'm pretty sure we can't yeah i'm sure i guess i haven't tried either but i think
that's a pay yeah that's true we have a slack community it's all occurs to me maybe this
question is actually about us that's true well i don't know i haven't i don't know if they're
private channels i can't join we don't pay so no i didn't know i don't know all right have we
answered the question i think so i which i mean to summarize i would say your boss has every business
or every right to be in your private slack channels and why did you think otherwise and
should i set up a discord server yeah that'd be fun you should do that yeah sure all right
question answered i will read our next question thank you guys for your awesome podcast i have
recently begun my foray into management with the reception of my first subordinate i selected him
due to his illustrious undergraduate project presentation and his ability to expound on the
intricacies of said projects. But I'm having a hard time managing my expectations. He is unable
to complete the simplest of tasks, often going off on tangents that, despite being given the answer,
result in spending hours in unrelated rabbit holes. Additionally, he asked for a high salary
and was promised an increase scheduled ahead of review. As a first-time manager, I worry that I
am inflicting unrealistic expectations, especially since software is my passion. I enjoy learning new
languages and technologies what is the best way to let him know that he is not meeting expectations
how can i say this without my typical brashness which will ultimately result in me blurting out
something to the tune of you aren't nearly as capable as you made yourself out to be
huh software is my passion i always think of graphic design is my passion yeah have you seen
these dave it's a meme about design that will sound really dumb when i say it out loud so
as memes do stop saying it yeah okay never mind oh come on just forget it it'll be great
no i i mean i did like that's it i just that's all it is it's just uh it's it's it's like a
crappy rainbow background that says uh with graphic design is my passion on it it's someone's
fake joke portfolio i like it so i guess the software equivalent would be like software is
my passion and it's like i don't know what it would be some like books about functional programming i
think no it'd have to be something that clearly demonstrates it is not your passion or you're
really bad at it but all the things i can think of would be hard to do or demonstrate that you
knew what you were doing kind of right i don't know it's impossible software can't be your passion
that's the summary that's right not in a meme not in the meme space anyway not yeah you can't you
cannot translate this into a program actually i'm sure you can and i want our listeners to tell us
how we would do it okay i also like the illustrious undergrad project presentation yeah and it makes
me think of like illustrated manuscripts for some reason okay where so there's like a powerpoint
slide and it's got this giant hand-drawn like e at the beginning of the letter of the sentence
instead of helvetica oh yeah like an old english letter yeah i don't know maybe he's dressed in a
tunic okay a doublet of some sort okay fanfare i don't know illustrious undergraduate project
presentation that's what makes it illustrious in your mind i think so it's like fancy lettering
fancy lettering elegant garb yeah and a fake british accent of course or if you're from i
mean if they're from the uk then i'm not sure what you would do yeah now what where do you go you
can't go up from there yeah you gotta turn it country no wear a farmer hat and boots and what's
higher status than cowboys in england nothing no that's clearly one thing i know about english
culture it's that i don't remember if this was a conversation with you but where you or someone
who reminds me of you was talking to a british person and just saying have you noticed that
whenever british people speak americans think they're automatically intelligent just by their
accent the british person says yeah i've heard that before and then the american says did do
british people think the same about americans and the british person just cracked up just started
laughing gosh no heavens no good heavens oh man so daft
all right so all the helps out of the way got that out of the way now down to business round two
how do you tell a brand new engineer out of school that they are not performing that they're
completely distracted not producing anything but you're also worried that you might have an
inflated expectation of what a new hire out of college should be doing yeah have you ever worked
with any other new hires as a as a peer this is their first person they're managing it sounds like
but i wonder if they have any experience just comparing them to other folks they work side by
side with yeah and this this particular question asker is concerned about comparing the new person
with themselves because they consider themselves to be kind of a high passion or as i was once
accused of being hyperactive engineer who yeah yeah true true story maybe some other time and
so the baseline is all screwed up like maybe i'm just overly ambitious and maybe i'm just too good
yeah maybe i'm just fan freaking tastic no one can measure up next to me yeah so you shouldn't
compare people to yourself you should compare people to some impossible to create but but
theoretical objective expectation of performance yes use that standard yeah well it is impossible
i don't know of course i've ever seen no one no one knows how to measure this stuff but you should
be able to have something besides this person doesn't do what i do to judge and evaluate them
well the way that human beings tend to do this at scale and as objectively as possible
is by bringing in unbiased observers to make comments on it people who don't have a horse
in the race and who can objectively measure because of some level of expertise what they
think is a good performance and then you come to consensus and that's pretty much i think
the only way we've ever really tried to tackle the objectivity problem of measuring performance
in software. So you're saying get an opinion from somebody else? That's right. And the way that I've
seen performance appraisals done really well is where managers actually don't form an opinion
themselves, but rather they collect opinion data, if you will. Data is probably too strong of a word,
opinion facts
opinion truth
maybe the term is data points
they collect data points from other
individuals who have vantage into this person's
work and then they form an opinion
from those collected data points but
you have to be careful what you choose but anyway
long story short yeah you're probably you are right
to question your own ability to
measure this person's direct performance
as a first time manager
I think you need to take the
personal stuff away from it completely
though like you can't
You can't talk about how you would spend your time to make up for these mistakes by studying more outside of work or something like that.
That's not, it doesn't matter what they do outside of work.
It matters what they're producing.
You should be able to have some rough idea of like, this is a small, easy task and I'd expect it to take a day or so.
And it took you like two weeks and you got really stuck on it.
And that's not our expectations.
It's to do that faster.
I think you have to tell them too and a performance an increase scheduled ahead of
review so you're saying that that means we'll hire you and then at this date you'll get an
increase without any conditions on it is that what you think this is Dave I think what they're saying
is that normally they would be scheduled for a review and salary adjustment at a certain time
probably 12 months from hire but that they decided in this case part of the offer to entice this
person to join the company was that they would do an accelerated review at let's just say the
six month point instead yeah with a target based on performance and that's pretty common
offer language so i've had a situation kind of like this happened to me where i was really really
excited about a candidate and then the performance after we hired them just did not at all match
my high expectations given how great the interviewing process went and boy did i feel
dumb oh really yeah maybe that's the root of all of my interviewing evaluation nihilism is is that
one instance yeah like i i was convinced this person will come in and be amazing and we made
some accommodations for them some similar stuff like this around salary and and it's pretty awkward
to go back and say hey like you know how you negotiated really hard and we gave you extra
stuff well you're barely hanging on and yeah we wish we didn't do that that is awkward and that's
why it's so important to i i just love that you had this experience actually that now you know
like now i love it yeah no well how long ago was this i don't know i don't know it was a couple
years a couple weeks ago it's from the future isn't it great though because i've had this
experience too where it opens you up to blind spots in your own interview process where you say
oh i wish i had thought to ask x where x is whatever bad behavior or or knowledge gap or
behavioral problem this person has yep so next time that'll help you this time it will not that's
right yeah i think you got to tell him the closer it is to when he expects to get his scheduled
raise the worse it's gonna be i think yeah for sure i mean if the performance is bad enough
earlier is always better in performance feedback like this so yes if it's not conditional on his
performance then you're in trouble because it should be and you might have to make it conditional
on his performance when he's not expecting it to be but if it is then you need to clearly
communicate hey you're not conditioning it it's conditional on performance and it's not you're not
doing it you're not putting in the conditioner that we needed just speak in obscure metaphors
i'm sure it'll be fine what's the best way to let him know what is the best way to let him know i
think as a manager especially as a first-time manager it does behoove you to get a second
opinion on this before you rush in and say you're not meeting my expectations get that data point
explain as objectively as possible explain the situation and be darn sure you haven't missed
some nuance because software engineering is nuanced and a lot of times you know as a manager
the whole point of being a manager is that you can abstract away some of the details of the day-to-day
work and become a force multiplier and let other people work and work through them to accomplish
things. But sometimes what that means is that you don't have perspective on the unique challenges
of the tasks that you've assigned the individual. And so they might have a really good reason why
it took a long time and you should give them a chance to explain that. But in this case,
it looks like the manager's got pretty clear vantage and the person's just kind of spending
time off on tangents learning things. I kind of feel bad for just using a mocking tone and saying
learning things you don't learn things after school learning what do you think this is
jeez we don't pay you to learn yeah anyway so that was that was dumb but let's let's just say
i would get a second opinion and then i think i want to reinforce what jameson said it's never
too early to give feedback and it can be it's very easy to be too late the last thing you want
is this person walking into their six-month review that you specially arranged to them
to find out, no, for the last six months, you have not been meeting my expectations.
And the first thing they're going to think is, well, I wish you had told me so I could have
worked on it. Yeah. A useful framework I've heard and experienced for giving negative feedback like
this is situation, behavior, impact. Okay. So you explain what the situation, where the thing
happened was like this case it'd be i gave you this task it was laid out clearly this way and
it had these i don't know expectations and requirements the behavior is you went on this
rabbit hole you spent hours solving unrelated problems that don't relate to the task and won't
really help us and the impact is now we're gonna miss this deadline or i don't know this other
person had to stay late or whatever if you if you break it down like that then instead of just
saying like you're too slow that's vague and hard to respond to and also hard to correct right if
someone told me go faster i would cry first but then after i wipe my tears away yeah then i'd
wonder like what does that mean like how do i i mean i guess i'll figure it out like type faster
like what yeah talk faster yeah i mean i already go really fast when i sprint from my bed when i
wake up in the morning to my chair to sit down to work i don't know how much faster you could go
without injuring yourself yeah that'd be unsafe i can't have that i love what you just said and
this actually reminds me of a situation from a few seconds ago where there was a situation where you
had you had a question from a listener and you answered it very succinctly and the impact was
that i didn't have anything to say and i like that our witty repartee was damaged
and then the and then the listeners all dropped and then we spiraled yeah this was the peak this
was the moment it all went down yeah it all turned around no i was actually i was using the
situation behavior impact pattern to give you a compliment and say that you were meeting
expectations oh thank you that's a good point you can use it to give compliments and specific
compliments are really helpful too absolutely for some people a generic great job their sport
is kind of demeaning but if you tell them more specifically it makes them feel better for sure
one other thing i wanted to say you will probably suck at this you'll probably mess it up and if you
don't that's rad but this is not a comfortable or normal thing for lots of software developers to do
so you might have to go into it knowing that you'll try your best but you you might muddle
through it a little bit and that's okay and this is a skill you get better with with time and
practice just like anything else and don't worry because this person's brand new out of college
and they don't have any baseline to compare you against so they won't know if you're doing a good
or bad job you will feature prominently in their career narrative yes everybody's got stories about
that one person and yeah good to know you'll be remembered yeah you'll be remembered one way or
another yeah i i just know i can pick out people who i'm like that person tells stories about me
and they don't sound very good yeah oh well those are the voices you go to sleep at night thinking
every night yep shoot i failed no one can tell stories about me that aren't great yeah have we
answered the question i think so best of luck good luck what can people do if they want their own
questions answered go to softskills.audio and click ask a question where you can fill out our
form and we just want to say thank you to all the people who do that every week we really appreciate
all these great questions we will one day answer them all some days we get closer because we answer
more than we get some days we get further behind but we haven't stopped the show yet so let me just
say it's been a long time since we've answered more than we get that's true some uh some bad
stuff has to happen to lower the question volume for us to catch up but we're committed to it yeah
you realize that eventually this results in us like i don't know destroying the internet so no
and can send us questions right we have to fulfill this promise we made that we'll answer all the
questions stop the questions stop the questions this this feels like a good time to say i remember
after our first few episodes i don't know what it was four or five years ago and i thought yeah
we'll probably do two or three of these episodes and we'll run out of things to answer yep look at
how far we've come now we're plotting to blow up the ocean so we can stop the inflow of questions
to catch up stop we've made it nothing jameson said should encourage you not to ask that question
you've been thinking so please ask the question we still want it even though we are gonna have
to boil the ocean to answer it all right thanks for listening we'll catch you next week
