Author's note: as previously mentioned, I lost my entire blog because I didn't know what the f**k I was doing with databases. With the help of the Internet Wayback Machine, I was able to recover all but two blog posts.
This was one of them and while it didn't receive lots of traffic, those that read it really liked it and I'm very proud of it from a journalistic standpoint. Thankfully, I spent lots of time proofreading it, so I remember enough of it to rewrite it.
Since its publish date, I've talked to more developers, hiring managers and recruiter friends. I'm updating it with this new info and have indicated the updates.
And as a heads-up: it's not the best time for code bootcamp grads looking for high-paying jobs. At least, the time of this re-post. #justsaying
After a brief bout of unemployment, I’ll be starting a new front end web developer job this week. I’ll be using my current skillset while ramping up on new ones…really exciting stuff!
I went through an intense job search to get to this point, more so than ever before. I learned a lot (a WHOLE lot) about the 2017 web dev hiring process so I’ll share my random thoughts on the subject.
A preamble...like I start all my posts
For all the nervousness and anxiety that comes with unemployment, I knew I’d get a job sooner than later. I don’t know everything about front end web development but knew enough so that I wasn’t going to be out of work for TOO long…only a month in the end.
But I also knew my limited experience with the currently in-demand frameworks (React, Angular, etc) meant I would have to work harder than most at finding a job. I’d used them in personal projects but had little on-the-job experience with them on my resumé
Zach Holman’s awesome “Startup Interviewing Is F**cked” article also prepared me for what I was about to face. It discusses how some interviewers want interviewees to give perfect answers to specific tech questions, and how that’s a poor indicator of whether or not they can do the job.
I kept all this in mind for each interview I went on…not just startup ones. And here’s what I learned and I’ll start off positive…
You WILL find a front end web developer job...
If you have front end web developer experience, you will find a front end web developer job. You may encounter rejections along the way, from jobs you really want and from jobs you thought you were going to get.
But as long as you have quantifiable web dev experience, you will get a web dev job. End of story.
...But how fast you get one will depend on your library/framework experience
I tweeted this once in 2016:
In 2016, you can swap “Angular” out for for “React”. And in a few months, you might be able to swap it out for “Vue”.
UPDATE: At the time of this rewrite, React and Angular 2/4/5 are neck-in-neck for the most desirable skillsets. Vue is catching up, but not as fast as I thought it would.
But it’s absolutely fair for potential employees to insist you know specific frameworks/libraries if you want to work for them. So sorry, but you need to learn some specific frameworks/libraries.
Use your unemployed time to learn those frameworks and libraries
If you’re not working and need to ramp up on those frameworks/libs, do just that with your current free time. On my first day of unemployment, I went to a Starbucks and went through a ton of online React tutorials.
Next, I went through those kick-a** free Redux tutorials on Egghead. After that, I had enough confidence to put React/Redux on my resumé started getting more interviews.
UPDATE: The Egghead course is taught by Redux creator Dan Abramov and is worth watching. But if you’re a Redux beginner, I would suggest watching Wes Bos’ free Redux course first. It holds your hand a bit more and also discusses how to use Redux inside React and not just Redux.
You need to know CSS better than you think
The integrity of a CSS codebase can deteriorate over time. Developers come and go from a project, adding lots of sloppy CSS quick-fixes before they go…this cycle repeats itself over and over.
An employable web developer is expected to know how to understand (and fix) this sloppy code. Many interviewers expected me to understand things CSS linting and design patterns like BEM.
But almost every interviewer expected candidates to have experience with CSS preprocessors like Sass and Less. Practically all companies use preprocessors and expect new hires to know how to use them starting on Day One.
UPDATE: In this post’s previous version, I said that some developers told me they can do without preprocessors, and that I think this attitude weakens their employability. Both new AND old developers continue to tell me this and, frankly, it really ticks me off. I’m going to implement some tough-love here: all developers need CSS preprocessor skills…those without them are significantly less employable.
About those tech questions...
The Zach Holman article discusses how interviewers at startups want interviewees to provide specific answers to “trick” questions. But giving a wrong answer doesn’t mean that an experienced developer can’t figure things out once they start working.
Holman’s right: I once worked with two experienced developers that had to learn Ember from the ground up. They did this, got good with Ember over the course of a year and were STILL on Stack Overflow, looking for answers to Ember problems.
They solved those problems. This is because web developers are “engineers” at their core, and solving problems is a key job characteristic of any type of engineer.
Both startups and traditional companies must put interview subjects through some sort of test to gauge their experience. But they may be kidding themselves when they pass on a candidate that gave a wrong answer to a trick question, and that happens frequently.
Go above and beyond with your answers to those questions
But if you’re looking for work, you’re going to have to deal with those questions…just like I had to. A Google search will give you answers to most commonly-asked tech interview questions.
I can define a Promise but can I also talk about a time when I used one?
If yes, do that in the interview.
I interviewed for a contract position once and got a question about Promises. I answered it and also recalled a time when I used it on the job, making sure to use phrases like “race condition” and “jQuery when/done pattern.”
That answer went above and beyond what I was asked. It quantified with the interviewer that I had Promise experience and didn’t just Google the answer before we met.
I got the contract.
Coding bootcamps have affected the hiring process
Three days before a startup interview, I reviewed the skillset required for the position. It listed some things that I didn’t have that much experience with.
I emailed the startup to see if they still wanted to meet me despite this and they said yes. When we met, they admitted to heavily padding the skillset list with things not needed for the job.
Why? Because it limited the amount of resumés coming in from recent coding bootcamp graduates.
I had similar conversations with a recruiter and another interviewer. Based on these conversations, bootcamp graduates must know the following:
Currently, many people are graduating from places like General Assembly, then applying for jobs with a $75,000 USD starting salary. As a result, hiring managers are getting inundated with resumés from people that may be good coders but lack job experience.
This has led to a more robust hiring process which looks somewhat like this:
- as mentioned, developers with at least a year's experience in a JS framework are the most employable candidates right now.
- hiring managers like candidates with active GitHub profiles.
- lots of the CSS coding tests I went through required creating responsive layouts without things like Bootstrap and Foundation.
- those tech questions may suck, but they help hiring managers weed out experienced developers with the non-experienced ones.
Coding bootcamp grads work hard and deserve a shot at some jobs. But they should know that they’re competing with the more desirable experienced developers for the same jobs.
Indeed is the best online job search tool
Linkedin is a feature-rich social network based around searching for a job. Indeed does one thing and one thing well: it lets you search for jobs.
Indeed has a barebones search interface and lets you easily apply for jobs on your handheld. I got more phone and face-to-face interviews with it than with any other resource.
Using Dice.com leads to spam
I applied for one job through Dice…ONE job!! I was flooded with phone and email spam 15 minutes later.
If you’re desperate for a job and need to use every resource available, I suppose you could use dice.com. But I found it more annoying than helpful.
There’s a saying that “You need to treat finding a job as a job” and I did just that. I went on a ton of interviews, including going on four interviews in one day!
I learned about interview techniques, required skillsets, recruiting companies and whatever else it takes to find a front end web developer job. Feel free to ask me more about this…just don’t ask me about my starting salary!!!