You are on page 1of 5

6/3/2019 Five Skills Self-Driving Companies Need – Hacker Noon

Five Skills Self-Driving Companies


Need
Caleb Kirksey Follow
Mar 5, 2017 · 5 min read

Building autonomous vehicles is a challenging task that combines a


wide range of engineering and computer science disciplines. In order to
make contributions to a team in the self-driving domain, you have to
constantly be learning and exploring new technologies. The biggest
asset you can acquire is a relentless curiosity and strong self-discipline
for solving hard problems.

That said, companies choose specific technologies and techniques to


build their systems and often prefer candidates who already have those
experiences and skills. I analyzed the job postings from several self-
driving car companies and compiled a spreadsheet of the technologies
and disciplines that are mentioned in the postings. This analysis is
intended to give a general sense of the what companies are looking for.
It’s not a comprehensive assessment of what they value, but it can serve
as a guide for those trying to get enough experience to interview with
self driving engineering teams. I focused on specific skills/technologies
like OpenCV and SLAM rather than broad disciplines like Computer
Vision or Robotics.

https://hackernoon.com/five-skills-self-driving-companies-need-8546d2aba7c1 1/7
6/3/2019 Five Skills Self-Driving Companies Need – Hacker Noon

Self-driving skills by mentions in job postings

C++
The one constant in all of the postings is that experience with
programming in C++ is a highly sought attribute for self-driving
companies. Since performance is so vital for any code running on a real
time system, it’s necessary to use a language that can be compiled to
machine code for speed.

The good news for prospective self-driving car engineers is that out of
all the listed responsibilities, basic C++ experience is one of the easiest
to acquire. Google has pretty good online course about it. Udacity is
working on a great C++ course of their own that some other students
and I are beta testing. It should be available to the public soon.

The best way I’ve found to learn a new language is choosing a basic
project and implementing it in that language. If you have a background
in an object oriented language like Java, but haven’t used C or other
procedural languages, this will force you to learn new concepts like
pointers and destructors. This is one of those “hours to learn, lifetime to
master” skills where completing a single C++ project after having
already done lots of other programming will make a big difference even
though you’ll still have tons to learn.

LIDAR

https://hackernoon.com/five-skills-self-driving-companies-need-8546d2aba7c1 2/7
6/3/2019 Five Skills Self-Driving Companies Need – Hacker Noon

Velodyne LIDAR mounted on Auro autonomous shuttle

One of the most challenging self-driving engineer skills to gain


experience with is LIDAR. Unless you’re independently wealthy or
working in a university research lab, you probably don’t have a
Velodyne lying around.

I’ve been able to learn about LIDAR at Auro by joining the company to
help with projects that fit my experience (managing data, reporting
systems, and mobile apps) and then learning everything I could about
LIDAR and point cloud operations in my spare time.

Some other ways to learn about this technology are working on open
source projects like Autoware that share their point cloud recordings
and give you tools to start working with the data. In addition, , if the
Velodyne factory goes through or solid state LIDAR takes off, you
should be able to get super cheap ($50–250) LIDAR pucks for doing
homebrew projects.

Sensor Fusion/SLAM

Demo of Dibotics SLAM algorithm

https://hackernoon.com/five-skills-self-driving-companies-need-8546d2aba7c1 3/7
6/3/2019 Five Skills Self-Driving Companies Need – Hacker Noon

Experience with core robotics techniques like sensor fusion and SLAM
(simultaneous localization and mapping) is something that every
company values. Many robotics engineers have spent decades
mastering these techniques in grad school labs. While it’s not realistic
to expect immediate mastery of them, you can acquire a basic
understanding that might get you on a team by taking free online
courses like AI and Robotics. If you’re able to take that knowledge and
implement it on a homebrew robot or contribute to an open source self-
driving project, teams will be lining up to bring you on.

ROS

Super unnecessary chart

ROS (robot operating system) is a framework for writing robot


software. It includes lots of libraries and system organization tools.
While many of the job postings do not mention ROS (including Auro’s
post), each of the companies likely use a reliable, distributed
architecture that bears some resemblance to ROS. Vehicle
manufacturers often ensure that their systems adhere to standards like
AUTOSAR. BMW has a great presentation that explains why they chose
ROS for their autonomous vehicle R&D while also highlighting some of
its limitations for a production use case.

It is very valuable to have experience working with modular systems,


and ROS is a great open source tool for gaining that experience with
the specific application of robotics. I highly recommend going through
the ROS tutorials. They’ve not only helped me to understand ROS
specifically, but also the type of architecture that’s necessary to keep a
robotics system organized and fault tolerant.

https://hackernoon.com/five-skills-self-driving-companies-need-8546d2aba7c1 4/7
6/3/2019 Five Skills Self-Driving Companies Need – Hacker Noon

Hacker Noon is how hackers start their afternoons. We’re a part of the
@AMI family. We are now accepting submissions and happy to discuss
advertising & sponsorship opportunities.

If you enjoyed this story, we recommend reading our latest tech stories and
trending tech stories. Until next time, don’t take the realities of the world
for granted!

Hackernoon Newsl
stories by real te
Get solid gold sent to y

First Name

https://hackernoon.com/five-skills-self-driving-companies-need-8546d2aba7c1 5/7

You might also like