When I first moved to San Francisco 9 years ago, I had no strategy for finding work as a developer. To make this process easier for you, I've created this Coderwall post in order to share the things you might want to know if you decide to find a new job here in the city. If you have any questions, I'd be happy to help. Just email me at block.jon at gmail dot com.
How Recruiters Work
San Francisco is an engineer's market. There are more jobs than there are qualified engineers to fill them. Since this is the case, many companies will work with professional recruiters -- sometimes called headhunters -- to try and find engineers. Often, a company will sign agreements with several recruiters in an effort to staff an open position because companies are desperate.
The headhunter is paid a fee from the company if he successfully finds a candidate for the open position who is subsequently hired and stays on for at least 60-90 days. Usually, the fee is between 13-33%. Let's assume the recruiter negotiates an 18% fee. If he’s looking for an engineer who will make $125k/year, that means the candidate (aka you) are no longer some unemployed loser looking for work, but a walking, talking $22,500 check. You're worth more to him than a brand new Honda Accord.
When you put your resume on Monster and Dice, you will be bombarded by these people. By the time your phone starts ringing, they've already paid those sites for the ability to browse resumes and often an individual fee just to access your contact information to make the call possible.
Once they hear you say "hello", they're salivating. Expect a recruiter to be one of the most pushy people you will ever talk to. Most of them will convey the following messages:
- Your resume looks great.. perfect for a few opportunities they're hiring for!
- Their clients have great traction
- Their clients have great investors
- Their firm is the best one
What you need to remember is these people don't really care about you at all. Don't be naive in a recruiter call. Many are just vultures who want their money. You need to be able to listen to what they're saying, filter out the bullshit and when you aren't interested, to tell them no. They would place you anywhere and you're just a number. I’m sure many of them are nice people, but the recruiting business is just that -- a business.
You don't need them and there's a better way.
How Hiring Works At Early Stage Companies
A start-up is launched when an entrepreneur decides to try to make something that people want. It turns out this is very hard to do and most people are not successful.
The entrepreneur usually starts the process by creating a basic product or idea which he then shares with angel investors (aka wealthy individuals) to see if they might be willing to invest in the idea. If he's lucky, the entrepreneur might raise $50k-$500k which helps him to build something slightly more sophisticated with other people. The basic version of a product or service is usually not very impressive. It exists mostly as the first real experiment to see if, and how many, people really want that service.
If the entrepreneur is successful, that means he has found a model which would allow his business to flourish. When the numbers can prove that the business model is working, the entrepreneur will sometimes seek additional financing. The additional money is used to scale the business.
Usually, a company which has received a second round of financing was able to convince a professional investing institution, such as a venture capital firm, that the model works. In the world of tech, many people look to the prestige of the VC firm as an indicator of how exciting the business might really be.
An early stage company is more likely to run job ads on Craigslist than to use a recruiter since they are price sensitive. For senior engineering positions, the strategy I've seen repeatedly is to target Craigslist with posts touting a high salary since the brand is not yet known.
In most cases, when you come into contact with an early stage company, expect to hear a lot of hot air. During the hiring process, the job of the founder will be to try to convince you that you should work for his company. He probably cannot offer you the same compensation package as you could get at a growth company. You should expect to be offered a salary 20-35% less than market. You will probably receive zero, or terrible, health benefits. On the other hand, they will have the ability to offer you more options than you might be able to get at a larger company. The selling point is that if the company becomes valuable, you will have tons of options which you'll get to benefit from via a liquidation event like an IPO or acquisition.
When you interview at an early stage company, you are interviewing them more than you are being interviewed. Your decision to join an early stage company may be one of the most important financial and professional decisions you may ever have to make. On one hand, you will almost certainly lose. In all likelihood, you'll suffer an irrecoverable opportunity cost. (For example, if you accept $70k/year instead of $100k/year, after 4 years, you've basically lost $120k.) On the other hand, there's the smallest possibility that the company you've joined will be very successful. If it is lucky enough to survive the first few years, the question is whether or not you will ever be able to recoup the $30,000/year opportunity cost that you've been accruing.
If you decide to work for an early stage company, you really should be 100% convinced that the company's product is something people want and that the managers will be able to pull it off.
Beware: Sometimes it's hard to differentiate between what you want to be true, and what is true. If someone offers you a lot of equity in something, your first instinct may be that you want it to work. You have to use good discretion... most things don't work and even if you participate, there's no sense in beating a dead horse.
You need to be able to say no. Even if you have joined it, look for hard evidence that the model is working. If you aren't sure, you're probably walking off a plank for no reason. Don't walk the plank. Smart people upgrade.
How Hiring Works at Growth Companies
Growth companies have found a proven model and are usually infused with millions of dollars in order to hire more engineers and spread the service as quickly as possible. San Francisco is home to many exciting growth tech companies... many of which you already have heard of. Growth companies aren't price sensitive over small things and worry about scaling the businesses rather than product market fit.
Tech growth companies in San Francisco have money... often at least $5,000,000 but more often tens or even hundreds of millions of dollars. You can type in any tech company's name into Crunchbase to see how much they have and other key information. Companies with money pay their engineers full market value, provide very nice offices, and offer good benefits such as health, 401k, free lunch and transportation to work. You'll get fewer stock options than at an early stage company, but, your options will have a much higher probability of being valuable in the future than if you had joined an early stage company. Therefore, my recommended is to join tech companies while they are in the growth phase.
Growth companies are more likely to use recruiters. They can afford the $30k recruiting fee. However, in addition to that, they may have at least one full-time recruiter employed at the company.
For this reason, it's important to distinguish between a recruiter who's a random headhunter from a recruiter who works for the company you might join. Whereas the random vulture idiot headhunter should be dealt with more harshly, the on-site full-time employee who works at the company you are trying to join is often very nice and should be treated with respect. Their incentives are different and the company's full-time recruiters usually aren't pushy - they're actually polite.
Since that $30k is something any company would prefer to avoid, many tech companies have an internal employee referral bonus program. It works like this: If you are already an employee working for the tech company and you help to find a candidate who eventually gets hired as an engineer, you get a bonus! I've worked at one company where the referral bonus was $2,000 and another company where it was $15,000, and a few others in between. Hilariously, that's actually a huge savings as compared to working with a recruiter, plus the leads are better.
It is for this reason that you are much better off using your connections to help secure a job interview at a tech company than if you were to apply to an engineering position cold. Any connections you have at companies where you might want to work could be eligible for a bonus and are therefore incentivized to try to help you traverse the process.
Tips For Finding A Life Changing Company
First, I'll tell you something you shouldn't do: Don't take the first job that comes along just because you feel pressure.
I once wrote something that started making money but when it dried up, I felt pressure to find something quickly. That turned out to be one of the worst jobs I've ever taken.
Turn your resume into solid gold. The trick is to stay on point and use as few words as you possibly can in order to deliver meaning quickly. If you’re applying for an engineering job, nobody wants to read about your banjo playing, interest in fireworks, or what sports you play. (You can mention it at the very end of your resume or save it for the in-person interview, if they ask.)
Instead, I suggest a short one page cover letter and no more than a two page resume filled with only the experience and things you did that relate to the job to which you are applying. Whoever reads your resume needs to be able to look at the first page and instantly identify that you are slam dunk for the position. Stay on point!
Next, you have to learn how to pick companies that are slaying whatever industry they're in. This is not an exact science.
My simple barometer for whether or not a company is possibly worth looking at is whether or not you, or anybody you know, have ever given the company money before. Simple as that.
If you ask two friends to list out which internet apps, products, sites, or online services they have paid for in the last 3 months, I would assert that the companies on that list are probably going to be, or already are, very awesome places to work. Similarly, any free social mobile apps that your friends are using are also projects worth joining as long as the service is gaining millions of new users and social interactions each month.
The trick is trying to pick the winners early. One source I go to for this is simply the front page of TechCrunch. When I was looking for work, it was one of the the first places I went to for clues as to which early stage companies were enjoying massive growth and success.
Be sure to work for a company who's product you really believe in. You should feel good about it. In my personal experience, I was in contact with a certain picture sharing mobile application about the possibility of me moving out to LA to join their engineering team in May of '13. I was eventually dissuaded when I came to my own conclusion that it wasn't something I really believed in or felt comfortable standing behind.
What is "Life Changing" About Any of This?
I've spent many years working mostly on dead on arrival start-ups. It has caused me to really appreciate and savor the opportunity to work on something that people want. Many of the best engineers in the world flock to San Francisco to join the top start-ups. Joining a top start-up means you get to work with other people who are some of the best in the world at what they do.
For me, I'm humbled by my engineering colleagues at Lyft. My coworkers are some of the most talented people I've ever worked with. Their backgrounds are from a variety of top companies such as Google, Apple and Zynga, just to name a few. I get to work with them everyday and am a better engineer for it.
Coming out of the early stage world and joining something I love has made me a more positive person. I have flexible hours and I get to work on programming challenges that I enjoy. The code I write reaches a tremendous number of people and I get to be part of something that's really amazing which is changing transportation in our society.
My Top Picks for 2014
Below, I have compiled my top picks for companies which I think would be the most exciting to join in San Francisco in 2014 because each of them is kicking major ass. This list is just my opinion.
- Lyft - 7 years in business.
- Square - 5 years in business.
- HomeJoy - 2 years in business.
- Stripe - 4 years in business.
- Airbnb - 6 years in business.
- GitHub - 6 years in business.
- Pinterest - 5 years in business.
- Slack - 1 years in business.
Disclaimer: I work for Lyft and get a referral bonus on our engineering referrals for iOS/Android, Python, Go, DevOps, AWS, WebDev, Data Science and other open engineering positions.
Most of my post is focused on numbers and benefits and money, but it’s not the most important thing. When you interview at a growth company or otherwise, you have to ask yourself whether or not you can make that place your home for at least a few years. Your answer should have less to do with the office and location and more to do with the people you’re working with. You’re much better off working with people you like for less money than with people you hate for more. If you’re working for less for people you hate, it’s time to bounce.
If you're interested in learning more about my views on hiring in San Francisco, tips, or otherwise, feel free to <a href="mailto:firstname.lastname@example.org">send me an email</a>. I'm happy to help. I have many connections into big companies in San Francisco.
Finally, I wish to leave you with the simple and inspirational words in Dr. Seuss' "Oh, the Places You'll Go!".