Soft Skills Engineering - Episode 66: Nepotism and Minimum Junior Requirements
Episode Date: June 29, 2017Jamison and Dave talk about these questions: My cousin is a manager at my employer. How do I avoid nepotism? I’d like to become a developer. What are the minimum requirements for a junior deve...loper? When will I be “good enough” to get a job as a junior dev?
Transcript
Discussion (0)
It takes more than great code to be a great engineer.
This is episode 66 of the Soft Skills Engineering Podcast.
I'm your host, Jameson Dance.
And I'm your host, Dave Smith.
And this is a podcast where we answer questions from developers
about non-developer things.
Not non-developer things.
That's the opposite of what we do.
Developer things that are not strictly technical.
That's right.
We had a comment from a listener.
Actually, this is from my good friend, Murphy Randall.
we talked about conferences a couple episodes ago and we mentioned the risk of sending an
engineer to a conference and having them get hired away murphy says you didn't mention the
fact that your company could be the one hiring the good engineers away conferences could be just
much more effective recruiting efforts i don't know about you but i'm more likely to be recruited
by another engineer that i meet at a conference than by some recruiter contacting me yep which
is a good point it's a two-edged sword yes it is so send your developers and tell them
no interviewing just hiring send your developers that are happy that's right oh man that could
that could get toxic though right because like only the happy developers go the rest get mad
that they don't get sent well so the happy get happier and the mad get madder yeah it's a vicious
cycle um cool should we dive into our first question yeah sure this one comes from an
anonymous listener who writes i've accepted a position at a company where a cousin is a manager
how can i minimize special treatment and prevent the appearance of favoritism there are lots of
responses to this lots of complexity and it depends a lot on your team and your manager too
probably yeah i wonder if in this case is the cousin will actually be this person's direct
manager i don't know i don't know yeah that would be trickier oh yeah also i i sense there's a
little bit of a different relationship at the cousin level than the parent level yeah that's
true that's a little bit less protective and i was gonna say it's less paternal and that's
kind of that's literally true yeah it's kind of a tautology uh yeah but i guess maybe it depends
on the culture like some cultures might have much more uh stronger bonds even at the current level
it depends on the cousin too i don't know maybe this is a cousin that you just don't even like
that much so i had a friend who worked for a small family-run software company which you don't hear
about that very often yeah but uh he said you know for months he told me these stories about
this guy on the team named Junior and every time he said Junior I just thought oh he's joking around
because this is the boss's son and it was it was the boss's son and I thought oh you're just calling
him Junior because that's your funny little quip you know derogatory name and and he would tell me
all these awful things that he would do and then one day I was like I finally asked him now Junior
that's just a funny nickname right he's like no his name literally was junior
anyway it fits so yeah it's like right out of an 80s sitcom or something yeah yeah i imagine he had
a backwards baseball cap yeah it's like a chunk of hair sticking out yep in the middle carrying
around a big lollipop and making mayhem mister oops ain't i a stinker but it was a huge pain
for him because it was like anytime he did anything wrong it was like now he you know he
just felt this strange conflict of interest where he couldn't really go to him and complain he
couldn't you know it just felt like it's already hard enough when your co-workers do things poorly
to deal with now try making their boss or sorry yeah their boss be their parent you know or close
familial tie or really really good friend yeah i think i don't know like in most situations i feel
like the best thing to do is just to get it all out in the open i think you should talk to your
cousin about your concerns and make sure that uh your cousin isn't favoring you or appearing to
favor you and then i think you should talk to your team about it too and let them know like hey
don't worry just because the manager is my cousin like i want i want good honest constructive
feedback i don't want you to treat my work any differently and and and maybe even have your
cousin talk to people and say like listen he's my cousin but i'm not gonna protect him he's he's an
employee just like everybody else yeah i feel like getting all that out in the open yeah i think that
seems like a solid answer i don't know that there's any special protocol that you need to follow
there's like the the protocol where anytime your cousin does anything negative to you just like
make sure they call that out like hey everyone look i just rejected one of my cousin's bug fixes
just want everyone to see that yeah or i guess the other protocol is um your cousin is extra
harsh on you yeah to try and stomp down the appearance of favoritism like clearly there's
no favoritism how otherwise why would i fling these staples at their face all day maybe you
could stage a fake firing where your cousin fires you and then you maneuver your way back into the
organization that'll set all the all the concerns to rest yes that's true good point yeah i don't
know i think just just talking about it it sounds like you are aware of this and and this is the
good case of this situation the bad case is where people want to be favored and and their relatives
want to favor them and yeah then that just gets really tricky but if you're aware that it could
be a problem and you're worried about it i think that reflects that you're probably gonna handle
it well yeah i totally agree and i was gonna say the same thing i think this uh this reflects very
well on you or in all your pull requests just put down like uh i mean do you want to come to the
family barbecue or not when you're asking for comments on them just make it super obvious and
explicit hashtag family barbecue on the line when you're reviewing the following code be sure to
remember i am the manager's cousin now imagine your children without the presence i was going
to give them oh man yeah i i really think you just have an open discussion about it and clear
the air a little bit the there's a little more detail in the question that we didn't read which
is uh there were some jokes about it and i think jokes are i don't know they're fine i actually
worked with my own cousin at my last full-time job and people made jokes about it but i don't
there wasn't any there wasn't any nepotism i know i have worked at um two different companies where
there were brothers working um but neither of the brothers were in a position of authority that was
like one responsible for the other or i don't think either of them could really benefit in fact
they shared an office i think uh at one of the companies maybe that's worse because then the
little brother's getting noogies all day and has to the older brother makes them smell their armpit
well i'm not too worried about it yeah i i think i think you're on the right track it sounds like
you have the the correct concerns and that makes me think you'll solve it well oh if you get really
concerned about it you could try to force your cousin out of the company through political
posturing yeah that's true yeah yeah take over tell your cousin that if if they value their
relationship with you then they'll leave because this company's not big enough for the both of us
yeah give all their power to you okay all right that that sounds like the canonical answer i think
we're done with this question i'm gonna read our next question uh this is from a listener named dan
first of all i love the show especially the sense of humor and not taking yourselves too seriously
what i am offended oh dan we're gonna implement some filtering so none of the episodes go to you
after this um thank you dan what are your realistic expectations of a junior front-end
developer i.e how technically bad can they be i am interested in moving into development soon
after three years of being a recruiter at what point will i be good enough for a junior developer
position at what point how bad can they be i'm trying to think back when i was a junior developer
like last month yeah how was it still am junior for life that's right
i think this differs at every company there's different expectations of what junior developer
means some companies junior developer means a graduate of a computer science four-year degree
who has not worked professionally full-time yet and some it just means like this is their first
job at some it means they haven't achieved like x years of experience no matter what their
background or work history is um so it's tricky and it depends yes i i think personally that
you hire juniors for potential not for output necessarily so it's it's more to do with the
team supporting them then i mean if you had enough experience to get hired to any company
is a junior developer you're probably not a junior developer oh yeah that's a good that's like a
paradox yeah yeah um so so there's like some subset of companies that are willing to take a chance on
people without the experience that uh that that other companies demand and and i think those
companies are looking for potential like uh the way i see it is um you you don't know how to write
code very well you you write horrible code but it's horrible in different ways every time
because not consistently horrible feedback well yeah yeah you're like an information sponge right
you you do a thing and then someone says like you could try it this way next time and then you try
it that way next time in your next feature and someone's like add this new thing on like you're
just adding all these chunks of knowledge and constraints and ability all the time but uh that's
yeah i think that's the main thing you're just hiring for people that are that will learn
really quickly because
they don't have a word that goes after because
i don't know because period that's what my kids always say because it's like a complete sentence
who did they learn that from dave no it's probably me being sassy
so how let's answer this question how technically bad i think what he's saying
is how technically bad can they be and still get a job like how much do i need to be able
to accomplish already yeah but the first time i read that question i thought he meant
how much bad can they do once you hire them
and i don't think that's what he's asking so let's so let's go back to dan's real question
which i think is like what's the minimum amount of skill that i need in order to get my first
developer job and and he's specifically interested in web front end so what do you what do you think
that is jamison if i could create an html web page is that enough to be considered a junior
developer for web front end um i don't think so i think nowadays front end encompasses javascript
application development that terms kind of morphed over the years but i feel like it's
you need some html and css and javascript knowledge okay um just being able to write
html i feel like isn't enough but again that depends on the company and there are some places
where that might be yeah like if you go to work for a an agency that's cranking out marketing
material you could very well get yourself a position with the title junior developer cranking
out html pages yep i i feel like you would need to be able to add a feature to an existing front
end javascript application i have a small well-defined feature okay because that's the
kind of stuff that gets given to most juniors and it might take you longer and you might have
to ask some questions but but you should be able to look at the code and figure out
with some help how to add it and and what to do to make it work okay that's very vague but
yeah and you'll probably have yeah i don't even yeah this is so hard to define um
hmm yeah i think i think that's a pretty good that's a pretty good bar
it's it's tricky though because most junior devs uh that i see nowadays come out of boot camps and
they don't work in big code bases they work on entire applications that they write themselves
that are relatively small and they're kind of doing it all themselves but there's not any
you don't maybe someone will correct me if i'm wrong but i get the impression that you don't
read a lot of code that you don't write yeah in your boot camp work like you're writing code from
scratch or you're kind of working through lessons but you're not diving into a large existing
application and figuring out how to make it bend to your will you know that's consistent with the
boot camps that i've seen but that's that's what most developers do every day it's reading other
people's code and figuring out how to adapt it yeah yeah you're you're going into some chunk of
the code base that even if you wrote it's it's not yours anymore it's kind of changed from under you
or your knowledge of it has changed and you're trying to finagle it into a new shape um
how technically bad can they be yeah i i think
i mean we could get into like do you need to know all of the frameworks
and be like know a little bit about all the javascript frameworks or do you pick one
it doesn't feel interesting to me i don't want to even say those words
yeah it's so hard it's a boring discussion anyways yeah i'm kind of bored too
i i think when you said information sponge that was the probably for me the number one
determining factor if as an employer if i can detect that even though you don't have a ton
of experience developing software if i can detect that you are really fast at gobbling up knowledge
and synthesizing it effectively,
then I'm much more inclined to hire you as a junior developer
because I know that you'll grow quickly.
But if you seem to be,
I'll just use this somewhat derogatory term,
a one-trick pony,
who it's like, you know,
I mastered this one language,
this one tool that I can apply only in narrow ways,
then I'm less likely to hire you.
But then again, there are companies that will.
So I think this is what makes this such a hard question to answer.
There are so many different profiles for junior developers that companies might want to hire into.
And I think it's very unlikely that a company like Google, for example, would hire someone like Dan at this point.
But I think it is very likely that a company like an agency or any number of other companies would hire a person like Dan.
so it's like i think this is an impossible question to answer basically it's what it
comes right down to yeah i think what i meant by information sponge was both you absorb information
really quickly but also you you seek out answers really uh intensely which does not sound like a
sponge at all yeah it's like this it's a very proactive yeah yeah aggressive killer sponge
it's a carnivorous um walking sponge it's a it's like a you know have you ever seen like with those
wolf spiders imagine that but a sponge there's like it's like a sponge riding on the back of
a wolf spider yeah soaking up knowledge and attacking every problem it's it's mighty steed
because people are going to explain stuff to you um but also there's going to be a ton of
stuff that no one will explain to you that you you have to seek out the answers to and the most
successful juniors that i've worked with are really good at seeking those answers out instead
of waiting for them to be delivered to them and and myself and people around juniors will often
if you see someone struggle long enough you'll kind of like dive in and help them but i feel
like a lot of the times there's an expectation that like you should have done more work to to
try and figure this out or get help or or investigate instead of just like sitting at
your desk for three days not getting anything done yeah and that's that's the frustrating part
it's not like oh you don't know this syntax of the language like of course you don't you've
never seen it before it's it's you didn't put work in to figure out your problem right and
sometimes that work comes in the form of trying to approach it from a different angle like oh i
couldn't get this to work maybe i'll try that maybe i'll poke it from this direction or maybe
if i do this you know and it's like just trying combinations of things and and uh i don't know
it's like you could stare at a rubik's cube and look at it and be like i have no idea how to solve
this or you could just start spinning it and and seeing what patterns emerge you know and i think
that's the best developers will just start spinning things they'll start poking things with sticks
running it with different configuration tweaking the code seeing how it affects things you know
and and just trying all these different things and yeah or proactively asking people something
besides just kind of getting stuck because that's that's the thing that's personally frustrating for
me of working with juniors is when they they don't move forward uh or they don't move at all when
they're stuck yeah exactly i i have the same i have the same pet peeve which also can be an
indication that your processes are broken but that you know if your junior developers are getting
stuck a lot and not feeling like they have an obvious solution to that um but that's a separate
topic i think my processes are impeccable they're spotless and perfect above i resent that
you take yourself so seriously jameson that's the problem here
yeah yep at what point will i be good enough one uh more chunk of feedback is
um you should probably try before you feel like you're good enough
mm-hmm because the market is so hot that it's likely that you will get
you'll get an offer before you are good enough absolutely waiting around for some feeling that
you know everything we talked about imposter syndrome last week and and lots of people go
through their whole career feeling like they don't know enough to do whatever thing they're
currently doing so yep waiting until you feel like you know enough um is is risky i think if
i waited till i felt like i knew enough or was quote good enough i'd still be waiting yeah you
get good enough by doing yep that's the title of our live mandolin bluegrass album
get that we're good enough by doing yeah we're gonna learn the mandolin live on the album
that's right i'll never publish the first album if we don't start playing the string
it's really a motivational tool people will listen to it and be like
if jameson and dave can like drop their instruments on the ground on stage
on accident i can apply for this job on accident
whoops i'm still working on how to hold it yeah but i'm trying this is the mvp album
minimum if you don't launch when you're embarrassed you waited too long dave
that's why we're going live there's really only two kinds of bluegrass artists
yeah all those people that are professionals and experts obviously they waited too long oh yeah
oh yeah too conservative uh yeah be be bold like our band just like our non-existent band
what's that just be bold like our non-existent band yep any other feedback for mr dan question
answered. All right. Good luck, Dan. Let us know how it goes. If you're looking for junior
developers, talk to Dan. If you're looking for some wisdom, then go to softskills.audio. Click
the link on that page that will give you a Google form you can fill out and we'll answer your
question when we get to it. We really appreciate you sending all your questions in. They're
fascinating. We feel like we learn things by talking about them with each other and we hope
you enjoy listening to them if you enjoy the show please tweet it share it share it with friends
share it with enemies enemies will become friends as you share the show that's the power of soft
skills engineering uh and with that we'll catch you next week
