If you read my previous post, A New Chapter of My California Adventure, you know I had just moved from the East Coast to California. From the moment I started job hunting, I spent about two months interviewing intensively. Along the way I interviewed at companies of every size and shape, and I learned a lot. I would not call myself an expert, but I want to share the lessons and techniques I picked up with friends who hope to follow a similar path.

First of all, I am not especially talented. The main reason I landed so many interviews was the tech boom. Silicon Valley, and really the entire United States, was short on good software engineers, and opportunities were everywhere. Silicon Valley, home to so many tech unicorns and giants, was the fiercest battleground for talent. The startup culture here is intense. Dozens or hundreds of new companies may be founded on any given day, and talented people from all over the world want to make their mark here. A culture that encourages innovation and tolerates failure keeps everyone energized and tackling different problems with software from every angle. And since people are the most important part of building a product, finding good talent is the most important challenge every company faces.

I came to programming midway through my career. I started teaching myself in 2012. A five-year federal bioenergy project at the National Agricultural Library required processing large amounts of data, and I learned to code to organize and process it. I wrote about that journey on my English blog.

Even without a traditional computer science degree, I received many interview opportunities, from famous tech giants like Google, Facebook, Apple, Amazon, Yahoo, PayPal, and eBay, to unicorns and well-known companies like Uber, Box, SolarCity, Pandora, Udacity, Zenefits, WalmartLabs, and JPMorgan Chase, plus plenty of startups. Every interview was an interesting experience. And once a company decides you have potential and that you are the kind of talent they are looking for, their recruiting team will find ways to speed up the process, hoping you will move to the next round and take their offer as soon as possible.

Below I have organized my preparation into several posts. These are my takeaways from job hunting as a Full Stack Software Engineer (a web front-end and back-end software engineer).

  1. Programming Languages: Which One Should You Learn? I Want to Join Google, but I Never Learned OOO. Will They Accept My XXX Language Background?
  2. An Introduction to the US Software Engineer Interview Process
  3. Waiting to Be Discovered: How Can Recruiters and Headhunters Find Me? How Do I Stand Out? Does LinkedIn Matter?
  4. Going on the Offensive: I Am Job Hunting Now. What Do People in the US Use to Find Jobs? Which Sites and Platforms Give Me the Most Interview Opportunities?
  5. Software Engineer Interview Preparation: What Should You Practice? How Do You Balance Job Hunting and Practice Time?
  6. Heard You Have Been Grinding Problems Lately: The Data Structures and Algorithms Gauntlet Every Software Engineer Interview Will Throw at You
  7. You Got the Offer: What Should You Watch Out For? Can You Negotiate for More Salary, Stock, or Vacation?
  8. Silicon Valley Job Hunting FAQ (not yet republished; link goes to the archived original)
  9. Interview Skills and Takeaways: How to Persuade Your Interviewer in an Organized Way
  10. How Do You Get a Job at a US Tech Company?
  11. How Do You Write an English Resume? What Do US Tech Companies Care About? (not yet republished; link goes to the archived original)
  12. The Most Effective Way to Get an Interview: Internal Referrals, Finding Referral Resources, and the Taiwanese Mutual-Help Network
  13. What If Money Comes Up in an Interview? How to Handle the Expected Salary Question
  14. You Got an Offer. How Do You Negotiate the Salary? The Sandwich Communication Method and Negotiation Moves Before You Sign

I decided to write this series because the photo I posted on Facebook from my Google interview got a huge response, and many friends who were switching careers or about to head to Silicon Valley asked me how I prepared. In the past, advice and help from mentors and friends made my own road much smoother. Now I want to give something back, and I hope my experience can help software engineers who want to come to Silicon Valley or the United States.

Next post: Programming Languages: Which One Should You Learn? I Want to Join Google, but I Never Learned OOO. Will They Accept My XXX Language Background?

(The full series guide: Silicon Valley Job Hunting Series: The Complete Guide)


This post was originally published on my former blog, 「半路出家軟體工程師在矽谷」, on August 8, 2015. The blog is now offline, and the text is preserved via the Wayback Machine. It has been lightly edited for this site.