Soft Skills Engineering - Episode 366: No FE work and my co-worker is a parrot
Episode Date: July 24, 2023In this episode, Dave and Jamison answer these questions: I’ve been working with this fintech company for the past year as the only FE developer in a team with other 6 BE developers, but re...cently, I’ve noticed that the product team has slowly stopped including frontend (FE) tasks in the sprints. Moreover, they seem to have deprioritized FE tasks in general, allocating me only one task that I can extend at most to three days within a two-week sprint. This scarcity of work has been bothering me and has left me feeling unwanted in the team, which is particularly pronounced given there’s a significant amount of FE work that needs to be done, yet these tasks still don’t seem to make it into the sprints. During our one-on-one sessions, my line manager has given me good feedback, which leaves me even more confused about the situation. I’ve raised my concerns about the lack of work with my manager, who simply suggested that I discuss the issue with the product team or feel free to tackle a backend (BE) task. When I’ve tried to engage with the product team, they usually dismiss me with non-committal responses such as “we have some work coming.” and sometimes “we’re at max capacity as of the allowed story points in a sprint, try helping where you can”. Additionally, when I’ve attempted to take on some BE tasks, my colleagues often seem too busy to guide me through this new approach, leaving me in absolute frustration. Other FE developers from different teams seem to be shipping loads of features. Given these circumstances, am I genuinely unwanted on my team? What further actions should I attempt before quitting my job ? any advice is appreciated. I suspect one of my colleagues is either not an actual dev or not as skilled a dev as they claim to be. During meetings, whenever they are asked a question, there is always a very long pause before they unmute, and sometimes when they do unmute, I hear the tail end of a different voice answering the question before they themselves answer the question. Should I bring this up to my manager?
Transcript
Discussion (0)
it takes more than eating a carrot and calling it biohacking to be a great software engineer
this is episode 366 of the soft skills engineering podcast where i am your host jamison dance i'm
your host and carrot eater dave smith soft skills engineering is a weekly advice show about all the
non-technical things that go into the technical field of software development like i mean i'm
biohacking if i eat a bunch of skittles it doesn't have to be like a positive improvement
it's just hacking i'm hacking my blood sugar levels yes they're going in the wrong direction
yeah i mean depending on where you want them to go that's true that's yeah who are we to place a
value judgment on blood sugar levels we've done worse
uh dave do you want to thank our patreon our patrons man our patreonicals we want to say
trying to kleenex that word i want to give a weekly shout out to those who are contributing
at the just most generous level and they are trash panda the computer science book.com
the re-elect jameson dance boogie brigade the re-elect jameson dance committee santa hopar
noah frasier lowe kent c dodds jenny kim owen chartle craig motlin i love mavis the stochastic
parrot alice just tuscarawas ohio patreon.com we're hiring irish and monkey face emojis jonathan
king web tau awesome and testing oladapafadie will angel nick hathaway travis anders brayden
canes john grant bartek tatkowski cody professional puzzle solver sale nick santar philip john
basile and a one-time shout out to johanna stein and dustin if you would like to join this illustrious
crew this illustrated crew go to soft skills.audio and click the support us on patreon button
where if you contribute enough we will say your name emoji or unpronounceable town in the midwest
united states uh every week and if you contribute any dollar amount we'll send you an invite to our
slack community where you can hang out with some very interesting people of all stripes many
different stripes vertical and horizontal yes it feels like there's a joke there to be made about
going plaid yeah i guess plaid is just higher dimensional stripes yeah it's like a stripe
overlay complexity you can't do it in css so don't even try um what would the 3d version of plaid be
i'm sure mc escher has done a piece like that though sure all right should i read our first
question yes this is from an anonymous listener who asks i have been working at this fintech
company for the past year as the only front-end developer in a team of six other back-end
developers recently i've noticed that the product team has slowly stopped including front-end tasks
in the sprints moreover they seem to have deprioritized front-end tasks in general
allocating me only one task that i can extend at most to three days within a two-week sprint
This scarcity of work has been bothering me and has left me feeling unwanted in the team,
which is particularly pronounced given there's a significant amount of front-end work that needs to be done.
These tasks still don't make it into the sprints.
During our one-on-one sessions, my line manager has given me good feedback, which leaves me even more confused.
I've raised my concerns about the lack of work with my manager who simply suggested that I discuss the idea with the product team
or feel free to tackle a back-end task.
when i've tried to engage with the product team they usually dismiss me with non-committal
responses such as we have some work coming and sometimes we're at max capacity of the allowed
points in a sprint let's help where you can we're already at max capacity even though you are
additionally totally underutilized okay sorry teams yeah well yeah we'll talk about that i think
don't let reality intrude in your sprint metrics additionally when i've attempted to take on some
back-end tasks my colleagues often seem too busy to guide me through this new approach leaving me
in absolute frustration other front-end developers from different teams seem to be shipping loads of
features given these circumstances am i genuinely unwanted on my team what further action should i
attempt before quitting my job any advice is appreciated wow listen we know you're only
working three days out of 10, but we're at capacity. Yeah. I'll start stroking my beard
at the top of my head and extend it all the way down to my toes. Very pensive. And if you want
to see that, I guess go to YouTube. Yeah. So I have been in this situation before on the planning
side where there's so much stuff to do and we have what feels like more work than we can
comfortably accomplish in the sprint and yet there is someone who doesn't have anything to do because
they cannot contribute to the important stuff we have to accomplish to this for this sprint
and it sucks it feels like either you have to find them something less important to do and then
you're adding even more stuff to the already overfilled sprint or say please help even though
you might not be able to help and i don't know pick up this new skill and slow the team down so
i yeah it's a tricky bind to get in but what so there's two options there but the first one seems
fine adding more work well you're saying add more add more work to the already overburdened sprint
it's only overburdened in the sense that you have let's say what do we say five six back-end
developers who are at capacity and one front-end developer who's not so why why does the sprint
somehow magically have a cap on the amount of work that can be delivered in it it's actually
individual lanes represented by each developer that are the cap right yeah so what's the problem
true there there's there's like an uncomfortable math that you do where you're you're trying to
make sprint capacity this team thing and not highlight some people do more work than other
people right but it's true but it is true and i think that's what i've done in the past to resolve
this is just say well it's gonna get even more full but it does feel weird because it's like
there are some people who are who are swamped on critical stuff yeah and here we are pulling in
like fix this es lint right warning that has been a warning for two years so i wonder i wonder if
what's happening here is that the bottleneck is not actually the front end developer. But which
obviously is true, since that person's hardly getting any work. But rather, there's some
designer or product manager who is laser focused on other things at the moment. And those things
tend to be all back end intensive. And so it's not so much that they're saying, we don't have
important work for you. But rather, all the work that normally flows from product team members
to the developers is that that upstream area of product is totally occupied on backend intensive
stuff. Like that's a, I think a very likely explanation of what's going on here.
That makes sense. It's also hard to resolve because there's always technical improvements
to do to the code base. Um, so I, I am confident you can find stuff to do. If you want to find
something that's really impactful for the business, then you have to reverse engineer that
whole flow of product and design. You got to do it all yourself if they're all occupied with other
stuff. That's hard to do because there's a lot of friction. I've noticed this more and more over the
last 10-ish years that the product teams tend to own the decision-making on what we will build
Next. And if a developer has an idea, they're almost unempowered to go build it because it's
like, well, look, we have a process for this. It has to go through user research and the product
team administers that. We have to build clickable prototypes in Figma and the design team administers
that. And then we have to get sign off and someone else administers that. And then it's like, okay,
well, I just want to make this a little bit easier to use. I know it's very obvious. Like,
hold up there, buddy. We got a lot of people that do that. And so it's hard, even as a front-end
developer it's hard to actually make changes to the front end i mean the good news is you can just
do it what are they gonna do yeah to stop you from doing it yeah in the short term like they
are not going to write the code if they're going to say please build this thing yeah they won't
might not even notice it happened actually yeah the bad news is if they don't notice it happened
someone at some point might say hey what'd you do for the past six months and if your answer is like
well i kind of waited have you heard about the value of slack time in uh i maximized productivity
yeah i was so ready for any opportunity that never arose to instantly jump on it yeah
uh i was improving our responsive potential to opportunities by making myself available adding
resilience to the system it was a flow optimization yeah i was creating excess capacity to absorb
shocks to the system to absorb nothing it turns out the so it does feel like the back-end folks
feel pretty busy the fact that product is saying we're at mass capacity for the sprint and back-end
is too busy to help you figure out how to work on backend stuff, it would be convenient if you
could just wave a magic wand and say, well, I will work on whatever the most important thing is,
whatever that is across whatever stack and whatever tech, right? Then we're going to get
into the whole full stack discussion and how full is the full stack and what's the role of
specialization. But it is, if you had a time machine or found yourself in this situation in
the future i think it it is useful to be able to dip your toes into different areas even if you're
not an expert in them so you might be a front-end expert but if you can't do anything on the back
end then you're very specialized and if circumstances change to make that specialty
temporarily or longer term less important then you're you're in a tricky spot to adapt
so i think this is a pitch where at least in this circumstance it would have been
useful if you had written a teeny bit of back-end code, learned how to run the system locally,
gone through that flow. Yeah, especially since you apparently have a lot of free time right now.
I mean, that's true. If you have a lot of free time, the back-end developers are too busy.
You get to reinvent it from scratch. It can be hard, though. I have a lot of sympathy for people
who are trying to ramp up from scratch without help on a new technology stack. It's rough. And
It's not just the technology stack.
Especially on a big system.
Yeah, it's all the stuff that's baked into your company's code.
Oh, you need this account in the system that someone else has to go make for you.
Probably permissions is the number one blocker for people getting up to speed.
Especially people who are kind of semi-rogue.
It's like, yeah, why don't you work on the back end?
Except everyone who can help you is totally occupied.
Well, I just need this account.
That's why I say get rid of permissions.
Slowing us down.
I want to, if I could just go and have lunch with this manager, I'd probably give a little
feedback to them. And it would be, hey, your team member came to you and said, I'm underutilized.
And your response was, go talk to product. And I find that to be a little bit concerning. It's
kind of a low ownership position to take where it's like, look, product just tells my whole team
what to do you know so if you're not being told what to do that's your problem and i start to
wonder what's the point of the engineering manager if not to keep resources fully utilized
yeah discuss the issue with the product team yeah that does make sense they're like well my hands
are tied i couldn't possibly i just do what product says you know it's like well yeah okay
I mean, if that's what you want your job as engineering leader to be, is just take orders
and deliver on them, then I guess you've given the right direction to your team member.
But I find that to be a, I find that, I find if people do that, I feel like they're not
rising to their potential or actually contributing at their full potential to a team.
If you just say, look, my job is to take these papers that product puts over here and turn
them into production code over there.
you know, I don't have an opinion on what I build. I don't have any input or feedback.
I just do what I'm told. And that feels bad. I wonder. Yeah. I mean, don't say that to them.
Like, yeah, no, this is what I would say if I went to lunch with your manager. You just say,
send them to Dave. Listen, my lunch schedule is wide open. We can go have lunch anytime. I'll
fly to your city. You know, I don't know where you live in the world, but. Well, let's explore
of that. So you're not going to tell them, hey, do your job, please. But how do you have that
conversation with your boss to say, hey, the thing you told me to go do doesn't work. Please,
please do something. Help me. Yeah. I mean, I think what you're learning here is kind of like
what we've said, I think a few episodes ago when we were talking about feedback or the lack of
feedback. Here, you have a similar situation. In that call, we had, in that episode, we had someone
say, I'm not getting any feedback or constructive criticism at work. No one's telling me how to
improve. And here, you have a situation where no one's telling you what to do. The product team
isn't giving you enough work. Your manager's not telling you what to do. So surprise, surprise,
you're going to have to be proactive and find valuable ways to contribute in the absence of
clear direction from your organization. And honestly, some of the most successful people I
know are the people who don't wait around for someone to tell them what to do. But instead,
they look at a situation and they find a way to navigate through it and get valuable things done.
And that's, I think, where you find yourself. And so instead of sitting around saying,
please tell me what to do, I think if I were you, I'd go to product. And well, first, I would look
around and figure out what's valuable. I mean, you've been around the company a while. You can
probably find some really valuable things that need to be done. And you probably understand the
product and design and research process a little bit to where you could contribute to those things
a little or do like a, you know, like a 20% version of them. Put that all into a document
and take it to product and say, I think we need to build this on the front end. Here's my proposal
for how we do that. And then say, I just want your sign off to do it. And then just go do it.
You'll take it to them and then do it. Be brave. Especially if there's some magic opportunity that
doesn't involve a bunch of back-end work exactly they don't have stuff for you to do it's it's much
easier to say hey i'm gonna go do this thing let's go instead of say hey all these plans you have i
need to change them to go do the thing i'm proposing right exactly because here they don't
have plans for you so so fill them and i think they would be grateful i may maybe you never know
some people can be touchy about this like hey you're get off my lawn that's my turf you know
so i do have another idea though i don't know what you would like to hear it i just want to
confirm that i have permission from you i would love to hear it okay so instead of me telling
you your idea will you just tell me what idea to have and then i'll explain that
i think you should pass the mic to do you have any pets in your house
see if they have stuff to contribute no i really do have an idea so okay every front-end developer
and every developer of every functional role always has in the back of their mind a list of
things that need to be done to their product that might not even be customer facing that which a
product manager will never ask you to do so this is a front-end situation so why don't you take
this opportunity where you've got less work coming to you from product to do one of those things.
For example, let's say you're on React or Angular, and you're a few versions behind,
you probably need to get that updated. You know, and product is never going to say,
hey, are you on the latest version of all the technologies that we use under the hood that I
have no idea exist? You know, they're never going to say that. And so you can use this time to do
that. In fact, my team at work just did that because we had one of these moments where the
back end work was kind of getting done for a bunch of new features, but the front end work wasn't
ready yet to do. And so they took that opportunity to upgrade our front end web framework. And it was
it was great. It was a much needed thing to do. It took a while, you know, it took like several
weeks to get it all done, because we had to, there were there was dependencies. Okay, I'm sorry,
that happened. And the timing was great, because now front end now the back end is ready for the
front end to start consuming. And so now they're in a place where they are ready to start doing
that new feature work. So, you know, fine, you can almost always find some of this, call it tech
debt, call it operations, kind of the maintenance work that needs to be done on your code base to
keep you up to date on the treadmill that your product team will probably never ask you to do.
That's true. I think the last thing I want to say about this is this feels like a risky situation,
but this could look like to someone a few levels removed from your team is,
huh, we have one extra person on this team. They don't do very much work. It doesn't seem like the
work they do is important maybe we don't need them and given given these uncertain times that's
a thing to be concerned about and if you are going to tackle important technical work you should at
the very least have very clear buy-in from your manager on why this is important to the business
so that they can help support you
and kind of broadcast that out.
Yeah, I agree.
If you go rogue, that almost always goes bad.
But sometimes it doesn't.
Yeah, sometimes you're a hero.
That's our advice.
Sometimes it goes bad and sometimes it doesn't.
All right, should we go to the next question?
Yes, let's see.
I'll read this one.
This comes from an anonymous listener who says,
I suspect one of my colleagues
is either not an actual dev
or not as skilled a dev as they claim to be.
During meetings, whenever they are asked a question,
there is always a very long pause before they unmute.
And sometimes when they do unmute,
I hear the tail end of a different voice
answering the question
before they themselves answer the question.
Should I bring this up to my manager?
Ooh.
I love that there's a whole genre of
my coworker might be an imposter type questions.
Yeah, maybe they faked their interview.
A different person showed up than who we interviewed.
Maybe they're working multiple jobs.
Yes.
And it used to be that I heard about this a lot
in the interview process,
but I don't know if I've ever heard of someone
actually feeding live information verbally
during that actual job.
I mean, that's expensive.
You have to have someone waiting around all the time
Only when you're going to be in a meeting.
Yeah, that's true.
I guess you just share your meeting schedule.
I think you want to get that person to work with you, not the middleman.
Go hire the other person.
Who is it that's like powering three other developers?
Yeah, whatever you're paying the engineer is clearly enough to cover this person's salary with some take home.
So maybe you'll even get a discount.
is it sometimes when they i is this like a live i i'm gonna ask more questions we can't answer
is this them frantically looking up videos that they are then watching or i wonder it's got to
be a live person but then why would hmm i have so many questions do they have this person on some
other call and they like don't have headphones so that they're like wear headphones i don't know
pull the scam off better or is it someone literally sitting next to them whispering
in their ear that gets picked up on the microphone yeah but then why yeah this is wild
yeah totally oh boy what would you do i mean let's say that you had strong enough evidence that you
knew they were being backed up by someone else does it actually matter like what if they're
doing a good job with this backup helper yeah that's what i was just thinking like is i could
see this being frustrating but maybe the work they put out is amazing because they also hand
all the work to this other person right like maybe what's really happening here is this other person
is this like puppet developer who's able to do the work of five people and they're like you said
you want to hire them of course but they don't they have no interest in working for just one
company and so what if they just produce adequate work i suspect they don't though i mean i can't
imagine that being the case yeah i agree probably depends on the company i bet i'll bet you you take
one of these like super amazing developers they can do two three four jobs yeah if they're literally
doing all the work and and this person's only job is to kind of be the face yeah what if someone
came to you and said, I'm willing to split 50% of my paycheck with you if you'll just consult with
me for like 10 hours a week. And then you find four people to do that with. And now you're just
consulting with these people. You're not actually employed by any employer and they're just feeding
you half their salary. I'm sure that exists. Is that, I feel bad about the idea of people
doing that directly where they work several full-time jobs. I know it happens and it seems
wrong to me what about the person yeah the the person that the power behind those people is that
wrong i mean yes you just have clients i don't know i don't think so i think they're just advising
yeah i think the person who is splitting the salary with you would be wrong but you found
the ethical loophole yeah you've outsourced finally the moral problem here yes we're three
years into this work from home situation yeah finally we crack the code on how to do this and
still sleep well at night outsource the grift and you just work a lucrative job and let someone else
do the grifting part of it yeah it's like no no real organized criminal white collar criminal
actually does the dirty work themselves i kind of want my name on that payroll
if my name's on the payroll you adp can correlate it
your name has to be on the payroll i just sit at your house and advise you
in our call center that's just full of remote workers.
I think I would bring this up if I felt like I saw or had concerns that my co-worker wasn't
getting the work done or wasn't producing quality stuff. And I, yeah, I assume that has to be the
case. Maybe you don't know though. I don't know. Maybe the team is large and you don't really
see what they do that much. Listen, I think we got to go back to the business idea here.
okay i got some ideas okay hit me what what really is the difference between mentoring someone
you know where you meet every month or two and discuss current career challenges and things
what if you just take that you know the same idea but magn maybe an order of magnitude more
frequency that's just real-time mentoring it's like the trapezoid rule like what is the
But yeah, if you make the interval between mentoring sessions infinitely small, I mean, it's still mentoring.
Right.
I'm just the integral of mentorship.
Yeah, exactly.
Okay.
And that sounds like a good name for the company because it also sounds like integrity.
Yeah, real-time mentors.
Integral mentorship.
Integral mentoring.
Yes.
We have the most integrity.
look it's literally in our name yeah how could we be unethical oh man oh okay sorry i think i
mean you got it is really compelling you got to try and stump the person behind the person now
how do you come up with a question that they could not answer or make a question okay here's
how you prove that they're actually getting real-time information have you ever heard of
like password timing attacks where yeah you you measure how long well you explain it you explain
yes yeah actually i was really glad you were about to start because i can't remember the details
but it's something it's something like you can tell uh how close your guess is to a correct
password by how long it takes the server to respond to your password attempt your login attempt
and so some uh some advanced systems will actually have random sleep time baked into
them so that you can't do this. Well, anyway, what if you apply this same principle to trying to
prove that there's someone behind the camera helping them by measuring their response time
to your questions based on how long it would take them to relay the question to the person behind
the camera. So, and then correlate that and then come up with a number and say like, you know,
for each question, what's the correlation of the amount or what's the amount of time it took
versus how long the question was, because you would expect to see a linear increase
in response time based on the duration of how long it takes you to say the question, right?
I guess there's a flaw in my plan though, Jameson. I was thinking maybe they would have to relay the
question, but what if they're sitting right there listening to you in real time? So I guess maybe
that doesn't work. Yeah. Shoot. There's always a very long pause. I just talked myself into and
out of a great idea. No, I think you're onto something here. I think what you need though is
a question that requires context that is not contained in the question because then they
have to like explain it and yes clarify something that the person you're speaking with the fake
co-worker the alleged fake co-worker yeah that they should already know the context they should
already know but that the person behind the camera doesn't know but another another weakness if
they've just been parroting stuff back and forth they might already know the context yeah they've
got all the context that's the advantage of integral real-time mentoring yeah i'm gonna
start a website integral real-time mentoring.com we could actually make a hoax site about that i
think it'd be really good well i think we've answered it we've uh just do that just make a
business out of it if you can't beat them join them yeah the problem is the delay is too long
make the delay shorter yeah and then your problems are solved oh goodness okay i gotta ask you
jameson would you bring this up with your manager if you suspected that you have a phony co-worker
who's getting help behind the scenes remotely i would and i would feel guilty and like a tattletale
but do it anyways because i feel like there's i don't know i i would your sense of cosmic justice
Yeah, I think so. People should do the work they're hired for. And if they can't, then...
Then they should outsource it to someone else, right?
If they have misrepresented it in a way that requires ongoing sneakiness, it feels bad.
Yeah, it does feel bad. I wonder if we're going to start seeing employment agreements that say
things like, I alone will perform this work. I will not outsource to someone else. I will
not consult with someone else except for mentorship and we'll have a carve out for
mentorship and yeah all these other things but the intervals between mentorship sessions have
to be greater than this time they cannot be infinitesimally small infinitesimally whatever
that word is uh if we launch this company integral real-time mentoring and uh that starts getting
named explicitly in employment agreements i think that's how you know you've been successful yeah
when yeah when when rules have to change to account for the loophole that you've created then
you've done it definition that's the acceptance criteria you should see how deep this goes too
i mean if you schedule a one-on-one meeting with this person do they do the same thing is it like
yeah just talking like where are you from how are you consulting with people yeah how am i
what about that ludicrous sports display the other day then long pause
i mean is this really good text to speech synthesis hooked up this could be just a machine
yeah it could be it literally could be an ai which actually that's a problem is because i think real
time integral mentoring uh corporation llc limited will uh probably be replaced with ai yeah that's
true probably not the best time to start a new company based on stuff that could be
computered away all right well have we answered the question i think so good luck i'd probably
talk to my boss i i would i'll just throw this in i think i would approach my boss in kind of a
humorous way like listen this might sound crazy but i have a hunch and it's kind of funny that
our co-worker over here is actually a phony who i don't want to know the word phony is not the
right word i think they're actually getting help on the side from someone to do their job
isn't that weird isn't that funny anyway i thought you might want to know about that see ya you know
just just drop the little hint and move on and see how the manager handles it from there because
i don't know what you want the manager to do is to do all the awkward investigation for you
because that's kind of their job yeah so you don't have to so plant the seed so much like this
co-worker is outsourcing their job you outsource the job of dealing with it to your manager except
Like that is part of, that's okay.
We've agreed to that already.
Yeah, that's okay.
All right, we've answered it.
What can people do
if they want their own questions answered, Dave?
Go to softskills.audio
and click the ask a question button
where you can fill out our form.
Thank you so much to everyone who does that.
We love reading your questions.
Just this giant heart emoji forms above my head
every time we open up that document
and look at all your awesome questions.
Thank you so much for sending those in.
Please keep it up.
and when you don't a giant broken heart emoji forms above my head so you have both the carrot
and the stick nice keep dave happy don't make jameson sad yeah thank you we appreciate it we
will catch you next week
