
How to prepare for losing your programming job - itamarst
https://codewithoutrules.com/2020/05/14/prepare-losing-job/
======
mauvehaus
At a former company that shall remain nameless, the bigwigs from the head
office came out to announce the closing of our satellite[1] office. They
offered a relocation package to the head office for some of the folks working
one of the projects we had in the remote office. Except it was kind of a crap
relocation offer: same salary moving to a more expensive part of the country
working for a person everybody thought was an idiot.

They _also_ gave everybody a month to accept or decline that offer.

In practice, that meant that everybody at the remote office spent a month
getting paid to look for a job. It was a bit like the job center in The Full
Monty, but folks were actively supporting each other: helping each other
practice whiteboard questions, going over each others' resumes, etc.

If you can get current on some new technology on company time or raise your
profile, do it. Folks who didn't get a relocation offer got to clean out their
desks the day the bigwigs showed up.

I don't have numbers from the group of people formerly of that office, but
from my experience it's a hell of a lot easier to find a job if you have one
than if you don't. If your company seems shaky, the time to start looking is
now.

[1] Edited per suggestion here:
[https://news.ycombinator.com/item?id=23181222](https://news.ycombinator.com/item?id=23181222)
originally read "remote".

~~~
commandlinefan
That was kind of them. The one time I actually got let go from a programming
job was when the company shut down suddenly: I showed up Monday morning and
found out that there was an all-hands conference call at 9 AM. Everybody in
our office dialed into it and it was a recorded message that the company had
shut down and we were all unemployed effective immediately.

~~~
dredmorbius
In some states, subject to some limitations, that is illegal.

E.g., California's WARN layoff notice requirements:

 _Per Chapter 4, Part 4, Sections 1400-1408 of the Labor Code, WARN protects
employees, their families, and communities by requiring that employers give a
60-day notice to the affected employees and both state and local
representatives prior to a plant closing or mass layoff. Advance notice
provides employees and their families time to transition and adjust to the
prospective loss of employment, time to seek alternative jobs and, if
necessary, time to obtain skills training or retraining to successfully
compete in the job market. For more information, visit WARN Frequently Asked
Questions. ..._

[https://www.edd.ca.gov/Jobs_and_Training/Layoff_Services_WAR...](https://www.edd.ca.gov/Jobs_and_Training/Layoff_Services_WARN.htm)

~~~
jdsully
Are you sure that still applies if the company is bankrupt? Even if it does
how are they supposed to comply when there is no money.

~~~
dredmorbius
I don't know, hence my "subject to some limitations" weasel.

My principle point was to make known that immediate layoffs without notice or
compensation are not something all employees are required to immediately and
unconditionally accept. _Know and assert your rights._

Searching "warn notice layoffs bankruptcy" gives some additional information.

[https://duckduckgo.com/?q=warn+notice+layoffs+bankruptcy&ia=...](https://duckduckgo.com/?q=warn+notice+layoffs+bankruptcy&ia=web)

A bankrupt firm virtually always _has assets_. The question is how these are
distributed amongst creditors. Inclusive of employees.

------
decafninja
Quote I've seen a lot: "Leetcode every day keeps unemployment away"

Seems the best way to avoid long term unemployment in this day and age is to
be "coding interview ready" constantly.

My best friend at a FAANG always tells me he dreads having to look for a job
ever again - whether voluntarily or involuntarily, as he is in no way shape or
form ready for coding interviews.

~~~
nostrademons
A lot of the companies I've seen actually hiring these days are doing more
legit work-sample problems than Leetcode tasks.

Coinbase and Stripe both have programming tasks that are clearly condensed
versions of the actual work you'll be doing there. Google does too if you get
a good interviewer, though it can vary a lot between interviewers. Snap, Lyft,
and Facebook were all leetcode exercises - but they're ones that have been
hurting more from the coronavirus recession.

Leetcode is popular now because there're a bunch of tools (CoderPad/Karat for
interviews and Leetcode/HackerRank for practice) that make it easy. I'm
already seeing the pendulum start to swing the other way though - many of the
best companies are building hiring processes tailored to their own business
because they get a competitive advantage from doing so, both because they get
more signal on prospective applicants and because it means interviewing does
not become a transferrable skill that you can use to get multiple competing
offers.

~~~
decafninja
I've encountered takehome problems more often these days, but they've always
been in addition to leetcode interviews, not instead of.

As one example, a "mid-tier" company gave me homework to do, which I spent a
lot of time and effort to do a good job. The team apparently was impressed -
supposedly I had one of the best solutions, and I got to the onsite. Then the
onsite had two leetcode rounds, one of which I struggled with. I got rejected.
I don't know the exact reasons of course, but considering I felt the rest of
the interview seemed to go great, I suspect it's the leetcode problem I failed
to get the superoptimal solutino for that killed me.

Nowadays my policy is to just reject any company that gives me homework to do
as part of their interview loop. More often than not it's a waste of time. The
exception would be companies like FAANG or other "top" companies. I'd
definitely still do homework for Coinbase or Stripe.

Some company I've never heard of or some non-tech company? Nope. At least
studying leetcode scales horizontally across many companies.

~~~
dominotw
I ask leetcode round to be before homework. I don't do it if its other way.

------
ryeguy_24
Read most of this but are there any non-obvious points of value that I missed.
Cut expenses and try to get a new job seems to be the primary point. Anything
else?

~~~
SigmundA
Do extrovert stuff, speak at conferences, network make lots of friends /
contacts, be popular.

Hard for introverts like me, I am better at computers than people which means
I am at a disadvantage even in the computer field it seems.

Worried if I ever have to look for a new job especially getting older.

~~~
ryeguy_24
Isn’t that so counter-intuitive? This clearly means that it’s an inefficient
market. I don’t need to have a good social network to buy a nice TV. What a
great problem that needs to be solved.

------
AnimalMuppet
I maintain a file of headhunters that I have come in contact with. If I lose
my job (or even feel like I'm going to), I've got about 10 people who can earn
money by finding me my next job.

~~~
the_watcher
The only thing I use email tags/folders for is to tag recruiters. Last time I
looked for a job (in September), I just ranked the companies in order of my
interest, and went down the list. 80% of the recruiters were happy to hear
from me (even those who I had ignored)

~~~
jointpdf
What is the best way to approach an overdue reply? I always find myself at a
loss for words as the thought “sorry for being a spacey moron” ricochets
around my brain.

~~~
triceratops
Unsolicited cold recruiting emails aren't owed any sort of response. Apologies
are not needed or expected. Just a "Thanks for getting in touch. Would you
still like to talk?" is sufficient.

Alternatively compose a "Thanks, not now" template that you send to all
recruiters when they email. Then later on hit them with a "How about now?"

------
justinzollars
Other signals to look for is your company's inability to raise a round. This
is an important one, typically rumors will circulate internally regarding
financing. Not being able to raise a round is a signal that says investors,
who have made a best effort to judge your company's books have decided your
company is not a good investment. Those investors will have been provided a
balance sheet that you typically will not have access to. So pay careful
attention to this signal.

~~~
Cthulhu_
That only applies to the small percentage of companies that isn't profitable
and that still relies not only on investor money, but on fresh financial
injections to keep their head above water. Most companies aren't like that.

A lot of software companies will continue to generate income as well, due to
having recurring income like subscriptions and licenses.

------
MattGaiser
We need some startups in the proof of skill space as vast amounts of time and
energy are used by developers providing public proof of their skills rather
than actually doing work or improving their own skills.

Sure, talks and blogs can be useful, but in the same way that companies are
harmed by resume driven development, there are community downsides to resume
driven blogging if just that things trend towards whatever is new at the time
rather than a diverse range of topics. It also is not helpful if a lot of them
are geared towards impressing recruiters rather than informing.

We want tutorials by people who actually enjoy creating good tutorials.

I say this as someone who spent a couple weeks on Stack Overflow answering
trivial questions after graduating so that I had more of a public profile. I
would answer anything and everything easy as I wanted to get over 200 rep
points (so I could say I was "ranked"). Anything challenging was skipped
simply because if it took more than half an hour to answer, I might not get
200 points that day.

I knew nobody would see me as an expert due to inexperience (so nobody would
really read by Stack Overflow answers), so I was trying to generate proof of
enthusiasm.

That isn't desirable for the programming community as a whole as it meant that
niche questions I had the answer to never got answered as I had points to
earn.

EDIT: Leetcode is for passing the interview. Resumes. blogs, and tutorial
writing are about getting the interview. Leetcode doesn't attempt to solve
this problem.

~~~
gravy
Back in my teens (mid 20s now), I was very (very) interested in Photoshop to
the point where I would consume dozens of tutorials a day and just work on
projects for things like forum signatures or post headers and graphics. My
"graphic design" career never took off, but to this day I still have muscle
memory of certain tasks and actions I've created and still set up my workspace
in the same way.

Now that I'm a programmer I rarely find the itch to dive into things like this
again. Every now and then, I'll want to create some silly website with a game
or something and again I'd find myself spending late nights just working on
it. I've realized that the fact that I "know something" isn't what drives me,
it's that I'm interested in what I want so much that I'll learn anything just
to get to do it.

Lately, I've been starting to feel the itch for doing something related to
baseball (again, something I love), like data analytics or amateur scouting or
something. I have no idea how to get started, but I just know I want to. I
hope I find tutorials from people who are just as excited to share information
as I am to absorb it.

~~~
montecarl
This may be a fun place to start. There is a lot of work in this area and this
type of technique is great for baseball:
[https://docs.pymc.io/notebooks/hierarchical_partial_pooling....](https://docs.pymc.io/notebooks/hierarchical_partial_pooling.html)

~~~
gravy
I _really_ appreciate this resource. Thank you!!

------
sigfubar
Start looking for that new job before the previous one has ended. This is just
a slightly next-level variation of simple networking, where you don't merely
make friends all over the place, but make it clear that you'd take a better
offer if one were to come along.

~~~
downerending
+1 for this. In our industry, finding a job when you're unemployed can be
quite difficult. Massively so if you're "old". Networking helps with that--
definitely recommended.

Also consider gathering "knowledge" resources from your current job. Silly
stuff like your dotfiles, but also things like config files from the hosts,
parts lists for physical systems, phone directories, etc.

------
antibland
Great advice as always (newsletter subscriber). The other piece of advice I
offer is to join Stack Overflow and answer a few questions a week. This helps
reinforce skills, understand common developer pain points, and can
occasionally lead to a job offer.

------
sosilkj
This article provides advice for how to spruce up your resume in order to
procure interviews.

Getting an interview is maybe 10% of the overall process.

To make it through the interviews, you need to study an algorithms textbook
and practice coding exercises. At the very least, you should be able to solve
any of the Easy-rated problems listed on Leetcode without issue. You need to
know what things ike "dynamic programming" are, etc.

I'm not saying that this is the way things should be. Just that this is the
reality of what you will need to do to procure a job offer.

Edit: I see my advice has proven controversial. If you have better idaes about
how to prepare for whiteboard interviews -- which many of us are statistically
likely to encounter should we be thrust into the job market -- please share
your suggestions!

~~~
cmrdporcupine
It saddens me that this is the way things have gone.

With 20+ years in the industry I can say that I never encountered this kind of
thing until fairly recently. I know it was out there, especially with the
BigCorps, just not that common when I was looking for work 10ish years ago.

It would be hard for me to stomach an interview like that without just walking
out. I do not code on whiteboards.

~~~
dominotw
start leetcoding hard everyday, its not possible to get a job these days even
at tier 2-3 without leetcode screens.

~~~
twic
I have never, in ten years, had to do leetcode to get a job. And what on earth
is "tier 2-3"?

This whole subthread reads like it's escaped from r/cscareerquestions.

~~~
sosilkj
Thanks for sharing your perspective. Your experience is very different from
mine. Are you trying to say that you believe whiteboard interviews are less
common than I think they are? Or are you trying to say that there are ways to
conduct a job search such that one can successfully avoid such interviews?

~~~
decafninja
There are ways to get a job without leetcoding still. But they are becoming
rarer and rarer.

I think it mainly involves focusing on non-tech companies (who, BTW, are also
starting to join the leetcode cargo cult).

I got my current job at a non-tech company (bank) several years ago. I did not
get leetcoded back then. The interview was mainly language and framework
trivia. Nowadays, we have to subject candidates to leetcode.

------
dominotw
How safe are mid tier management jobs compared to devs. Upside of management
positions is that interviews are relatively easier.

~~~
not2b
Less safe in a downturn. When a company wants to tighten its belt but is still
mostly solid, and don't have particular products that are clear losers, middle
managers are an attractive target: they need the engineers to do the work and
support the customers, and the sales people to bring in the money, but if they
can get by with fewer managers, maybe they can do all that for less.

~~~
dominotw
I was looking at airbnb layoffs[1]. There didn't see to be a lot of middle
managers on the list. Ofcourse, I don't know the ratio but i was expecting to
see more middle management than engineers.

[https://www.airbnb.com/d/talent?location=&uuid=&relocation=&...](https://www.airbnb.com/d/talent?location=&uuid=&relocation=&remote=&function=Engineering&page=1)

~~~
gowld
Jobs that scale linearly in proppotion to demand, like customer service and
sales (anything where most of your time is spent focused on one client at a
time), get cut when demand drops.

------
juskrey
A job lost adds options, a job landed removes them.

------
kulig
Trying to stay up to date with everything is a surefire way to make sure
you're never really good at anything

