Soft Skills Engineering - Episode 316: Skills reboot and quitting the perfect job
Episode Date: August 8, 2022In this episode, Dave and Jamison answer these questions: Hi! I have been a software engineer at a very small company for 10 years. We write desktop products and single server products - I do...n’t have experience with scaling systems or the latest & greatest Javascript frameworks. I would like to move to a company where I can learn and grow, using a more modern stack. My coding skills are great, but it seems like I just don’t have the experience many companies are looking for. With 15 years total experience I am too junior for senior positions, and too senior for junior positions. I’m feeling stuck and am tempted to quit my job so I can focus on side projects using the latest and greatest tools. Or is there a better way to get unstuck? Listener James asks, How do you know when it’s the right time to move on from an almost perfect job? I’ve been a frontend developer for 6 years and spent the last 2 years at a really great company. I have lot’s of autonomy, a competitive salary, excellent stock options, and great job security. But, so far my entire career has been working with the same technologies, and there’s no scope to learn new languages at my current job. I was recently contacted by a recruiter, which resulted in an interview and offer for a full-stack role with a stack that would be completely new to me but really excites me. I’m worried that never holding development job for more than 2 years would look bad, but at the same time I don’t want to be stagnant and not learning. Should I stay at my current job where I’m comfortable, or take a risk and jump into the unknown to develop my career.
Transcript
Discussion (0)
it takes more than hacking patreon to get your intro right on the podcast to be a great engineer
this is soft skills engineering episode 316 i'm your host dave smith i'm your host jameson dance
soft skills engineering is a weekly advice podcast for software developers about all the
non-technical stuff that goes into being a software engineer i like the implication here
that the most valued prize on patreon is in fact getting your name read on this podcast there's
nothing better you could do by hacking into it yeah like i would this actually this is right
in line with the spirit of like spending hours and hours on editor configs and tooling and
shell configurations because you're like you could have spent 10 bucks
but instead you spent months hacking patreon you risked jail time yes but you know what you can't
put a dollar price on the friends you made along the way while trying to hack
all right i want to thank our patrons thank you to a one-time shout out for yachtfutures.aq
slash jameson uh i learned that dot aq is the antarctica tld and yachtfutures.aq does not
resolved to anything but yet yeah i guess hop on that if you want to make me type a link and then
show me a thing because i'll keep typing it it just says my name it just it's like a shiny object
to a magpie like all right i'm obsessed with this thing now uh okay back to the weekly shout outs
thank you to these folks who are contributing at the level where we shout them out every single
week thank you to kent c dodds theodore savin nathan saccon memester josh owen shardle craig
motlin i love mavis the stochastic parrot alice jost andrew pollock landfair
i may have elided some syllables in the middle of that one but i tried kashokton ohio patron.com.au
we're hiring ira chan monkey face emoji jonathan king testing is documenting.org will angel who
does not have stinky feet ragnar nick hathaway travis sanders brayden canes john grant nick
kantar and philip john basile thank you thank you to all those folks thank you and uh your support
helps keep the show going and in return you also get an invite to our slack community if you
contribute any dollar amount you can go to soft skills to audio click support us on patreon
to join this crew and if you want us to say words you can bump that number up and if you just want
the slack invite we're happy to have you that's true all right this episode is sponsored by hired
which is the best way to quit your job and get a new one.
Jameson, you want to read our first question?
I do.
That's what I want to do right now.
This is from an anonymous listener who says,
Hi, I've been a software engineer at a very small company for 10 years.
We write desktop products and single server products.
I don't have experience with scaling systems
or the latest and greatest JavaScript frameworks.
I would like to move to a company where I can learn and grow
using a more modern stack.
My coding skills are great, but it seems like I just don't have the experience
many companies are looking for.
with 15 years total experience i am two junior for senior positions and two senior for junior
positions i'm feeling stuck and i'm tempted to quit my job so i can focus on side projects using
the latest and greatest tool or is there a better way to get unstuck ah very interesting this is
like the first uh probably first 10 years of my career as well on desktop and single server
products that's exactly right i mean sometimes there was two servers when i hear single server
products i assume this is some kind of like appliance that companies buy and stick on a
computer in their office or something like that that's what i was thinking same kind of thing
desktop software uh software you install yourself and run it on premises for me it was c++ and the
qt framework which was still to date the absolute best programming framework i have ever used have
you gone back to it to see if you have rose-colored goggles on yeah i haven't i probably let's not
better not yeah yeah don't want to risk it oh it was great though but yeah like i i had to do this
because i remember thinking like oh man i'm i felt like i was in dead-end technology
and that really wasn't totally true but my world was getting narrower and narrower you know what
mean yeah like the the futures the number of different futures following that same path was
kind of shrinking yeah i had always actually back then i had convinced myself that web development
wouldn't pay that much and so it was better to be you know a desktop software development as long
as like 20 years ago it's kind of stupid yeah in hindsight but i thought who could get paid to
Right? HTML. That's like what you do for fun. Just, I made a homepage.
For a while, that was the same thing with native mobile versus web too. Like,
yeah, native mobile is the expensive one. That's right. In fact, I remember thinking that
native mobile was my bridge, would be my bridge. Like I could go from desktop software to native
mobile to web. And that was kind of a bridge, but I didn't. Went straight to web.
it's a good decision well actually i don't even know do you like the web i know some people have
like personal feelings about the value and importance of it and to some people it's the
thing that they work on you are you a web aficionado i do like the web i mean i feel i feel
like you as a web developer you can produce software that does more interesting things than
a non-web developer you know especially when you consider how easy it is to drop in things like
payment systems and integrations with other products that make your product a lot better
it's just really easy these days to do things like that can you imagine trying to process
credit cards in like 2003 you know before there was stripe and those other things a dark time
it's crazy right now that stuff is trivial so i really like that about the web you can you can
build a lot by just plugging things together but at the same time that's why i didn't want to go
into the web because i thought you're just snapping legos together you're not really doing engineering
that's what i thought was i right nope you were wrong uh i'm not gonna give any evidence though
my coding skills are great but i don't have so 15 years total experience two junior for senior
positions 15 years does not sound too junior for senior positions to me i wonder if the question
asker means like it's not the right 15 years of experience could be two senior for junior
positions, I could see that as well. One tactic I've heard about is just leaving off stuff
towards the earlier part of your career. If you feel like you are too senior and would like to
deliberately target a more junior position and avoid being seen as overqualified.
Yeah. Or that your salary requirements might be too high.
Yeah. I wonder if that's part of the concern that's unstated here is that I might have to
take a pay cut to pivot into a more opportunity-filled landscape.
A very small company for 10 years. That part makes me think that probably not. If that's
important to you, you probably are not at a very small company that happens to pay outrageously
well. Yeah, that's probably true. Especially if they're doing stuff using kind of esoteric
technologies that aren't super well known. Yeah. Not enough VC bucks in single server products
to meet our outrageous demands yeah quit and focus on side projects so i don't think that's
a good idea that's a really really expensive option would you would you pay forty thousand
dollars for time to work on side projects yeah today yeah adjust that number depending on how
long you stay quit and how much money you are missing out on but yeah like and to put that
into perspective like okay let's say you could magically wave a wand and give yourself 40 extra
hours a week for no additional tiredness but you just have to pay 40 or 50 000 bucks for it
for three months of that would you pay it here's what i would do i would pay it and then just play
video games for those extra 40 hours a week 40 hours of not feeling tired yeah i've unlocked
the secret i can go into my like pocket dimension where time passes differently and no one
interacts with me and yeah i'll use that gift to click pixels and and you'll come back out of the
pixel land and and no one will even know you were gone yep it's like oh jameson hey guys oh you have
bags under your eyes yeah it's been a long day i uh twice as long yeah twice as long it's literally
been a long day. Yes. That went over my head the first time you said it.
I'm feeling stuck. I think most people would not take that trade, the $40,000 trade or $50,000
trade. Yeah. Plus, I got to tell you, side projects, not that impressive. To me, a lot of
people tout this like, you need to go into interviews with side projects. Now, I know in
this case, the question asker is saying, I need to do side projects to develop some new skills.
But I got to tell you, as an employer, you're not that much more interesting to me if you happen to have some random side project you created in JavaScript.
I'm much more interested in your 15 years of software development experience, even if it's not in the language that I happen to be using at work right now.
Yeah, I feel like side projects can be a signal for very junior folks where there's not a lot of work experience.
or if your side project is like redis or something it's like the top 0.1 percent of
if you can glance at it and know oh the person who wrote this is amazing or if it's incredibly
successful then that would probably carry some weight but if it's just like i build a website to
organize recipes and it's like pretty good to me i will say one strong signal that side projects
give me especially if you're doing a lot of dabbling in a lot of different technologies
and languages is that this is a person who was interested in learning and i tell people when i'm
interviewing them i said look i don't hire people who just happen to have the exact right grocery
list of programming languages on their resume that matches what my company uses today i hire people
who have a demonstrated track record of learning new things because at my company the stuff we're
doing today is not going to be in the same languages and technologies that it will be in
five years and i need to hire people who will a be able to ride the wave with us as we move to
new technologies and b carry us into those new technologies so if you have a proven track record
of like oh yeah i just wanted to learn haskell so i whipped up a uh you know a uh online shopping
parser to go and scrape the web for the best deals on pocket protectors you know which is
obviously what i have
and it's like and i've done this in ruby and golang and javascript and i've done all these
you know it's like ah now this is a person who's interested in the craft you know so that that to
me is pretty strong signal but not it's not the right signal for saying i know web development
because i made an online to-do tracker in react yeah so side projects not so much i mean it there
will be places that you will not pass an interview or even get an interview yeah because you don't
have experience in the specific technologies but i think there are enough places like
dave mentioned that you should be able to find something yeah it's it definitely narrows the
universe like the total addressable market of companies that will interview you and possibly
hire you there are certainly a lot of companies out there who do the grocery listing uh we do
java and specifically spring and we're looking for five years of that you know and it's like okay
well these people aren't for you play sorry it's not gonna cut it isn't play a java framework i
have no idea probably know this it probably is i work professionally with the jvm at my current job
and look how smart i am at it instead of researching all these technologies you've just
spent all your time tuning the jvm's garbage collector yes precisely that so so like yeah
there's a whole bunch of companies out there that are like that that you won't get in the front door
And that's unfortunate for them, I think, but it is true and you won't get those jobs.
So your job becomes a little bit extra challenging to make this pivot, but it can be done.
I've done it.
You have to find ways to demonstrate your proficiency as an engineer and problem solver,
even if the languages that you're interviewing for aren't the same exact ones you've worked
with.
And it certainly wouldn't hurt if you did brush up on some of these languages so that
you can walk into an interview and speak intelligently about them.
like for example if it's a python shop all you got to do is say the word list comprehension and
you're you'll be fine you can fake your way through the rest of it i'm feeling stuck and
tempted to quit my job i mean yeah just never underestimate how easy it can be sometimes in
some circumstances to find a job certainly not everybody certainly not all the time but it looks
like this person is saying should i invest this large amount of effort financial and personal
to switch careers and and maybe that's what it takes but maybe you can also just message five
recruiters on linkedin and say hey i'm looking to change fields and then one of them brings you
something that sounds good it's a good idea well would they even know what to do if you messaged
a recruiter and said hey i'm a developer i need a job can you help me would they like think you
were catfishing them or something they're like no one ever does this yeah i've heard that one before
Well, no, they actually have heard that a lot, probably, but it's all coming from brand new boot camp graduates who are struggling on that grind to get their first job.
And I'll bet you recruiters have just as much email coming in from those people as they have sending out to other more experienced people.
Yeah.
It's a circle of life.
One email comes in, one goes out.
Balance.
Yes.
Balance.
Conservation.
Recruiter inbox counts.
Have we answered this question?
Let's see.
Almost.
I do.
Well, maybe I'll just reiterate what I said, because this is what I did.
And if it worked for me, then obviously it's universal.
Which is that when you find that company that you think will be open to the idea of hiring
you on aptitude and engineering general skill instead of specific skill, you definitely
need to go and brush up on the technologies that they use.
And one suggestion I would have is, like, if it's a programming language you haven't
used before just go buy one of the small books on the language not like the mega language reference
but they are often most languages have a little book it's like 100 pages long that someone has
written and it'll get you through all the basics and lay the foundation for you because you've been
taught you've been developing software for 15 years like these there's not going to be any new
surprising concepts in there but if you can familiarize yourself with the lingo and the
kind of ecosystem of that language you can come in and sound like you already know the language
pretty well and frankly if you'll just invest three or four hours in reading that book you'll
know the language pretty darn well anyway you got enough you got enough experience here right you're
like oh that's just like a pointer if you're me you have to you have to read it right before the
interview yeah exactly language pretty well with with three or four hours of reading it's got to
be pretty fresh in there yeah just wake up early that morning read the book walk into the interview
and then say the magic word list comprehension anyway that's my suggestion i think you can pull
it off and i don't think you need to quit your job and work on side projects for three months
to do it of course they can pull it off they listen to this show which has demonstrated their
quality as a human obviously all right now we've answered the question we have hey jameson have
Have you heard about The Great Resignation?
Is it that Charles Dickens book?
Wait, no.
The entire population on Earth has started taking our advice of quit your job.
Oh, yes, that's right.
Apparently, we have achieved influencer status.
We've been telling developers for years to quit their jobs,
and now we want to tell you how to do it.
We're ready to reveal the secret.
I mean, you don't just walk out shooting finger guns.
Yes, well, you do that first.
But after you do that, there's a new service we want to tell you about called Hired.
What is Hired, Dave?
Hired is the biggest AI-driven marketplace that matches engineers with companies.
It is a great way to find your next job.
I've been watching this industry for 20 years with a keen interest on hiring in particular,
and I've never seen anything like Hired.
Tell me about what you're seeing.
So I've interviewed about 150 people in the last year, and I am serious.
Every candidate that's come to me through Hired has multiple offers,
and they're incredibly high scary high like 30 higher than other candidates is that before after
the finger guns yeah uh both the beauty is it's totally free for engineers uh and we would love
for you to go try it go to hired.com soft skills to check it out hired.com soft skills quit your
job the best way and check out hired dave will you i almost said will you answer our next question
i will do that too but will you will you read it first sure how about we do it in opposite order
we answer it and then what if we did a show where we give an answer blind answered questions yeah
then we quiz our listeners to see if they can reverse engineer the question that sounds like
a lot of work so i'm going to say it's a bad idea okay
it's inherently bad because it seems like a lot of work okay i'll go ahead and read it this comes
from a listener named james who says how do you know when it's the right time to move on from an
almost perfect job i've been a front-end developer for six years and spent the last two years at a
really great company i have lots of autonomy a competitive salary excellent stock options and
great job security but so far my entire career has been working with the same technologies and
there's no scope to learn new languages at my current job i was recently contacted by a recruiter
which resulted in an interview offer for a full stack role with a stack that would be completely
new to me but really excites me i'm worried that never holding development job for more than two
years would look bad but at the same time i don't want to be stagnant and not learning should i stay
at my current job where i'm comfortable or take a risk and jump into the unknown to develop my
career and yes i did resist singing into the unknown for those three words what is that from
even i'm not gonna pitch it is that frozen yes okay i didn't see frozen for a long time after
it came out and then kids and then i did it's pretty good late late breaking news frozen is
an okay movie it's an okay the critics are raving yeah okay i've met people who have been able to
successfully go from not knowing a tech stack or language to being pretty fluent in it on their own
time outside of work i am not one of those people i think i can become like travel dictionary fluent
in a new tech stack on my own but i haven't ever developed deep deep expertise in a tech stack or
language without working with it so i can empathize with this question askers framing of it like
they're kind of assuming they can't just learn a new thing where they are right now and then kind
of step into it that way they want to go get a new job to help them learn a new thing and i yeah i
can i can empathize with that i've done it well let's all do that yeah it'll work for you too
i forgot to i forgot to tap that on the end it goes without saying developer so i feel like i
have to gesture ominously at these uncertain times and they're also unprecedented unprecedented
uncertain times. I see a lot of media saying like, is there a recession coming? Maybe there's
a recession coming. And I feel like in tech, the answer is yes, it is not. There's no doubt
there is a tech recession happening right now. So the value of job security might go up.
That's true. The current environment really changes our answers. I think if you had asked
me this question a couple of years ago, I said, oh, you've been a developer for six years and
you're already two years at your current company yeah go try something new yeah but but right now
i might say i don't know because you leave this place you go to a new place i'm not sure that
it's going to be as easy to find a job if that doesn't work out yeah two years is not a bad look
though for uh oh yeah for the stint at a company that's totally fine yeah your resume will look
perfect yeah you already have the potential of a job so i'm not worried about can you get the next
job it's more like what if you land at a place that isn't as stable what if they encounter
financial difficulties because of these unprecedented times and now you've you've
kind of left the safe haven yeah of your previous gig although at the same time who's who's to say
that this job really is all that secure either that's true i'm sure a lot of people who got laid
off thought their jobs were very secure until that i mean everyone at every company is just
one bad phone call away from being unemployed you know you and i are in no different situation
it's just an unfortunate effect of i don't know it's an effect of i guess reality of yeah the
the way the world works i don't know physics i don't know what's at the bottom of this root
cause stack yeah that well maybe the united states labor laws is probably the answer there
because i know it's very different not not the same everywhere with at will employment and
such maybe oh you said there's no news there's no scope to learn new languages at my current job
yeah and if i were your manager i might say yeah probably not but if i were your co-worker i would
say there's always a way to sneak in a new language you just need to be devious enough
like if it's uh i don't know if it's if it's javascript there's a bajillion compile to
javascript languages out there you can invent or come up with a justification for some new
microservice to pilot out something if it's more back-endy uh there's no scope to learn new
languages yeah depending on how how much you're willing to push you could you could make that work
i agree but also it might not work it might not work yeah and and there's there's more value and
learning opportunity and switching jobs than just getting exposure to a new programming language as
well? I want you to explain it to me. Okay. You're like the easiest person to talk to on the whole
planet. Tell me more. I would like to know more. When you switch companies, not only are you,
in this case, it said a whole new tech stack. Great. So that implies a new programming language.
It also implies like new frameworks that you're working with, new tools, but also like whole new
processes, new team cultures, new infrastructure, new customer needs, like a whole new market
segment potentially. And to me, that's one of the most valuable reasons to change jobs is that
exposure makes you a better engineer because now the known universe of software engineering
practices has expanded for you when you change jobs. So I'm almost always going to encourage
people to do that after they've hit the two-year mark, especially if they've only been in their
career for about six years, I think it's great. Get out there, learn new things, see new cultures,
new ways of doing things, and expand your horizons. That's an interesting point because you could
almost also flip that into justification for why you can still learn stuff at the same company if
you are willing to. So you might not learn a new technology stack, but if you're willing to
dive into different processes, like is there more wiggle room in switching teams or somehow
exposing yourself to some of that stuff that you would get at a new job within the same company
yeah you'll see a bunch of stuff that the new job does well and a bunch of really broken stuff and
it's very unlikely to be the same set as your previous gigs you'll see new ways that things
you didn't think could go wrong can go wrong yes exactly like oh never thought that could happen
a stand-up can end in bloodshed huh now now i know to beware the other thing is like i've worked
at companies where they're super small and then companies that are super big and just seeing the
different approaches is also instructive i think i've worked for big companies that have solved
problems that little companies have but they don't happen enough to matter so they don't solve them
yeah and and you're like i wonder what you know i often think i wonder what a solution to this
problem would look like like oh yeah we run three at this small company we run three web servers
and once in a while they have different versions of code on them you know and i'm like hmm oh well
i don't have time to solve that problem yeah oh well then i go work for five minutes a week to
fix that yeah exactly exactly then i go work for a big company and they're like we run
2 000 web servers and that is unacceptable so we will build a whole team around that problem
and they will solve it once and for all for everyone so you know i just that exposure is
so valuable to me i i don't know i've got a lot of bias on this one but i really bias toward
learning new things it's almost the only reason i change jobs anymore well i'm convinced all right
are you gonna quit your job now no i haven't been here two years and also i'm still learning new
things and i think i have a lot more than two years of learning in me at this place um in my
role also we've talked about this before on the show so i i work in a management role right now
and in some ways the feedback loops are longer so it can take longer to see the impact of things
that you do and they can also be bigger changes but i feel like it it the career cycle feels a bit
slower on the management side i don't know if that makes sense i feel like you would suffer a
lot if you bounced around from job to job as a manager every every 18 months oh yeah yeah learn
quite a lot and grow quite a bit and not suffer that much if you did that as a developer yeah you
gotta stick through and see some stuff out as a developer 18 months is a really long time as a
manager like you said it's not and i'm i know because i'm sitting it's like three performance
reviews that's right i'm sitting at almost like that exact time period right now in my current
job in management and i'm like oh man i'm just barely getting started here you know i've got
like i've i think about the things that i've wanted to accomplish over the last year and a
half things that i've been saying for a year and a half will be done in six months and are still not
done and i think oh my managers can do it too not just developers yeah you're developers you
aren't the only ones that can be late on everything yeah well have we answered the
question i think so but i don't know i think my answer is yes go and your answer is yeah i think
it's go i mean if you're willing to take on a bit of risk then yeah go feels a bit riskier than it
did a year ago but if you're in a position where that's okay then do it yeah honestly given the
history of our podcast that felt like kind of a softball question yeah you probably could call
the answer pretty early it's just sometimes it feels good to go back to the classics you know
sometimes i just want a peanut butter and jelly sandwich sometimes i just want a question where
the answer is quit your job we've done that we've eaten the peanut butter and jelly sandwich of
questions yeah the staple that well i guess it depends on what you think of a peanut butter and
jelly sandwich if that's the height of gourmet food and luxury a rare occurrence then yeah then
maybe not or if you have a severe peanut allergy yeah yeah then you're in trouble we better get out
of here i'm starting to go off the rails all right what can people do if they want their own questions
answered go over to softskills.audio and click the ask a question button where you can fill out
our amazing form and we just want to say thank you to everyone who has done that so many of you give
us questions each week and we love it. It's absolutely our favorite thing. So keep it up.
Really appreciate that. Thank you. Thank you. We'll catch you next week.
