The Simple Way to Get a Tech Job in the Bay Area

Jacky Liang
7 min readMay 11, 2016

--

I’m really good at faking zen

I currently work at Looker Data Sciences, and we are hiring aggressively, especially in engineering. We’re a tight-knit nimble team of well-rounded engineers, so if you are interested in joining us, feel free to apply here.

As a Computer Engineering/Science soon-to-be graduate, I, like many other CS grads, want to work at the Bay Area out of college. Why do CS graduates have such an affinity to the Bay Area, and why do even tech-abundant cities like New York or Texas not have as much of a pull to us as the Bay Area does?

While the promise of relatively “better” salary, awesome perks like free meals/laundry/massages/cool office environments, and the West Coast weather are bonuses, I think what really captivates college grads to flock to the Bay Area is the rich tech culture. Having been there multiple times, visiting offices such as Apple, Google, Facebook, a16z, and the like, I noticed that many of the people I chat with are incredibly smart and receptive. Jim Rohn, a motivational speaker and self help guru, once said, who you are is determined by the five people you spend the most time with. I believe in this, and I want to set myself up to be surrounded by brilliant people in this incredible tech ecosystem.

Getting a job in the Bay Area simply requires time and preparation.

It’s really simple.

Let me elaborate.

1. Relevant Portfolio

Schedulizer, one of my prouder projects

Creating a relevant portfolio of projects, such as consistently pushing code to Github, creating a personal website to showcase your projects, or attending hackathons, requires time and preparation. There are only so many hackathons happening in a month, so much time you can allocate each week to a project, and so much code you could push onto Github —in the end, it all goes back to consistency. Start building a portfolio two to three years before solid plans to look for full-time position. This is important in this ultra-competitive tech job market. There are hundreds of incredibly talented developers competing for the same companies and positions. How do you stand out?

Time and preparation is your friend.

2. Making Relevant Industry Connections

Dave Jagoda, Director of Technical Talent at Andreessen Horowitz

You may be an incredible developer that excels in writing the most efficient data compression algorithm. However, one of the most important factors in getting a job in the Bay Area is in building relevant relationships.

It’s both what you know and who you know.

As it becomes easier to click one button to apply for a job, the online application process has entered into a point of major saturation. If everyone can easily do it, everyone will do it. My word of advice is — do not apply strictly to online job postings. Try hard to build real relationships. No, this isn’t networking — read this article called “How to Stop Networking and Build Real Relationships”.

Building real relationships with people isn’t only for business majors anymore.

Having relevant contacts in companies and industries can mean getting an interview versus getting automatically rejected by a resume screener on Twitter. I know this is true because it has happened to me. I got rejected by Twitter in under 29 minutes of my application. However, I still got a call because I had a friend that worked there, and he gave me an internal referral after my online rejections. Squarespace Inc. was a close second, when I got a rejection half an hour after my online application.

Referrals work. Online applications don’t.

Of the 100+ companies that I have applied to online, I have been rejected by a good 80–90% of them before even the HR screening phrase, which is usually the first part of the interview process. However, I have received at least a tech screen, the part where companies give you a coding problem for an hour to test your coding abilities, from 70–80% of the internal referrals I’ve received. It works.

Next, focus on attending hackathons. Join your college computer science or maker’s club. Strike up random conversations with interesting people. Ask good questions. Always assume you may learn something new from the person you talk to. You never know what you may learn there or who you may end up talking to. I actually learned about Looker through the video game Team Fortress 2. That’s another story called “How TF2 helped me achieve my dream of getting a job in Silicon Valley”.

The risk of not building relationships is that you are cut out of 90% of the companies you want to aim for. Online applications don’t work. Internal referrals will at the least give you an interview, assuming you have a relevant portfolio described in point #1.

PennApps XII was my first hackathon. It started my obsession with building relationships and attending events.

3. Getting an Interview

Getting an interview is the culmination of step #1 and #2. It requires a good resume where having a strong portfolio of professional and personal projects makes a huge difference over having a stellar GPA. Strong portfolios can offset GPAs that are lower than 3.2 or applicants from non-reach schools like Berkeley, CalTech, MIT, Stanford, etc. where both points apply to me. Having relevant connections and a strong portfolio will, at the least, give you higher chance of getting a HR interview.

4. Preparing the Interview

So, over the years, you’ve built up a powerful portfolio and made relevant friends in the tech industry. You’ve received an interview from Google. You’re freaking out. You realize all the nights working until 5 AM on a new feature on your website has finally paid off. Once the elation of being noticed by senpai dies down, you realize you actually have to prepare for the interview.

Were you noticed?

The typical Bay Area tech interview usually follows the following process:
HR screen -> one-hour tech screen -> maybe a second tech screen -> 5–8 hour on-site interview -> wait for offer or rejection.

Are you scared now?

As explained in the beginning of this essay, time and preparation are key.

Having a solid foundation in Computer Science fundamentals is crucial at this step. Most, if not all, students that aim for tech companies will review books like “Cracking the Code Interview” or “Coding Interviews Exposed” to do the 200+ data structure and algorithm questions. Do this early. Again, do this a year or two before. I made this mistake of studying a month before some of my big interviews, and the results were not good, as there simply wasn’t enough time and mental capacity to “cram” this material. Most companies aim to assess a candidate’s thought process and their ability to stay calm in stressful situations. Trust me, they are stressful: when on a call with a developer and the only thing interfacing between each other is a Google Doc and his floating voice while solving a tough problem. Staying calm and being confident in yourself is one of the most important factors in the tech interviews.

Many candidates are great at this step. However, I am not one of those candidates, and I would say this is most definitely the toughest step in the entire job process. The risk in doing poorly at this step usually means not getting a return call or a rejection e-mail. Fortunately, one can apply again in 6–12 months.

5. Psychological and Mental Strength to Get Past Failure and Rejection

You will be rejected so many times that when you receive the rejection e-mail, it does not even sting anymore. I’ve been rejected close to 50+ times from companies. The secret is that it hurts less each time and you start building up resistance towards rejection. You start focusing less on the pain and more on how to do better on the next interview. I think during the job interview process, the thing I learned about is not data structures, algorithms, or networking — no, the lesson I learned is dealing with failure and rejection. Failure and rejection becomes a fundamental part of the process. You can cry and give up, or you can remain calm, remind yourself it’s okay, and pick yourself back up.

Finding new-age stay-grounded quasi-motivating images are half the battle on writing a good Medium post. Thanks Steve Jobs.

“One day I will get the job.” Remind yourself this.

“My skill as a developer is not dictated by my rejections or failures during the job hunting process.” Remind yourself this.

“I am in software development because I love solving problems in society.” Remind yourself this.

Building psychological and mental strength to get past failure and rejection is not an if, it’s a must. It will be one of the biggest emotional rollercoasters of your lives so far. One of the biggest challenges.

In Conclusion

A common theme exists across my five steps in getting a job in the Bay Area: time and preparation.

Start preparing early. Give yourself ample time. Trying to get a job there is a long and arduous process that will teach you the skills to become a better relationship builder, challenge you to work on cooler projects and harder problems, become a better developer by infusing you with computer science fundamentals, and most importantly, realize that failure and rejection is a natural part of life. Follow these steps, and you should be able to get a job in the Bay Area.

It’s not easy, but it’s simple.

--

--

Jacky Liang

📍 Prompt engineer @ Infinitus. ⏪ Oracle Cloud. Singlestore. Looker (acq. Google).