Interview for software engineer (computer vision), 2020

From the academia to the industry

Software engineeringis a hot topic, so is computer vision and machine learning. Though many positions require a PhD degree, there are still some positions for M.S. or B.S. As a recent M.S. graduate, I’m really lucky to be joining Amazon Scout as software engineer for localization, which requires coding skills and computer vision knowledge. I received so much help from my friends and alumni. Thanks so much for their help. I’d love to share my experience with people who are interested in the field.

This post will talk about the general information about my application. I’ll talk more specific about the offers I got (Amazon and Waymo) in other posts.

This article is inspired by Dung-Han Lee, Shang-Yun Yeh, Daniel Yu:


I started my M.S. program in UC San Diego in Fall 2018. During my program, I worked on research about visual odometry, which means to estimate your location through cameras, which is widely used in autonomous driving and robotics. I defended my M.S. thesis in May 2020 (after I got the offer). For more information, feel free to refer to my website (


I started to apply for positions in late January as I planned to graduate in June 2020. I applied for 30~40 positions and interviewed with 5 companies. In the end, I received the offers from Amazon and Waymo. I targeted computer vision software engineer or research engineer. I am especially interested in autonomous driving or robotics.

I’d like to list out the companies I applied.

Here are the companies I applied but rejected without interviews:

  • Nvidia (Software Engineer — Computer Vision and Deep Learning)
  • Facebook Reality Lab (Applied Research Scientist, CV)
  • BrainCorp
  • Apple (Deep Learning Research Engineer/ Computer Vision Algorithm Engineer)
  • Microsoft
  • Intel (Computer vision engineer/ Research engineer)
  • MagicLeap (Computer vision engineer)
  • Argo AI
  • skydio
  • Geomagical Labs (3D Reconstruction Researcher)
  • Neato Robotics(Robotics Software Engineer)
  • Niantic (Researcher, Computer Vision)

Companies I interviewed with:

  • Tesla, software engineer in Autopilot (1st round phone)

1/25: Referral

2/3: Phone interview

2/7: Rejected

  • Amazon, software engineer (2 rounds of phone + 1 virtual on-site)
(Image credit: Future)

Applied online in March

3/11: 1st phone interview

3/23: 2nd phone interview

4/20: 1-day virtual on-site

4/22 :verbal offer

  • Waymo, software engineer (2 rounds of video chats + 1 virtual on-site)

4/15: 1st video interview

4/27: 2nd video interview

5/14: 1-day virtual on-site

5/20: verbal offer

  • Qualcomm (1st phone with different teams)

4/17: video interview (Automotive Computer Video/Vision Systems Engineer)

4/24: video interview (deep learning research engineer)

No response

  • ByteDance, SLAM software engineer (2 rounds of video chats)

4/22: 1st video interview

5/5: 2nd video interview

5/12: rejected


Referral → (career fair) → apply online

As many have suggested, I tried to apply through referral or online directly. The other option career fair was canceled due to Covid-19.

Here are the approaches I used:


Not quite exciting, I connected to the alumni through LinkedIn and looked for opportunities. Filters are useful to find the alumni in the company. When possible, I asked for referral. Also, it’s a great place to update the information of companies or interviewers.


I entered my interest on Glassdoor so that it broadcast the information through emails. I applied several based on the links.

Apply online

It is also an effective way.

Among all the interviews I had, I applied Amazon, ByteDance and Qualcomm online. I had referral for Tesla and Waymo.


This post is the general information of my applications. Feel free to read other posts for more information.




A Optimistic learner, enthusiastic server, and passionate engineer. Taipei → San Diego. M.S. in Electrical and Computer Engineering.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Ansible Role to configure Kubernetes Multi-Node Cluster over AWS Cloud

Building a System for Online Experiments From Scratch

Creating scheduled text affirmations with n8n 🤟

Why you should use Illuminate (Laravel) Collections instead of PHP arrays?

Laravel Collections

Testing gestures using Flutter driver

Probably, your first useful Touch Bar app

Kubernetes cost monitoring: approaches & best practices

AZTEC: How the Ceremony Works

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Yoyee J

Yoyee J

A Optimistic learner, enthusiastic server, and passionate engineer. Taipei → San Diego. M.S. in Electrical and Computer Engineering.

More from Medium

Algorithm: Solve Sudoku

Everyday Things: Binary Search Trees & the Recursive Search Algorithm

My Personal Experience with Amazon Software Engineering Interview

What is Dynamic Programming?