Why I moved and How I find a Software Engineer job in Silicon Valley while working full-time in Canada


I have worked in Vancouver, Canada as a Software Engineer for about a year. Prior to that I was a Salesforce Consultant. In December 2016, I started looking for new opportunities in United States specifically in the Silicon Valley. It took me some period of intense preparation to land a Software Engineer job at a company that I’m happy with — Twitter. It has now been 6 months since I move to San Francisco, and I love working here. Several friends asked me how I applied jobs offshore from Canada. In this blog post, I would like to share my experience how I interviewed and applied for new opportunities in the Silicon Valley while working full-time in Vancouver and I hope this will be helpful and motivating for those who are trying to do the same. It’s not an easy process but you can do it.


Why I moved to San Francisco

I visited San Francisco after I graduated, and spoke with few friends who were currently working there. I love the tech scene and its vibe. I thought it would be an exciting opportunity to work there, and embark the new adventure. There was nothing to lose.

Challenge I faced while moving to San Francisco

Problem occurred, when I first graduated, I did not have any relevant software engineering experience. It was difficult for me to apply and compete with the talent in Silicon Valley. So, I started with a Software Engineer (backend) role in a startup company in Vancouver and built my experience and career there. I met some great mentors. Big shout out to the amazing mentor Mike Nikles.

A year and half later, I decided to pursue this goal again. This time with some experience on my resume, it had helped me land more interviews in the well-known tech companies.

I also got a new challenge which was transitioning from a backend developer to a front-end developer role. I will address how I prepared for front-end technical interview in a separate post.

Let’s first go over how I applied jobs in the USA.

How I applied jobs in the USA from Vancouver, Canada

Process I went through to apply jobs in the USA
  1. Knowing yourself.

Identify your skills, specialty, and interest. You want to focus on your search. For example, in my case, I’m looking for:

  • role: Front-End Software Engineer
  • skills: ReactJS, JavaScript, HTML, CSS, algorithm
  • interest: web technology, ideally in a well-known tech company
  • I also created a list of dream companies, and a nice-to-have companies.

2. Update LinkedIn and your location. Let recruiters find you.

The easiest way to get recruiters from Silicon Valley to notice you is to update your LinkedIn’s location. Go to your LinkedIn profile and update to a San Francisco location. I use Fairmont Hotel’s postal code 94108. You can use any postal code in the area you are interested in applying.

Don’t forget to also turn on the feature Let recruiters know you’re open. This will allow the Bay Area’s recruiters to find you first saving your time to apply yourself.

4. Reach out to your Bay area network.

Chances are you already known someone in the bay area. Reach out to them and ask them to refer you. You will be surprised how much they are willing to help you and wanted to refer you. Fun fact, a majority of my interviews was initiated by my friends who had referred me. I also learnt a lot about the process and what to prepare for when talking with my network in Silicon Valley.

5. Interview prep.

Preparing for interviews is the most essential task to get you the job. I won’t spend too much time talking about it here, as I will have a separate blog post on this.

6. Schedule phone interview.

Once you heard back from recruiters, it’s time to schedule your phone screens. I tried to schedule my technical phone interviews very closely together. That way, when I have onsite interviews, I can take a week off to fly to the Bay Area.

Here is a typical week for me. I tried to have my phone screen interview at lunch time. In the morning, I typically leave for talking to recruiters. Sunday normally is my studying day. Even though some companies were not in my targeted list, I still went ahead and scheduled them. It helped me practice more.

A typical week with phone screens

7. Schedule your onsite interview.

After several rounds of phone interviews and hearing back the results, I scheduled all my onsite interviews in the same week. This would make you look professional at your current job, and help you evaluate your offers if you do happened to have multiple offers.

I took a week off to fly to San Francisco for 3 of my onsite interviews. I also stayed over a weekend in San Francisco to explore the city.

8. Reflection.

After the interviews, you may feel tired and anxious to hear back from the recruiters. Remember no matter what the results are, you have done a great job and even if you didn’t get the job, you are closer to reach your goal than before.

At this stage, I would take time to reflect how I’ve done during the interviews. If there are areas that I had not done well, I would re-do the questions again, and make sure I understood them. After all, it’s the learning that counts.

9. Evaluate your offers.

Hurray! Your hard work has paid off. If you have multiple offers from companies that you really like, this is a really great opportunity for you to use them to negotiate.

If your finance allows, I do not think you need to rush and take a job that you are not fully happy with. After all, you will be spending 5 days a week to work there, and you want to be happy working there. When I received an offer at a Startup company in San Francisco that didn’t fully meet my expectation, I decided to continue searching, and repeat the process above till I found one. I started on Dec 2016 and I accepted the Twitter offer on March 2017.


I hope you enjoy reading this post and found this helpful no matter where you are looking for a job. I would like to thank you my amazing friends and recruiters who make the move happened.

Please share if you know someone who could benefit from this post. If you have any questions, please feel free to leave a question below or follow me at Twitter. I would be more than happy to share more in my next posts and am available to meet in person in SF.