How I Landed My Dream Job in San Francisco as a Canadian New Grad

Reading Time: 7 minutes

By Kyle Asaff


Two years ago, I made it my absolute goal to follow my dream to move, live, and work in San Francisco as a Software Engineer. In 2015, I was a new graduate living on the east coast of Canada; now, I am working my first (and dream) job in San Francisco, California. It feels amazing to say after a ton of hard work, I was able to do it. I thought I would share my story and hopefully inspire those who are trying to live out their dreams.


San Francisco skyline (Photo: IM_photo/Shutterstock)

Quick Background


I graduated May 2015 with a Bachelor’s of Computer Science Degree and a 3.3 GPA. I worked three co-op jobs (internships) in pursuit of my degree: two as a Systems Administrator and one as a Web Developer at a Canadian IT Company — all in my home town.


Developing My Dream


When I found out that I was going to be working as a Web Developer for my third co-op work term, I was so excited. My first two work terms as a Systems Administrator didn’t include coding, so I was excited to work my final work term as a developer with a company I could work for when I graduated. A couple of months into my work term, my excitement faded. I lived, went to school, and worked in my hometown (where I had lived my whole life), and things felt repetitive. The work term was a success by most measures, but I wasn’t happy; everything felt stagnant and I felt complacent. After my work term, I returned to school as a senior with the mindset that this is just how it’s going to be when I graduate.

During my fourth year, I met a student in ones of my classes who created an app which at the time had over 50,000 users. He mentioned that he was going to do a work term in San Francisco. We started chatting about the tech industry, opportunities, culture, weather, and everything else that makes the Bay Area such a desirable place to live — I was legitimately excited for him. His experiences made me wonder, could I possibly find a job in California and move there when I graduated? I always thought of myself as an average computer science student and never considered doing something as big as moving across the continent to another country. Just the idea of relocating all the way from the east coast of Canada to California was the first time I felt excitement in a very long time.

I remember hearing a quote at the time which stuck with me:

“You only live once and you have all eternity to be dead. Why not live doing something that you like, even if you never make it, at least trying to achieve something that you like, versus doing something you don’t like and just going through the comfort zone of society.”

From that point on I set out to make that thought a reality. It became my dream and I made it my absolute goal to move to San Francisco when I graduated to experience life, and something new, in a city far from home.


The Process


The process started well before I began applying for jobs. I taught myself new programming languages and technologies, hoping to make myself more marketable as a new graduate. I was interested in developing web applications so I focused on that. In my spare time, I taught myself JavaScript and dedicated my whole summer to making a Google Chrome App called Forum Buddy, which now sits around 1000 users. I returned to school in September for my final semester and continued to fill my Github with side projects including technologies, languages, and frameworks that I never learned in school or used before such as Scala, Ruby, JavaScript, jQuery, Angular, Bootstrap, Less, Ruby on Rails, and more.

By January, I officially completed my degree requirements and was set to graduate in May. During this time I shifted my focus from side projects to studying algorithms, practicing interview questions, and applying for jobs. Sending job application became a full time job. I spent 6-8 hours a day writing cover letters, applying for job postings, responding to emails, and studying for interviews. I kept a spreadsheet of every job I applied for. I used the spreadsheet to keep track of my applications and used it as motivation.

The first interview I had was with Google. The week leading up to the interview I didn’t leave my house. I studied "Cracking the Coding Interview” for over a week straight, doing practicing problems and algorithms all in preparation for that single interview.


“Googleplex,” Google headquarters in Mountain View, California (Photo: MariaX/Shutterstock)

When it came time for the interview itself, I cracked under the pressure. It was a coding phone interview and I didn’t code a sufficient algorithm in time (looking back now, after all my studying, I feel I could have passed, had it not been for the pressure).

I continued to apply for jobs through every available outlet, including company websites, LinkedIn, Indeed, and everything else in between. I even made a profile and passed their coding test, but ultimately was not accepted, because of non-sufficient work experience. I eventually started using Hacker News for job postings, which lead to some great responses. Through Hacker News I was usually able to email an engineer or hiring manager directly, which resulted in personalized responses. In total, during the first six months of 2015, from January to June, I applied for 305 positions and interviewed at 21 companies, all in California.


Downtown streets of San Francisco, California (Photo: Alex Cimbal/Shutterstock)


A lot of companies (especially startups) have their own unique interview process — to go into detail about all of them would make this post a thousand times longer than it already is. By June, I had received two offers from two different companies, both in San Francisco. Both offers came in around the same time and were from funded startups.

The first offer was bad; I was excited to finally receive an offer but I knew I would have to reject it, which gave me a ton of anxiety. I had what I was working so hard for right in front of me but I knew I couldn’t accept it and I wasn’t sure if I was going to get another (or better) opportunity. 10 days later I received another offer. This second offer was much better and was everything I was hoping for. I negotiated a bit, thought about it for a day, and then accepted it. With that, a huge weight was lifted off my shoulders. I set out to do something I wasn’t even sure was possible, and I did it. All the doubts in my head were erased and in that instance and I felt a sense of accomplishment that I have never felt before; it was pure bliss and I couldn’t have been happier.




I accepted my offer late July with a start date of early September. This gave me plenty of time to plan my move, find a place to stay, and prepare for my new job over 3000 miles away from home. I was able to find a place online within an apartment complex, which made things easier.

The visa process was fairly seamless. As a Canadian, you are eligible for TN status to work in the United States as long as you have a university degree and a job offer under the current NAFTA agreement. My company had a lawyer draft up some paperwork to bring on the day of my flight to help smooth out the process. Everything went well, I went through security at the point of entry and told the border agent I was applying for TN status. I gave the agent my paperwork I had prepared and went in the back room for a quick interview before my flight. After my interview, the border agent stamped my passport giving me TN status for three years and I was sent on my way.


The oldest mechanical public transport in San Francisco (Photo: Lorcel/Shutterstock)


I landed in San Francisco a week before my start date which gave me some time to settle in. It was a little rough starting out (I had nothing besides what I could stuff into two suitcases) but after a couple months I was back on my feet, and I haven’t looked back since. I have lived in San Francisco for over two years now and looking back, I know I made the right decision. The excitement, drive, and ambition that I felt fading my senior year was back and I couldn’t be happier.

That is my story. I truly believe that you can accomplish anything in life as long as you have drive and a strong work ethic. It feels very surreal to accomplish something you originally never thought was possible. My advice to anyone trying to follow their dreams or who wants to move on from their current situation is this: dream big, work hard, be ambitious, and no matter the circumstances, never quit.



Kyle Asaff
Software Engineer

You have successfully subscribed

Create an alert

As an applicant