Millennial Stories | Jason Liu | Software Engineer who has worked for multiple start ups in San Francisco and Toronto

Hey everyone I’m  back with another interview today. Joining us today we have Jason Liu a 22 year old millennial who co-founded 56 a website design studio based in Toronto, in addition to working at multiple startups in the San Francisco and Toronto area.

If you want to check out the previous edition of Millennial Stories you can do so here:

So tell us a little bit about your work experiences.

Sure, so while I was doing my undergrad at Waterloo I did several internships with tech companies. I’ll give a brief summary of a couple of them. One of the first places I interned at was at Zynga, where they developed mobile and web games. They’re responsible for games like Facebook Poker and Farmville. I mainly helped with mobile economy features where I contributed to code that managed economic transactions in the games. And then I worked at Digiflare. They provide over-the-top TV solutions for companies, developing streaming applications for platforms like Samsung Smart TV, Apple TV, Playstation, XBox and a bunch of others. While I was there I worked on a Samsung Smart TV app for Starz (a US entertainment company). I then worked in San Francisco for a company called if(we). They are a social media company who specializes in creating social networks and apps. Their most popular networks have over 1.5 million daily active users. They were founded around the same time as MySpace and since then they’ve been constantly innovating on new social ideas and recently even got acquired by a bigger company. During my time there I was a Full Stack engineer, working on all layers of their web stack.

While I was interning, I also got into web freelance where I was doing a lot of web design and development with some good buddies of mine on the side. We co-founded 56, a web design studio and started taking on a lot of cool and interesting projects.

So how was your working experience in San Francisco? What was the work culture like?

The biggest difference to me was the weather, no winters! But by being at the centre of the tech industry, you’re constantly surrounded by a lot of smart and motivated people. This definitely in my opinion, helps a lot with career development and my ability to grow and learn as a software engineer. There are so many opportunities given to software engineers in SF that it’s crazy. Besides work, San Francisco is a culture packed city with lots to do, not to mention it is also close to a bunch of other fun travel destinations like Vegas and LA for example. One of the downsides is that SF tends to be pretty expensive to live in. I’m currently struggling to find a place to live right now haha.

How much does a 1 bedroom studio normally cost?

Well it depends on the location, if you want to be in the city it could go from anywhere between 2000 – 3500+ USD per month.

What are your general thoughts on the tech industry?

Tech seems pretty booming at the moment, there’s startups opening left right and centre. Everyone’s competing to be the next unicorn. I love it. I love the idea that anyone who has a laptop and the technical/business knowledge can just go and develop a product or service that can be as disruptive to an industry as Uber. The low start up costs mean that the possibilities for innovation is only limited by what we can think of and create which makes tech such an interesting space to be in. Of course, because of the overwhelming numbers of startups and investors, a tech bubble could become a problem similar to the Dotcom bubble in the 2000s. I’m no expert in this topic but I believe that if a tech bubble is the result of innovation attempts, the risks are pretty much inevitable. Innovation rests on the back of failure right? For example the companies that survived the Dotcom bubble (i.e Amazon, Google, etc) continuously prove themselves as revolutionary companies that constantly push the envelope forward in terms of tech. There will always be ideas and there will always be investors, hopefully we learned from our mistakes in the 2000s and are able to make better informed investments.

Side Note : I’m also not an expert by any means, but I did some research on the Dotcom bubble which happened in 2000. Now it seems kind of similar to the situation today. The general assumption that the Internet was the new big thing, and many investors were investing into promising companies. Examples include: a company that spent roughly $188 million in  six months then went bankrupt. Broadbandsports, a company that raised over $60 million but then went bankrupt in 2001. Commerce One, a company founded in 1994, at it’s peak had a market valuation of $21.5 billion, filed for bankruptcy in 2004. There are dozen more examples of failed companies. The few that survived went on to become industry dominating mega firms, such as Amazon, EBay, and Google.

On March 10, 2000 the NASDAQ Composite peaked at 5132.52, but then fell 78% in the following 30 months.

A famous saying: History tends to repeat itself.

 We’ve had multiple stock market crashes in the past 100 years, the only thing we can say for sure is that the market is unpredictable. Like Benjamin Graham says in his book The Intelligent Investor (a great read would recommend probably one of the top investing books out there).

Right now we’re a seeing a present day situation in Uber. Uber posted a $2.2billion loss in 2015, and around a $3billion loss in 2016. To me that is INSANE. If I was an investor I would be worried.

 They’ve also had multiple issues within the organization, most recently their CEO resigning, their failed entry into the Chinese market, and accusations of stealing Google’s self driving car technology.  So what does the future hold for Uber and the tech industry, who knows, but right now Uber is not doing so well. Snapchat also didn’t have that great of an IPO. 

Back to the interview

So do you have any advice for aspiring programmers, or computer scientists, or people trying to get into the tech industry?

My advice would be if you want to go into this industry, you have to have a passion for it and a good work ethic. You have to genuinely care about what you are making and have a constant drive to make things better. This field is full of perfectionists because everyone wants to be able to make an impact with their work. Many people in this industry realize that what they’re trying to do is difficult, but still motivate themselves to do it because they enjoy the rewarding work. They work not because they have to, but because they enjoy it. And when you have people being motivated by that kind of passion, they are able to take their work to truly extraordinary levels. If you want to be successful in the tech industry, you have to match the determination and perseverance of these people. Once you are sure that tech is what you want to do, stay motivated and believe in yourself, everything is hard until you figure it out, and you will figure it out if you put enough hours into it. Don’t be afraid or overwhelmed and remember that given enough time, you can teach yourself anything. Proceed logically, be resourceful and always try to leverage the work of people smarter than you. Chances are, if you’re experiencing a problem, someone else probably did too and why not learn from smarter people who’ve solved the problem already? Remember to stay committed to learning because by being in tech, you have to constantly take the initiative to learn newer technologies or else you will become outdated in your craft. I try to do something everyday, either by doing some freelance work or studying/learning about a new concept. Now it’s so ingrained into my brain that if I don’t do something everyday, I feel super unproductive, I guess it’s like how people feel bad when they miss a workout.

Did you have any feelings of doubt while you were studying at the University of Waterloo?

Every single day man. There were a ton of smart people at my school, the harder you look the smarter people you’d find. At times it was discouraging but at the same time it was motivating. I just wanted to prove to myself that I was just as capable as these people. So I started doing side projects on top of my internships (which eventually lead to co-founding 56) and took the harder non-mandatory courses. I wanted to rise to the occasion instead of hiding from it. I really challenged myself to look at these people and ask myself why I couldn’t be doing what they were doing. I definitely faced a lot of struggles that every Computer Science student faces though. Mainly feelings of stress due to the fear of not being good enough. The program is hard and the failure rather high which puts a lot of stress on the students. There was a CS student who recently committed suicide from Waterloo that really hit home for me. A lot of emotional breakdowns happen. There was this student who just kept running his head into the stone pillar over and over again outside the library. I totally get it though, the frustration of not being able to understand a concept even after hours of studying can seriously drive someone crazy. The worst feeling is trying your hardest and having it not be good enough.

Yeah you definitely have to balance your emotional health, but moving onto a more positive note. 

So how did you land your co-ops?

In the beginning it’s definitely hard getting your foot into the door. You’re not sure what to do and all you know is the bullshit your high school civics & careers course “taught” you. I had a hard time trying to get my first co-op placement so I started doing some research to try and figure out what made an applicant appealing. It ultimately came down to two things, a good resume and being able to follow through during the interviews. For resumes, I found books and articles that helped explain what recruiters looked for and tried to incorporate them into my own resume. I then researched people in my field that I wanted to aspire to and tried to emulate their resume structure. I even ended up asking graphic designers for advice because I believe a good resume should be visually appealing, easy to scan and draw attention to the important parts.

I’ve spent countless hours tweaking, rewording and rearranging my resume so that I can get that first interview. But to me, the interviews were infinitely harder. This might be just me or the tech industry in general, but interviews for a software engineering role is very stressful. There’s usually multiple rounds of interviews and almost all of them tend to be technical (maybe 1 or 2 personal interviews where they ask you about who you are and stuff to see if you’re a cultural fit). These technical interviews consist of interviewers asking you technical questions and expecting you to problem solve for 30 minutes to 1 hour in front of them, often whiteboarding solutions and code. This is extremely difficult to prepare for as they can literally ask you any problem in the realm of computer science and you have to figure it out… or look unqualified as you awkwardly try to solve it for an hour. So to prepare myself, I often started studying for these technical interviews weeks ahead of time by reading CS books, articles and finding online resources to practice. I found that what worked best for me was to try and constantly “study” for these interviews so that you never get rusty, even if you don’t have interviews coming up.

Do you have any specific resources you recommend?

For resumes, I recommend reading “The Google Resume”, it has great tips and helped me a lot while I tried to write my resume. Here’s a pdf link:

For technical interviews there’s two resources that I constantly go back to.

The first is called “Coding Interview University” and it’s basically this guy’s study list of topics for technical interviews. It is VERY in-depth.

The second is Cracking the coding interview. It is a book that has over 189 programming questions with detailed answers. I think every software engineer has gone through this book at least once.

Summary: Over 500 pages, and 189 programming interview answer and questions, as well as other advice.

Topics covered include

  • Arrays and Strings
  • Linked Lists
  • Stacks and Queues
  • Trees and Graphs
  • Bit Manipulation
  • Brain Teasers
  • Mathematics and Probability
  • Object-Oriented Design
  • Recursion and Dynamic Programming
  • Sorting and Searching
  • Scalability and Memory Limits
  • Testing
  • C and C++
  • Java
  • Databases
  • Threads and Locks

So are your plans for the future, and are you comfortable with sharing you salary with everyone?

Sure, I accepted a job offer for a startup in San Francisco and I will be starting in mid August. I am being compensated competitively for the SF area, slightly above average, and they are also offering a very generous options package. If ever in doubt about salaries I would recommend referring to: to see the average salaries for your role in your region (at the time of the interview, the average salary for a Software Engineer in the SF area is $110K USD).

As for plans, I definitely enjoy working at startups because you have more responsibilities, ownership, learning opportunities, and impact in decision making. Especially compared to a bigger company, where you’re just a small cog in a big machine. Not to mention many software engineers dream about being one of the first at a “startup turned unicorn” because it does wonders for your engineering credibility and bank account. I would ideally want to experience working at a couple of startups before the age of 30, and who knows, maybe some of these will even be my own.

What would you say you look for in a potential full time opportunity?

Three things. Ability to learn and grow as a software engineer, impactful work, and interesting problems.

Thanks Jason for your time, I will come visit San Francisco some time in the near future. Wishing you all the best.

 I hope this interview provided some insight into the tech industry, if you have any questions feel free to comment below.