As those of you who are active on Gitter know, I recently went through the job-hunt process and I promised to write a bit about my experience here.
As an introduction, let me be clear that I am not like many campers who are using FCC to go from zero to developer. When I joined FCC more than 2 years ago, I was already a professional software engineer with a traditional bachelor’s degree in Computer Science.
I called this post “A Privileged Perspective” because that’s what it is. When I started my job hunt I:
- had a CS degree from a good program
- had recently left a role at a Fortune 50 company
- had a very strong resume
- lived in an area with a great technical job market with a large skill gap
- had the financial stability to be unemployed for a prolonged period
I wanted to talk about my experience because I want to really drive home that some parts of the job-hunt experience really are universal, despite background and circumstances. I thought I’d also share some of my advice (now that I’ve caveat-ed it with the above).
This is going to be a really long post, so I’m going to collapse it into sections. Take or leave whatever you like.
I applied and never heard from them again
Like lots of people, I started my job hunt by going on LinkedIn and Indeed and sent in an application and/or resume for every job that seemed to match my skills, my interests, or just the city I wanted to move to...
I didn’t keep track of numbers, but I’d say half to 75% never contacted me back or sent a form letter telling me the weren’t interested (sometimes only received months later). Thanks to the job offers I did get, I can look at these and know that it wasn’t because of a problem with me but to be honest every rejection seems like proof that I don’t belong in this industry and I should stop making a fool of myself and go back to working retail.
Some reasons why this happens
-
Sometimes it’s not even a “real” job posting.
Companies are required to post jobs externally for a certain amount of time. Often a hire is going to be made internally or they have already decided who they are going to give it to and the posting is just there for form’s sake. -
Lost in the noise
The ease of clicking “Apply through LinkedIn,” etc. online means that an unmanageable number of applications come through for a lot of postings: qualified, unqualified, overqualified. Even if I was a great fit (maybe I was, maybe I wasn’t) I’m sure that sometimes I was just one of too many. -
I didn’t win the filter bingo
The time of experts is expensive, so it’s pretty common for applications to go through non-expert filters first - automated, human, or both. Sometimes I didn’t have the right combination of keywords in my resume or profile. -
They didn’t like what they saw
I’m sure that sometimes, for reasons I’ll never know, my application just didn’t appeal to someone. I try not to think about this one too much.
Every single job seemed to require skills, technologies, or experience I don’t have
Job postings were confusing and overly-demanding and made me feel lost and helpless...
I don’t have five years of experience. I didn’t have a security clearance. I’ve never worked in Angular, gwt, or RF signals processing. I probably wasn’t a perfect match for anything I applied for. I wasn’t even a good match for a lot of them. If something about the job description interested me, I applied anyway. I tailored my resume and cover letter a little if it was appropriate but I DID NOT LIE ON MY RESUME. Literally the worst thing they could do is never respond (I hate this more than rejection) and that was going to happen anyway, so…
Some reasons why this happens
-
“Aim for the moon. Even if you miss, you’ll fall among the stars.” – some bullshit motivational poster, probably
Companies are going to describe their dream candidate. They may know that they aren’t going to get her, but this is how they get as close as possible. -
That list of skills is really something like
(JavaScript && ((react.js || angular || 5 years experience) && (java || c++ || C#) || (embedded systems || objective C || automation))))
Basically, they want someone with a reasonable (yes, actually reasonable) combination of the skills and technologies they use. They know you will have to learn on the job, but they want to see someone who has the foundation to learn quickly and successfully. -
The post was written by a professional recruiter, not the manager who needs a programmer
The recruiter may be working off a list of all technologies used at the company. The recruiter may be working off of out-of-date or bad information. In the case of the job I eventually got, the recruiter asked for an example resume of an ideal candidate. My manager gave him the resume of one of our team members. That resume included a background in C#. The job posting and my phone screening with the recruiter mentioned C#. The team does not use C# at all.
Technical interviews are hell
I think that technical interviews are one of the most demoralizing things I've subjected myself to more than once...
And I’m actually good at them. I’ll talk about my interview strategies later, but the point I want to drive home here is that I always feel like I am bombing the interview more than anyone has ever bombed an interview before in the history of interviews. You can find any number of articles talking about how the interviewing process for programming is broken. The senior developer who trained me got so anxious just preparing for interviews that he started taking Xanax. Other members of my team who have been confident programmers for 20+ years commiserated after every interview that they felt stupid in. When I went to interviews, I couldn’t eat or breathe normally for hours beforehand. I sweated through my shirt. I forgot basic things I’ve known for years. I choked under pressure. I walked into questions I had no idea how to answer.
Between phone screenings, phone interviews, team interviews, coding interviews, manager interviews, and actually-could-you-please-come-back-for-another-4-hours-of-torture interviews, some of the jobs I was eventually offered involved somewhere around 15 hours of this hell on earth. (Then factor in the fact that I was doing this for about 5 companies simultaneously).
The thing is, most of the people who interviewed me were even quite nice and at the end of it all I got the job. It. Still. Sucks.
Some reasons why this happens
Seriously, there is a lot of good articles on this. Read some. Cry. Feel less alone.
The job-hunt fatigue got me
I struggled to keep up my momentum and meet the commitments I made to myself because it was exhausting and there was no clear end in sight...
I was going to do a problem a day from Cracking the Coding Interview. I was going to dedicate a solid 8 hours a weekday to job-hunting activities. I was going prepare several versions of my resume and cover letter for several situations. I…didn’t. I lost momentum. I got discouraged. I started sleeping in. It was all just so hard for so long.
Some reasons why this happens
-
Depression and questions of self-worth are extremely common when you’re looking for a job
As part of my severance package, I received free career counseling services (which I never really got a chance to use) from Lee Hecht Harrison. The first communication with them included warnings about this and advice on how to deal with the emotional impact of unemployment and searching for jobs. -
There is little to no positive feedback
How are you supposed to know or believe that you should keep doing what you’re doing if you get no reward for it? How do you maintain motivation when you’re working based off of a vague promise you made to yourself without any possible proof? If you know, please tell me. -
It feels like one step forward, two steps back
For every chance to move forward with one application, there are two or five or twelve that have rejected you or given you the silent treatment. -
It’s just fucking exhausting
Whether it’s trying to cram more information into your brain in a short time, or talking to strangers more than you like to talk to your friends, or maintaining (faking) positivity and enthusiasm every day, it takes a toll. I don’t care if you spent all day in your pajamas; it wipes you out.
I completely panicked when I got an offer I was unsure of
The first offer I got was for a job I didn't think I wanted and I didn't know what to do...
Extremely early in my search I interviewed quickly and was offered a position before I’d even had time to go in for other interviews I’d scheduled or asked for. I freaked out. The job was okay. The team I’d work with was super nice. I knew I could do the work. The pay and benefits were fine. I had no guarantee I’d get anything as good in the near future and if I took this job I could cancel the interviews I was terrified of. Should I throw all that away because I just felt bleh about it? I wanted something better, but what if that wasn’t realistic?
I turned it down. Later I got an offer for a job I really was excited about right before my final interview for a job that was very similar but just pay sooo much more. This freaked me out again. I got lucky. After that final interview I contacted the HR person I’d been working with and said that I thought the job was a great fit and hoped the interviewers felt the same, but that I had a time-sensitive offer on the table elsewhere. They were able to offer me the job I now have quickly.
I’ve seen a lot of people come to these forums for advice about this type of anxiety. I’m not trying to promise that you will always get the job you’re hoping for because I did. I’m just telling you that yes, that’s a terrifying decision. Try to remind yourself that it’s a good problem to have.
And Now For The Advice
Attitude is so important
My personal tagline is “You’d be surprised how far stubbornness and enthusiasm can get you.” So much of job-hunting comes down to the impression you make. I know how hard it is to stay positive, but you gotta fake it. Don’t complain or trash-talk (including yourself), even jokingly. Physically smile when you’re on the phone. Smile during your interviews. Chose phasing like “I look forward to hearing from you soon” and “Hopefully I made a good impression, because I’m excited to move forward.” There’s a line between anticipating success and sounding cocky (I’ve crossed it), but people are attracted to happiness and are really very suggestible.
Get human contact
If a job posting includes any contact information (even a stock company signature block), use it. Submit your application through the website, sure, but then also send an email or call the recruiter who posted it. Talk about specifics of the job posting (“I was excited to see that this is for the education sector. I would love to be part of improving online learning tools. I actually am part of an amazing open source education platform called Free Code Camp”). Ask for more information. Include your resume but also hit the high points in your email (or conversation).
Dealing with those skills you don't have
I mentioned above that every job I applied for listed skills or experiences I didn’t have. How do I deal with that? I don’t try to learn the technology, but I do try to learn about it. In the initial phone screening, I find out what tools/languages/etc they actually use. Between then and the next conversation I educate myself on what that technology is, how it’s used, and why people choose it. Then I am totally honest (but with a positive spin). “What do you know about TypeScript?” “I’ve never worked on a project that used TypeScript, but my understanding is that it allows you to use JavaScript in a way that is more familiar for Java programmers by providing strict typing and tools for object oriented patterns. I can definitely see the appeal!”
Acknowledge your nerves and concerns
I always make a point of admitting my nervousness, especially since I am also working so hard not to act like I’m nervous. When the interviewer asks me how I am I say something like “Oh, you know, super nervous but excited to be here.” If there are specific weaknesses that worry me, I try to address those too. “I’m a little concerned that you’re looking for someone with a lot of C++ experience. While I’m confident in my ability to learn it quickly, I have to admit that I’ve barely touched it so far.”
Say "I don't know" with a smile
You won’t know how to answer every question. Don’t get hung up on it. If you get hung up on it, they’ll get hung up on it. If you think you can guess the answer, tell them that it’s an inference. If you are sure you used to know it and you brain-fart admit that. If you just don’t know, say that. Acknowledge it with a smile and act like it’s a little embarrassing but perfectly understandable that you don’t have an answer, because it is.
When you're whiteboarding, just keep talking
There’s lots of good advice out there on how to approach live coding challenges (the jargon for this is “whiteboarding” because traditionally they give you a challenge and ask you to solve it for them on a whiteboard without a computer). The only thing I’ll emphasize here is my own major “lesson learned”: silence is your enemy. I lead with “I’m going to say a lot of garbage, because I’m just trying to talk out my thought process” and then I do. Pretend you’re talking to yourself. Propose and reject ideas. Ask yourself questions and answer them.
Interview the job
Don’t walk into an interview with less than 20 intelligent questions to ask. There’s lots of reasons for this.
- You genuinely want to know if the job is right for you.
- It demonstrates that you know what you’re talking about.
- It shows that you are interested in the work, the company, and the people. If you have any interest in the job, always make that very clear.
- It changes the tone to more of a conversation. Interviews can feel like being put on the witness stand in Law & Order. Really, you and the job should be getting to know each other.
- It communicates confidence and an expectation of success.
Headhunters and recruiters are great, but don't rely on them
A “headhunter” is a professional recruiter who is hired by a company to find and vet qualified applicants. You may end up talking to some as a first communication for a specific job, or you can reach out to one directly. One thing that’s great for you is that these people get paid based on a successful placement (usually a percentage of the salary you are offered). This means that they want you to succeed. They can often offer you more information and advice about the interview. I even had one make sure I knew what to wear to the interview. If they choose to work with you, they will let you know about other jobs you might not have found on your own and going through them skips the step of throwing your resume into a pile of hundreds. This can be a nice boost on your job search, but continue to look and advocate for yourself as if they aren’t there.