Soft Skills Engineering - Episode 52: Slowness Guilt and I Have No Side Projects
Episode Date: March 21, 2017Dave and Jamison answer these questions: I feel guilty about how slow I’m working. What should I do? I’d like to find a job, but I don’t have any completed side projects or an interesting ...GitHub profile. How can I explain this?
Transcript
Discussion (0)
It takes more than great code to be a great engineer.
This is episode 52 of the Soft Skills Engineering Podcast.
I am your host, Jameson Dance.
And I am your host, Dave Smith.
And this is a free advice show for developers.
The advice is worth what you pay for it.
Maybe even less.
That's true. Free has a cost.
Cost is your time.
We want to be worth your time, though.
We got a listener story in response to episode 50.
uh this is so this was the question about the manager of zero people and the story is actually
from the question asker yes i love it when this happens when we get more detail yeah about stuff
we didn't know as it turns out my manager of zero experience was just one thread in a web of reasons
i was unhappy so i started looking elsewhere and stumbled into an opportunity working directly
under a manager who i respect tremendously and who respects me and alongside another engineer
i've worked with successfully at a previous company i'm expecting a formal offer for the
new job this week and should be out of the startup by month's end thanks again for taking the time to
bisect all the stuff going on in my career and giving me some much needed perspective
your podcast regularly reminds me that we're not alone in this industry even if we feel like we are
sometimes especially if you're a manager of zero people yeah i mean literally you were alone
you were alone well congratulations on the new job yeah that's great i i hope you find
all your wildest dreams yes and that they come true yeah get new dreams and then make those
come true cool should we read our first question yeah sure i'll read this one uh this comes from
an anonymous listener who says hello great podcast thank you i enjoy the way you talk
about various topics in our industry recently i started my second job i spent two years at my
first job and my coding skills were not as good as i wanted them to be i changed jobs to push
myself out of my comfort zone now i feel a bit slow at completing my tickets and i'm spending a
lot of my time on research i am working on a greenfield project so maybe it's okay what do
you think if you never get anything done the project will stay green forever oh yeah because
the best code is is the code that has yet to be written that's right and so it can never become
legacy if you don't finish yeah it'll never be brown yeah why are you in such a hurry to get to
a brownfield just luxuriate in that rich green grass for a while um so i lobbied for us to answer
this question because i feel this all the time i feel like this is my constant state of being just
feeling guilty about going too slow and some of that is because i'm kind of like a people pleaser
i want people to be happy with my work um and some of it is just i don't know i'm just always
worried that i'll suddenly get fired from for going too slow without having known i was going
too slow so for me the one of the solutions to this is just more information uh just ask people
how they think you're doing like if if you are worried about feeling slow um someone is probably
managing you and has an idea of what you're supposed to be doing and and how you're meeting
their expectations and if you make those expectations explicit it's a lot easier to
get a feel for where you actually are instead of where you have convinced yourself you are
yeah yeah because maybe you're actually not going slow and maybe you're doing just fine
and on the one hand i would expect a reasonable manager to tell you that but on the other hand
an unreasonable manager might say actually you are going too slow you need to go faster like
is the question to that ever or sorry is the answer to that question ever going to be
yes i'm satisfied with your level of speed do not go faster slow down a little bit in fact yeah
yeah yeah that's true an evil person would be like i noticed you went home
the other day and that was some time you didn't spend at work getting stuff done
yeah so then maybe you could talk to your teammates about it i i just feel like there's
got to be some way if part of the feeling is like do other people think or if part of the issue is
you're wondering if other people think you're slow you can find that out yeah somehow yeah
definitely and you you mentioned tickets in the questions so i'm assuming that there is a queue
of tickets that your team is pulling from and people are working on these and then marking
them as finished so if that's the case you could go compare your ticket completion rate with your
co-workers and see how you stack up yeah that gets that gets really tricky but it's it is some
information i mean tickets are different sizes people close them at different rates people have
different definitions of what done is but if someone else does like 400 and you do two then
yeah that's that does tell you something here's what you do find the the fastest developer you
know and just compare yourself to them and like like social media but for work just find someone
to envy and just constantly hold yourself up against them and point out all the little places
where you're lacking that's right take their best and compare it to your worst yep then
yeah i do agree with jameson though that you should ask if you say uh if you like have a
mentor you trust or someone on the team who can give you an objective answer i think it's a good
question to ask um the funny thing is uh you may be surprised at how little people will actually
know about this oh yeah go to your manager and and ask am i going fast enough and your manager
might be like uh i don't know i thought you were until you asked me this question
clearly there's a problem yeah that's a great point even on small teams i have felt that from
from managers because i've i've actually asked this before of people and i the most i've gotten
from a manager was just a shrug of the shoulders so which is actually a good sign right like that's
good yeah yeah that means like at least if there is a problem they don't know about it
what about the research area if it's a greenfield project and there's a lot of kind of initial setup
or just unknown i don't know it's not just build out this feature it's like figure out what
what feature to build out how how do you evaluate speed in that context where you're out of the
i don't know standard iteration product cycle yeah you can't really measure research output in
in like the traditional story points or other measures right yeah i believe that's how you
get tenure right don't you get 500 story points from publishing papers i'm a level 7 publisher
because one of the outputs of your research could be that you actually saved your team a bunch of
work by not having to build something that was a dead end and how do you measure the speed
increases that come from skipping a huge swath of work that you decided not to do yeah i i've
mentioned part of this in the past i worked at a company a few years ago where we had a period of
several weeks of crunch time and then we had some sort of downtime after that uh some of it was just
straight up vacation they told us like don't come into work for x number of days and then when we
came back they told us you need to do some kind of exploratory research on this area and it was
very vague had no deadlines uh there weren't great criteria for measuring progress and it turns out
that we finished the time we had allotted to that and we had nothing done which is like didn't we
we did stuff but there was no output from it so i agree that it's hard to evaluate progress but
also in in without any structure or boundaries or goals or anything it's also hard it can be just
hard to make progress yeah true so how do you maybe this is a personal thing more i mean some
people do great at that completely structureless exploratory um kind of work but i think lots of
people would struggle to to feel like they'd accomplish something at the end so how would you
take this open-ended thing and like put some structure on it so i think there's uh is that
even the right question to ask um oh oh no maybe you don't yeah i think you do generally uh i i
think that if you don't have some kind of structure around the research you're doing then you'll just
spend time learning and the output of the value of the output might not be easy to identify or
might not be even might not even be valuable it might be valuable for your next job when you spend
a month like playing with docker don't get anything done but then you put docker on your resume
okay so i i think there are three techniques that i'm mulling over in my head right now that would
help you to uh structure this kind of research and like actually measure it the first one is
writing down some kind of acceptance criteria so you know when you're done and this can be fuzzy
especially if you're like well i'm going to investigate these three technologies and
you know evaluate them for use in our product but you could write criteria for that and say like
after i've built my to do mvc app in three different technologies then i will that'll be
my acceptance criteria the second thing is to have a written report at the end of your research
that uh summarizes your findings and lessons learned for other people and that can be like
the output so once that's done and reviewed and everyone's you know happy with the result that's
your acceptance and then the third thing is to just completely time box your research and say
i will take three days and no more than three days and whatever i have at the end of three days
that's what we have whether it's complete or not and i think using those you can those three
techniques you can put a little bit of structure around it yeah some combination of those three
might i mean you might not need all three of them but yeah yeah i like that and and nope i don't
have anything else to say it's gone i was gonna ask when you're feeling slow uh try to ask yourself
if that feeling is self-inflicted or if it actually comes from a real external source
like are you just feeling guilty because you haven't yet calibrated to the speed of how things
are done or do you actually have some external pressure pushing you to finish something and
you're not meeting the deadline or the time that something is needed by hmm so at the risk of being
too personal dave you just well not just but you fairly recently started a new job did you feel
too slow there oh yeah yeah totally do you do you feel less slow now uh yeah i feel like i can get
more done now than i could a few months ago and i've heard people in my same situation say the
same thing they also feel slow and these are like industry veterans who have been developing software
for decades and who are very good at it they start a new job and feel slow so i think it's pretty
normal sure so even dave feels slow yeah i feel slow a lot
cool well have we answered the question i think so yeah slow down slow down there partner
just go slower that was the summary cool i'm gonna read the next question
this is from a listener named jin or gin depending on how you pronounce gif
uh i would like to find a new job but i'm feeling insecure because i don't have an
interesting github profile or side projects to show in my spare time i study and program a lot
but i've never built something really valuable how can i explain this how do i answer uh in an
interview if the interviewer asks me if the interviewer asks me to show them something
thank you you're welcome preemptively preemptive you're welcome
so side projects you don't have any side projects yeah or an interesting github profile what does
an interesting github profile mean does it mean you have like a saucy like your debonair picture
you've got a hat with a feather in it that would be interesting decorative vest
with all your different projects as uh buttons oh yeah like merit badges
i was thinking more like the uh the waiters and waitresses who work in restaurants with
oh yeah they have to have the flair yeah lots of lots of pieces of flair
flair we went to a restaurant the other day and it was definitely a flair restaurant yeah the
waitress came up and said howdy y'all in the most soulless like dead voice ever i felt so bad for
her and i asked her if she had to say that and she said no but she did because it was it was a very
a texas themed restaurant no i just like to say howdy i this is how i greet everyone in utah
the traditional utah greeting of howdy y'all anyways that's not what this question is about
i asked what an interesting github profile means i guess that was kind of a leading question because
i i assume when they say interesting github profile they mean like famous open source person
profile where you have a bunch of popular projects and a ton of commits you look at that little graph
and it looks like green tile on a wall where like every day there's just lots of commits
and i would say that's like the 0.01 percent of github users yeah i i've interviewed a lot
of developers and just looked at a lot of developers github profiles i've never maybe
once i think once i've seen what i would say is like a classic interesting github profile with
tons of open source stuff yeah but hundreds of of just dot files or like random boilerplate they
forked or yeah like intro cs projects or bootcamp projects so that that's kind of the default i
would say and so don't feel bad if that's what your github profile looks like because that's
what everyone's looks like yeah exactly so if you're in an interview and the interviewer says
show me your github profile say show me yours first i'm gonna look at dave smith's github profile
oh i've got flare 37 repositories oh you got you got stars 85 stars on the angular react directive
example oh man that was from like three years ago only 74 contributions in the last year though
dave i'm sorry we're gonna have to pass i have content oh that includes our website
that is open source yeah that's another point these numbers are so stupid and arbitrary
yeah you can't bogus yeah you really can't rely on them for anything any meaning my decision
yeah my blog is uh public um i have this this node module that i made in 2012
no 2011 called recursive reader and it has 118 stars because it was the first like thing to
recursively list files in directories and i have not touched it in many months but yeah i guess i
guess what i'm saying is these numbers are arbitrary and i don't do they don't reflect
what i actually do so let's let's go away from github because i'm pretty sure that most people
don't have a super interesting github profile and even if they did there's all these false
signals there anyway what if i have 647 contribute public contributions this year
which i believe means i'm worth roughly 10 times as much as you you are the mythical 10x developer
or maybe i'm the 1x and you're the 0.1 oh snap oh snap that was a sick burn
okay so we know that uh github doesn't really tell the complete story but what about side
projects what if an interviewer says tell me about your side projects and you're like i don't have
any side projects i think side projects can be a positive signal but the lack of side projects is
not to me a negative signal it is to some people um because some companies and some interviewers
really value passion and when they mean when they say passion what they mean is someone who programs
like literally every second they're awake they program all day for work and then they go home
and work really hard when they're not at work and and side projects are one indication of that and
open source and speaking at conferences and i don't know there's all this stuff that falls into
passion but yeah again that's not what makes someone a good developer or a good employee
it's just a signal people have latched onto. So I think my point is there are some places that
might, uh, not want to hire you if you don't have this, but I think most places, most people that
are programmers don't have side projects. So yeah, it's not going to hurt you that much.
Yeah, that's probably true. One of the things you can say if, if you don't have any side projects
and they ask you is, uh, what I've said is look at different points in my life. I have had
more interest in doing side projects. And it usually depends on how engaging my main day job
is. And if I'm in kind of a boring situation at work, or I'm not being challenged, those are the
times when I'm most likely to get side projects going. But if I'm in a really engaging, fun,
exciting, challenging job, then I very rarely do side projects. And I've noticed this correlation
over my career and so if you've been in an exciting challenging fun job then you can say
look i i just haven't really had time to do side projects because i've been so excited
to work on my regular work yeah and i i actually think some employers will say that's cool
yeah you know like that's great i put a lot of myself into my job so that's where the energy goes
also i mean some people have kids and then that is your full-time side project if you have kids
then you have like an hour a day for side projects and that side project is like recover
recovery time yeah yeah or i mean people have all kinds of interests that aren't programming and i
think the variety of interests adds depth to the to the field of programming yeah and i would say
that your work experience is like a hundred times more important than your side projects
which is a little little similar to what jameson was saying about how they're bonus points but
they don't hurt you if you don't have one um but at the same time i think it's much more important
to steer the interview conversation to the projects you've done at work what have you
accomplished at work because that's a much more representative indicator of what you're going to
do at this new job so if you're in an interview and they're like tell me about your side projects
i would try to steer the conversation back to work yeah i really like that actually a side project
that worked like work would be work and and to me part of the benefit of a side project is the total
lack of structure and the ability to do stupid things that like are not going to matter to
customers or explore in ways that you don't have to deliver value in the same way you do
work another they mentioned they code a lot but they just don't have what i assume is they do a
lot of kind of learning in these side projects but they don't produce these polished projects
that you can kind of click through and show someone okay there's not ui or anything like
that and in that case then the output of the side project isn't like this product that you can demo
and show off to people it's your skills so you are still learning stuff you're you're just growing
yourself instead of growing this other thing yeah good point like if they say show me something you
can say well i don't really have any polished product to show but i've spent a ton of time
learning and i can tell you about these projects that i've worked on yeah i learning exercises
yeah i learned how to build apis and go lang or whatever you use some technology that taught you
something also one kind of different spin on this is that when i've interviewed candidates and they
have a ton of side projects going that are clearly a lot of work i think to myself i wonder how much
of these side projects were actually paid for by their employer by accident and it can become a
negative thing if it's like are you if i'm gonna hire you are you just gonna work for 20 hours and
then spend the other 20 hours sitting at your desk working on your uh erlang interpreter yeah
that's a good point i mean you you want people to grow and develop themselves but also you want
them to get work done for your company and i i have seen people step too far over that line
um and then they have a painful conversation where they get pulled back into like no you like
you work here this is your job we are paying you this isn't like yeah yeah and it it's also caused
issues on teams too like if if if you're uh using work to fund your personal career development then
the team knows that yeah and they probably have some resentment about it too so
so definitely it can be taken too far but a healthy mix of side projects in my opinion is
generally a benefit and something that i will weigh when i use uh when i interview a candidate
but uh the absence of side projects does not like just like jameson said that does not hurt
your chances what if i were your interviewer yeah i'm trying to think through all the people that
have that that have been hired like around me not even that i've directly hired and i don't know i
feel it definitely it's definitely less than half that had serious side projects um and and of the
people that we've interviewed like way fewer than half almost nobody had side projects oh wow i guess
interesting it does seem like it helps but it's not yeah it's not it's not a not a blocker cool
question answered answered we did it we have done it dave where can people go if they would like to
hear more of this amazing wisdom first of all i have a small issue with your word choice
uh was it not was there not enough hyperbole yes only amazing what do you think this is
not the best podcast in the world
so if you want to check oh oh before that i want to so last week we did an episode in which i
admitted uh that i'd been lying on my resume on my linkedin profile about my education experience
immediately after that episode ended i messaged dave and was like i'm gonna do it and i signed
up for online to for these two online classes that i never did i'm like halfway through one
of them already so whoa theoretically i could be done in uh in like four weeks but actually that
won't happen because the first class is it's like a one credit class for an hour a week and the
second class is calc two and that'll take me about nine months but you're gonna make a calc two baby
in nine months yeah i am but the podcast has inspired me not only has it helped our listeners
it's also helped me it inspired jameson to get that worthless piece of paper that he's been
lying about having yep yeah so that i can retroactively not be lying anymore let's i want
to just put it out there it was an accidental lie you weren't you weren't deliberately deceiving
anyone no i'm not capable enough to deliberately deceive anyone so so yeah congratulations on
starting your uh college education again thank you soon i'll be able to tell you uh about
trigonometry identities oh wonderful i'm looking forward to that episode all right anyways yes
thank you jameson uh if you'd like to support the show go follow us on twitter the handle is
at softskillseng many of you have done that we really appreciate it also go to softskills.audio
that is our website for the podcast you can see all the episodes there you can subscribe there
it's an easy link to send to your friends to tell them to subscribe and uh you can also uh what else
can you do oh yeah you can leave comments on individual shows which a lot of you have done
there are some cool conversations happening uh that actually were really nice to get other
people's perspectives on situations because as it turns out jameson and i don't actually know
anything and a lot of other people do so that's really cool to see so go check that out at soft
skills.audio all right i think that is it we'll catch you next week see ya
