How to land a job at your dream company
Over the past couple of years, I've been asked countless times by peers about how to land a job in tech. Whether it is your very first job at an internship/new-grad level, changing roles within tech, or the level above in your current career path, I give roughly the same advice.
A disclaimer: This method takes a considerable amount of work. As the old adage goes "Luck is when preparation meets opportunity". This method's goal is to maximize both preparation and opportunity in your job hunting journey.
Another disclaimer: This method was initially developed for Engineering-related roles, but can easily be applied to non-engineering roles as well.
The Barbell Method
In my time applying for jobs and positions, I have followed this approach that I have coined the "Barbell Method". Just like an actual barbell, what will lift you to success is focusing on your job applications in a balanced, yet focused way.
We can call one side of the barbell the "Many Side", and the other side of it the "Focused Side". With this method, you want to keep the balance of your time, energy, and focus roughly the same between the two.
Applying to jobs, landing an interview, and getting an offer is hard. It is hard because there are many variables out of your control that happen behind the scenes, with little to no insight as to what you can do to improve. Though it is hard, it is not impossible. Let's lay some ground work such that we're all on the same page.
Assumptions:
- Applying online is a numbers game. Assuming you are applying for a role that you quality for, the more applications that are submitted, the more interviews you will land. Even if the conversion rate is (for example) 5%, submitting to 100 companies online should yield 5 phone screen interviews. Submitting to 200 companies should yield 10 phone screen interviews.
- Interviewing is hard, so you want to maximize the chances that your interviews will be successful. You can do all the LeetCode, HackerRank, or CTCI you want, but at the end of the day, getting reps in the interview room with companies that you don't really care about is your best way at maximizing interview success. It sucks to say this, but it is the reality of the game if you're trying to land your dream job. Interviews are fucking tough. They're stressful to prepare for, they're stressful in the moment, and they're stressful waiting for the results. The best way to mitigate this is to normalize interviews and get comfortable with the process.
- Companies want to hire people that
give a shit about themare passionate. If you're a hiring manager with two equally skilled candidates, and one cares deeply about the company and has been a customer or user of the product for years while the other one did not express that, chances are pretty damn good that they will hire the more passionate person. I have personally made a hiring decision like this, and other employers will too. - Referrals matter A LOT, especially with decision makers. Having the hiring manager or engineering manager bring a applicant lead to a recruiter is going to have so much more weight than applying online. That being said, getting an acquaintance that works at the company (primarily on a different team or in a lower level position) to refer you won't help out a ton. However, having the decision makers refer you makes a world of a difference.
- You have at least 1 dream company, ideally 2-3+. These are companies that you've wanted to work at for years, companies that build a product you use daily, or companies where you really vibe with their mission. Assuming you're reading an article about getting a job at your dream company, then you should at least have one.
With these assumptions in mind, let's dig into it!
The Many Side
The state of even landing an interview in 2021 is kinda tough. Recruiters are abound, aggregate job boards are filled to the brim, and company "Careers" pages are flush with job listings. And even though this is the case, landing an interview is still a numbers game.
Why?
Well there are a handful of moving pieces that actually go into the job hunting process. First and foremost, there is the ATS (Applicant Tracking System). These systems, while necessary for recruiters and HR, are awful for candidates. The systems parse the words in your resume, looking for keywords to match against job descriptions, checking for similarities and if you qualify. Even if you're applying for jobs that you're fully qualified for, there is a very high chance that the ATS will automatically rule out your application for some unknown reason.
Another reason is that recruiters are picky! If you're getting dozens or hundreds of resumes a day, you're going to have to make some decisions about who to let through and who to not.
Given the status quo, the first side of the barbell is the "Many Side". The goal of the "Many Side" is to use the numbers game to your advantage.
Every applicant has some likelihood of an application getting accepted to the phone screen portion. No one really knows what their true percentage is, but similar to rolling a dice, you can try hundreds of times and derive what your initial success rate is.
So given Assumption #1, the number of interviews is always going to increase based on the number of applications you submit (duh). The unfortunate reality of this though, is that, very likely, everyone's starting percentage is going to be below 10% (and probably even below 5%). This means that you're going to be submitting a helluva lot of applications to a helluva lot of companies (at least 100 if you want a good chance at landing an entry job).
Actually doing the "Many Side"
Cool, so now you understand the premise, so let's get into how you actually go about doing this in a systematic and scalable-ish way.
First, you're going to need a spreadsheet of some kind. The goal of the spreadsheet is for you to keep yourself organized throughout this process.
Your spreadsheet should accomplish the following:
- Keeps track of the companies you've applied to, and the ones you're planning on applying to.
- Keeps track of the status of submitted applications.
- If you have multiple offers, it lets you keep track of the details for comparison
- Incentivizes you to continue chipping away it it. It definitely feels nice to go and toggle 3-4 rows to "submitted" at a time
I should note that with this approach, you do not want to apply to your dream company via online submission. Do you only want a 5% chance of getting a phone screen? Not really.
If done right, you can generate a handful of interviews for yourself with this approach. In an ideal world, you're also getting a handful of onsite interviews and racking up experience. The interviews should become easier and you should feel more comfortable in an interview setting. And, if you're lucky and skilled, you'll have multiple offers to bounce around each other, generating yourself leverage!
Finding Companies
After going through all of the companies that you can recall off the top of your head (FAANG, Airbnb, Uber, Lyft, Robinhood, etc.), then the question becomes "How do I keep adding companies to this list?"
Here are some ideas I've used:
- Look at all the apps you use on your phone, include all the companies you find here. Note: a few of these may be your dream company(s), so save those for the "Focused Side".
- Any website that you navigate to, make it a habit to scroll to the footer and see if there is a "Jobs" or "Careers" link. If they have a role you're looking for, include them!
- Lists. "Top 100 companies to work for 2021", "Best 25 companies to work for in [CITY]", "50 Best Companies for Women" etc. Find any list you can get your hands on and scroll through all of them. Note down any that look remotely interesting, or that you could work at.
- Job Boards.
- AngelList
- First workday of the month on HackerNews (ie Ask HN: Who is Hiring? May 2021)
- RemoteOK
- ProductHunt Jobs
- Indeed
- If you're a student, there should be a career portal you can go find
The goal for adding everything to a list is that you have a massive backlog of companies that you can systematically go through and apply to every day. Have a 30m break? Awesome! Submit 2 applications. Watching some TV at night? Cool, work through a few applications each episode. Like playing video games? Make it a habit to submit 1 application after each win, 2 after each loss.
Turn it into a habit to feel good about applying. Toggle that row to "Applied" on your spreadsheet and know that you're playing the numbers game to the best of your abilities.
The Focused Side
The "Focused Side" of the barbell is what I would imagine if someone social-engineered their way into an interview.
So while not evil or fraudulent, the "Focused Side" approach definitely requires deliberate planning and execution.
Given Assumptions #4 and #5, we want to make the most out of applying to your dream companies. Remember, the most important part is landing an interview. If you've done the "Many Side" well, then you should feel good about the interview process and do well in the moment. Because the hardest part is landing the interview, then you should be able to communicate how awesome a fit you'd be at said company once you're in the room. It's far easier to communicate passion and excitement in person or on a video call than via resume or email.
Actually doing the "Focused Side"
Cool, so all that we have left is Assumption #3. You need to show your passion.
How the heck do you do that? How can you possibly stand apart from everyone else?
Simple: Do something cool.
Come up with a new product, feature, tool — anything — that you'd like to see the company ship. If you want to work at Discord, come up with a feature that can be solved roughly with a Discord bot and build it. See if there is something you can do with their data or API. This is the part where being passionate comes into play, and why you're only doing this for a few companies. If you're passionate, you should be able to come up with some unique idea 😄
This does not apply to only engineering. If you're applying for a design role, redesign a feature you are annoyed with. If you're applying for a product management role, write up a spec for something you'd like to see the company work on. If it is some completely other role, show them your Masters Thesis (if it applies of course), do a faux marketing campaign, update the copy on their landing page using GPT-3. Do something cool. Do the work as if you were working there already! You don't need to an exorbitant amount of time on this, maybe a handful of hours over the course of the week. The goal for this isn't to have the thing you make be absolutely perfect. The goal for this is to show that you're passionate about the company that you spent some of your free time critically thinking about how you'd bring value if you were to join.
Now that you have something that you're proud of and actually want to see take effect there, then find the person at said company that would care about what you did, or at least be open to giving you feedback. This can be done in a few different ways. LinkedIn could work, but finding the specific team someone works on might be tricky, because LinkedIn search kind of sucks. You can see if the company department blogs, if they have them, have particular authors that stand out to you. Often times these are the engineers, designers, PMs, managers, leads, etc that work on the product. Normally their name and LinkedIn or Twitter handles are there. And the last ditch attempt, if it is a smaller company, is to see if they have a "Team" or "About Us" page on the website that might have the employees and their roles.
The goal of this step is to find someone at the company that is twofold:
- They are a stakeholder in the work that you just did. It applies to their job and they are able to easily see the same value that you do in your own work
- The person is contact-able. Twitter DM, LinkedIn message, email, by any means.
Once you identify this person, reach out to them and show off your work. Get their thoughts and ask them for feedback. It is important to note that in this interaction, you are not looking to get a referral, you simply want to interact with them and get feedback on your work. This can either be over DMs or email, but ideally you get them in a video call, or post-COVID times, you're able to set up a quick coffee chat with them. Whatever fits for their schedule, just be flexible and don't make it weird.
After you chat with them about the cool shit that they do at your favorite company and the cool shit that you did, take their feedback and implement it. Spend the next few days, the next week, whatever it may be, and make the changes to the thing you put together. This is imperative. This shows that you listened and iterated on the feedback.
Once you're satisfied with the changes, hit the same person up again. Tell them that you're implemented their feedback and would like to show them again.
Once you're in that conversation and its going well, at the end of the conversation you can ask them if their team has any open roles that would be a good fit for you. If they do (fuck yeah!) ask your contact what the best way to apply for that role would be. This is where you can ask to see if they're able to refer you, or to talk to the hiring manager about you.
Getting yourself a key stakeholder / decision maker on the team to be a fan of you is suuuper important. Recall back to Assumption #3. If there are 2 awesome candidates, but one clearly cares deeply about the company, enough so that they worked on something in their free time, sought out feedback from someone on the team, and implemented the feedback, then the decision to hire the passionate person is a no-brainer.
It is important to note that you should be as genuine and humble as possible interacting with your dream company(s). There should be some sort of reverence and respect that your interactions exude. While the "Focused Side" is methodical about its approach, you should not feel bad about doing this. You put in the work, you truly want to be there, and you're genuine. In a world where you're competing against a sea of other applicants, it is necessary to change the paradigm and set yourself apart from everyone else.
Wrapping Up
I wanted to keep the scope of this article focused to landing many interviews at various companies and landing an interview at your dream company(s). I don't cover anything about negotiating or doing well in the interviews. There are plenty of resources already that exist that provide far better information than I could ever. If you have any resources that you would like me to include at the bottom of this article that you find useful, let me know and I'll include them here and credit you 😄
If you've found success using this method, I'd love to know! (And if you want to be included in this article as well, I'm happy to put you here).
If you have comments, questions, or anything else (like typo fixes), feel free to DM me on Twitter at @evan_frawley or hit me up on LinkedIn.
Good luck; have fun!