The web developer job hunt can be scary and it can be a lot of work. And if you approach it the wrong way, it can also be emotionally stressful. We’re going to reverse-engineer the smart way to land a job as a web developer and remove the stress in the process.
Instead of taking an ad-hoc approach to landing your first position, consider the process of landing your first web developer job in a smarter way: think about it as a “job search funnel.” The further through the job search process you are, the closer you are to an offer. You also can expect that at each step of the process, a certain percent of the viable employers will choose to stop the process with you.
Here’s a visual representation of the web developer job search funnel:
Thinking about the job searching process in terms of a funnel sets you up well for a few reasons.
First, it acknowledges that at each phase of the job searching process, there will be drop off before moving to the next step. Rather than reacting emotionally, you can use this logic to drive your job search.
Second, after a little time spent job searching, you can analyze how the funnel is panning out for you. At what part of the funnel is there the biggest drop off? What can you do to improve the drop-off rate, or, should you instead keep the funnel how you have it and just apply for a larger volume of positions?
Third, this approach allows you to treat each step of the process as a learning opportunity rather than a transaction aimed at getting a job. You’re in it for the long haul and developing the skill to interview is more important than getting a job. Learning how to interview for development jobs is the last step you’ll need to take in order to be secure for life.
Also know that even though you have to reach out to a lot of different companies about a lot of different positions, it only takes one, single yes to radically change your life. That means you really only need to convince one development team that you’re good enough that they should believe in you.
Let’s break down each stage of the funnel and talk about different ways you can optimize at each stage. The easiest way to learn about the job searching process is just to start and mess up, and then take a step back to think about how you can do better.
Step #1: First Contact
First contact can come from a variety of different sources. Each source will have a different rate of success leading into the next step. Here are some ideas of different sources where you can find open web development positions.
You should use all of the different methods in parallel.
Applying for jobs by finding positions that are available and applying for them is one way to make first contact with companies. If you’re in a big tech hub, you will probably see a large number of open positions. Smaller cities will have less openings available.
There are three main downsides to job board sites:
- First, although positions are posted when there is an opening, when the position is filled, an employer usually doesn’t always take it down right away. That means a certain percentage of the jobs you apply for won’t even be open.
- Second, some jobs never make it to job boards because the position is filled through the company employees’ personal networks. This means there are some jobs you just won’t be able to find out about if this is the only tactic you use in your job search process.
- Third, most job postings get a large number of applicants. For a single position, you can expect to be competing with a large number of other developers (depending on the number of developers in your area).
To give you an idea of the number of people you’re competing with: when I was hiring developers for the development team at PayPal in Boston, we would receive a stack of around 75 resumes that the team would quickly reduce to 10 or so viable candidates. From there, we would look at the 10 remaining candidates’ GitHub and website, reducing the number to 3 or 4 to actually bring in to talk to.
Smaller cities will have less web developer jobs, but there will also be less competition for those jobs. Larger cities will have more jobs, but also more competition for those jobs. Depending on where you live, you might see more or less success from this approach.
If you’re in a big city, you can play a numbers game and apply for hundreds of jobs. If you’re in a smaller city, there will be some positions for which there aren’t many applicants. That means even if you studied Ruby on Rails, you’ll be a viable candidate for positions in Java, .NET, PHP, or really any programming language.
Block off 8 or more hours on a Saturday and apply to every job you can (think 50+ positions). It can feel tempting just to apply to a couple positions a day – but that strategy likely won’t work. Many positions won’t reply to you at all, and the psychological effect of taking a small action many different times and getting no results will weigh on you. Taking a massive action all at once with lots of potential opportunities will result in a certain percentage of people getting back to you.
Your Existing Network
Look on LinkedIn and see if anyone in your network is connected to someone who works at a company that could potentially have web development positions open.
There are two ways you can leverage LinkedIn to get introduced to the right person.
First, you could look for 2nd degree connections (a friend of a friend) that are currently web developers. Someone you might not expect could give you an introduction to a developer. For example, your sister might be working in marketing, but she probably went to high school with someone who is a developer today.
Alternatively, you could look for someone who works at the company in a different role. Identify a handful of companies that have a lot of open positions, and try to get in touch with anyone who works at the company. Companies that have just raised venture capital are generally good companies to look at. If you sign up for CrunchBase’s email newsletter, you can get daily email updates on companies who have raised money and are looking to expand their development team (sometimes by dozens of developers).
As a concrete example, the Boston-based company Toast just raised 30 million dollars. As a developer living in Boston, you can see that the company has 8 developer positions open (and a lot of non-developer positions open, too).
If one of your connections is in sales or marketing at Toast, an introduction from them to the development team would be incredibly helpful. Also, since they have 8 developer positions open, you’re much more likely to be a good fit for one of them.
Go to as many coding events as you can find on meetup.com. This even includes programming languages that you don’t know. Meet people, be friendly, add them on LinkedIn, and then check to see if the company where they’re working is hiring.
If you’re spending a lot of time job searching, but are finding you’re not spending a lot of time talking to real people about open positions, there are a few strategies you can take.
- Treat it like a numbers game and continue doing what you’re doing, but do it at a larger scale. If you’re applying for 10 jobs a day, try to get it up to 20.
- Take a look at your cover letter. Could you potentially be crafting more customized cover letters for each position? Most people won’t take the time– taking the time will set you apart.
- Use a different strategy.
While applying for jobs, also think about ways you can improve your resume to improve your response rate and really show how impressive you are.
Volunteering at events like RailsBridge or giving a technical talk at your local ruby user group are both notable things you can do to separate yourself from other candidates.
Step #2: Phone Screen
A piece of paper can only say so much about your ability as a developer and a team member. This means that frequently, the next step in the process is to jump on a quick call with the hiring manager.
Sometimes this step of the funnel is skipped and you’ll go directly into the interview.
Phone screens are usually pretty short and easy to pass. Technical topics are usually discussed, but only at a brief level. The screen is designed to filter out candidates for whom it’s clear the position would not be a good fit.
If you’re having trouble getting from the phone screen to the technical interview, re-evaluate how the call went. Generally, the phone screen only focuses on:
- Personality: Are you a nice person?
- Technical skills: For one of the buzzwords on your resume, do you know something pretty basic about it?
- Communication skills: Are you a good communicator?
A slight attitude adjustment, being friendlier, or even just more thoughtful as a communicator should be able to get you pretty close to a 100% success rate.
Alternatively, instead of this step, some companies will ask you to complete a coding challenge if they’re interested in moving to the next steps. These challenges can be anything from quick, easy problems to building out a complex application from scratch.
The more complicated the coding challenge, the less likely it is that other candidates will complete it. Also, doing only part of the coding challenge when there are a lot of problems can still set you apart from your competition. (If they ask you to solve 10 problems and you solve 3, it’s better than someone who didn’t even try.)
In general, you shouldn’t spend more than a couple hours working on a coding challenge for a company before the technical interview process.
Step #3: Technical Interview
The next step of the process will generally be to meet the development team in person and go through the technical interview process.
In short: there are two things that will typically happen in the technical interview process, and both are important:
- Having a conversation about your coding background.
- Writing code, usually on a whiteboard with a dry-erase marker.
If you find yourself going on a lot of them, but not getting any offers from companies, you’ll want to try to figure out why things aren’t going in your favor.
Know that companies will often interview 3 or more candidates for a single open position. For the first few interviews you go on, if you don’t receive an offer, it’s possible that you are just competing against someone who is amazing and has more experience than you. If you’re competing for the same position against someone who has a couple years of professional experience, and you haven’t worked professionally as a developer, you will be a bigger risk than the other candidate. There’s not a lot you can do about that.
This is true whether you’ve just graduated a coding bootcamp, attended a university, or have been teaching yourself the craft for a long time.
When talking about your experience on the interview, you’ll want to focus on the two areas that the interviewer is gauging: soft skills and hard skills. You’ll want to make sure you’re showcasing both in the best light.
Showcasing Your Soft Skills
In the initial conversation, the development team will ask you a few questions about your coding background. Having a polished story showcasing what sets you apart from everyone else is important.
If you’re trying to land your first job as a web developer, you’ll want to showcase the following things:
- Why is it clear that becoming a software developer is the best path for your career?
- Talk about your experience working and collaborating on a team with other developers. It’s important. If you don’t have experience working with other developers, go to a hackathon and don’t worry about winning, but instead focus on the experience.
- Does anything set you apart from other candidates? Mention it.
- Have you made any open-source contributions? (In other words, have you made improvements to a free software that is used by a large number of users?)
- Have you ever given a talk on a technical topic to an audience of people?
- Is there a project that you’ve been particularly excited about? Passion is contagious and can easily be the number one thing that sets you apart.
After each interview, whether it went well or poorly, take a moment to audit how you showcased your soft skills.
A common reason teams decide not to hire a candidate is they’re not a good “culture fit.” That basically means that the candidate isn’t someone the team is excited about spending 40+ hours a week with.
Showcasing Your Hard Skills
You’ll be asked to solve coding challenges on a whiteboard. Occasionally struggling on some of the problems is normal. If you find yourself consistently struggling on these problems, you might need to brush up on your programming chops to be an in-demand developer.
Auditing this phase of the interview is generally easy. It either goes well, or you struggle to find the correct answer.
Step #4: The Offer
Congratulations! You got an offer! But that doesn’t mean the offer doesn’t suck.
Getting your first offer will be a big boost to your self-confidence. Someone in a position to judge programming ability believes that you are indeed an employable developer.
Audit the offer and compare it with your local averages. In Boston, salaries starting around $60,000/year are pretty reasonable for a first position, but if you have more experience and qualities that set you apart (think: open-source contributions, talks you’ve given, volunteer work at coding events, and being very active in the programming community), getting $70-$80k is possible. Numbers in San Francisco will be higher, and outside major metropolitan areas will generally be lower.
Getting an offer in the range of $30,000/year is usually unreasonable in the United States. If you haven’t received a fair offer, you have 3 options:
- Negotiate your salary. If you handle yourself with poise, the worst that will usually happen is the employer will say, “Sorry, this is the best we can do. Are you in or out?”
- Reject the offer.
- Accept the position, use it as experience to make getting your next position easier, and plan to look for a new job in 6 months to a year.
Some offers will also include a certain amount of equity in the offer. “Equity” means owning a (very) small percent of the company you’re working for. Treat equity like a lottery ticket. There’s a good chance it won’t be worth anything, but if you’re lucky it could be worth anywhere from a few thousand dollars all the way to tens of thousands of dollars.
Step #5: Accepting the Position
Contracts will be sent and once you sign on the dotted line, you will have officially become a gainfully employed developer! And you can go back to what your true passion is… coding!
If you found this post helpful, share it and bookmark it so you can find it again to come back to when your job search starts!