Self-Driving Car Engineer Nanodegree 2020 Review
The Udacity Self-Driving Car Engineer Nanodegree has been a very popular way for students to learn about autonomous driving technologies and find a job in the field. Thousands of students enrolled, and some got out with the job.
I am one of them, and today, I will share with you my review of the program.
There is just this one thing: I enrolled 3 years ago and graduated 2 and a half years ago! The program changed a bit, I looked for students who just graduated to see the changes and made my review accordingly.
Also, an updated version of this article has been published on https://www.thinkautonomous.ai/blog/?p=self-driving-car-engineer-nanodegree-2020-review
Questions I will answer:
- Is the Nanodegree worth it?
- Is the content still up to date and relevant?
- Was it actually useful to enter the industry?
- Can you get the promised salaries?
I will start by giving you a quick presentation of the Nanodegree and a tour of the projects and content you learn in this program… I’ll then give my opinion on whether you should enroll or not.
Before that
I am writing daily about Self-Driving Cars & Autonomous Technology to a private mailing community! You can join this community and learn tons of things about self-driving cars and receive valuable content tips.
Join us, and be at the cutting-edge by entering your email below!
What is this course?
When I enrolled, the Nanodegree was a 9-month long program where you could join and get out knowing how to program a self-driving vehicle. At the time, you had to submit an application letter and wait about a week to be accepted.
I decided to join the Nanodegree when I was lost in my career. I just began an internship and realized I was far behind in AI and Advanced Technologies, even though I just graduated. This course was salvation; as it promised everything I wanted.
In 2017, the program was making insane promises:
- 150k per year minimum salary
- Cutting-Edge skills applicable everywhere
- Partnerships with UBER, MERCEDES, and other hiring partners
- Possibility to save 1,000,000 people’s lives per year
I didn’t even look at the summary of the course; I was sold.
A year later, I was working in a self-driving car startup on Computer Vision.
It seems that it worked!
However, every promise has now disappeared on the course’s page.
So maybe it doesn’t work for everyone?
The Nanodegree in 2020
Today, the program has been shortened to 6 months to get better completion rates. If you knew the 9 months program, you probably remember it as fascinating but intense. The risk of dropping out is high, it’s a 20h/week program!
By reducing the program length, they also reduced the content and removed 3 projects; leaving 9 projects instead of 12 to learn how to be a self-driving car engineer.
The program lasts 6 months and takes about 15/20 hours per week to complete. It’s in Python and C++; and you must have some requirements:
If you don’t have these requirements, you can get them alone or follow the “Intro to Self-Driving Car” course.
Tour of the content
In this Nanodegree; you will learn the pillars of self-driving cars.
- Additionally, you will learn about System Integration and ROS — How to program a real self-driving car.
Perception — Computer Vision
The Nanodegree starts with Computer Vision and “Lane Line Finding projects”.
You will learn how to process images so build 2 lane line detection systems: one that is basic and only work with straight lines, one that works with curves.
The first project (red lines) will teach you how to process an image, work with filters and transformations, and find lines. The goal of this project is to be really easy so you can get it done in your first week.
The second project will teach you about camera calibration, image thresholding, color spaces, and bird-eye-view. This second project is a bit more challenging but also teaches much more about Computer Vision.
👉 These two projects are very interesting and look very good. If you want to learn about Computer Vision, you will need these kinds of projects in your background.
However, note that none of the techniques taught in these two projects are actually used in the industry.
These techniques are nice to start in Computer Vision, but are not enough in the real world. It’s just an introduction to Computer Vision.
When I arrived in the autonomous shuttle company, one of my tasks was to design a lane line detection system.
I couldn’t use this, as I had to use Deep Learning.
Perception — Deep Learning
The Nanodegree then jumps to Deep Learning where you will build two projects: A traffic sign classifier, and a Behavioral Cloning project.
These two projects will teach you how to use Deep Learning in Computer Vision (highly needed) with practical approaches.
In the traffic sign classifier project where you’ll learn about Neural Networks and Convolutional Neural Network to classify images.
This was my first ever introduction to this and it was quite good.
In the behavioral cloning project, you will learn to use a self-driving car simulator to record data and annotate them and then train a model on this data to steer the wheel.
👉 These two projects are very nice to teach Deep Learning, the behavioral cloning project is also very impressive.
However, I here have the exact same comment as before: this is not used in self-driving cars!
If you’re looking for an overview of the technologies, it’s good! Just don’t expect to find real self-driving car code in these projects; even for the classification part. You can refer to my email “Why end-to-end Deep Learning is a fake dream” from last month for more information.
These four projects are part of the Perception section of the Nanodegree.
It’s all in Python. The rest is about the other modules of self-driving vehicles; and it’s in C++.
Sensor Fusion & Localization — Bayesian Filters
The next project is about Sensor Fusion and Localization.
In Sensor Fusion, you will learn what Kalman Filters are and how to use Extended Kalman Filters to fuse data from RADAR and LiDAR.
It’s nice and challenging; quite advanced too. The project is however not very visual; maybe they changed it so it looks like the Sensor Fusion Nanodegree?
In Localization, you will learn about Particle Filters, another type of Bayes Filters.
This is also great but I have the same comment; you can’t really show this to a recruiter and expect to impress.
👉 The course content is really good. It is taught by Mercedes Benz team.
One bad point is that the projects are not very intuitive and appealing. I’m not sure if they changed this.
It was much better in the Sensor Fusion Nanodegree.
It’s all in C++, which is more challenging but also closer to reality.
Planning & Control — Work in Simulators
Finally, you will learn about Planning and Control.
Planning is about defining a trajectory, Control is about following it.
These two parts are in C++ using the simulator. To me, using the simulator is a very good thing since it allows for visually appealing projects.
In the planning section, you will learn about basic Artificial Intelligence (Dijkstra, A* algorithms), and you will have to design a highway driving algorithm. This is the most challenging project of the whole Nanodegree.
In the control section, you will learn about PID Controllers, used to determine a steering angle. They previously had an MPC section that disappeared in the nanodegree update.
👉 This introduction is quite good considering they could allow only a small portion of the course to each topic.
Coding a Real Self-Driving Car
Finally, you will put code in a real-self-driving car. I did it during the 9 months long Nanodegree, and it was one of the best experiences of my life.
I teamed up with 4 people, and we had to drive in a parking lot in a real self-driving car. To me, this is the main reason to purchase this course.
This projects will also teach you a lot about ROS, and autonomous vehicle architectures. With this project, the Nanodegree provides a unique experience, close to reality. You can literally code a self-driving car from your bedroom!
This project will be very challenging, and I thank my former partners for helping with it. This Nanodegree used to have a Slack which I found was one of the best thing we could have in the whole course. Thousands of students with the same interests could talk to eachother and learn together; it has been replaced with the Knowledge platform I find much less convenient.
Is the content up to date?
The content is very good to teach you what’s behind self-driving cars. Don’t expect to use it in real self-driving cars. The last project might be close to reality, but it using outdated versions of ROS, Ubuntu, and is done in Python; which is not ideal.
Generally, most of the content has been created over 3 years ago and is a bit outdated. Python 2.7 dependencies are no longer supported and the techniques taught are not state of the art.
When I first enrolled, there was a real hype around self-driving cars, and I felt at the cutting-edge. Today, this program needs a real refresh to make you feel that again.
Can you find a job with the Nanodegree?
Not many engineers know how self-driving cars work.
This program will give you projects that you can use and an excellent overview and understanding of self-driving cars.
However, this is just an overview where you code each part.
As every overview, you won’t dive deep into a topic.
- You won’t learn how to work with LiDARs
- You won’t learn cutting-edge Computer Vision
- You won’t learn algorithms for real-life planning and mapping
- You won’t learn to use GPS
- You won’t learn real control command systems
The program is an excellent overview, but you will need more to find a job, especially with high salaries.
This program motivated me to start and learn, but I then had to continue my road, choose a path, and dive deeper into it.
For example, if you enroll in the Sensor Fusion Engineer Nanodegree, you will go in depth of the Perception topic. For sure, you won’t know how Planning works, but you will have “job-ready” skills.
👉 If you need an overview, my SELF-DRIVING CARS guide provides it for much less.
Do I recommend it?
3 years ago, I would have told you to go with your eyes closed.
Today, I don’t. It’s a really great program, but it no longer makes you feel like you’re at the cutting-edge. It’s also quite outdated, similar to the Robotics Software Nanodegree.
Price
Small section on the price; it’s 359$ per month; for 6 months.
You can also pay in full for 1974$.
3 years ago, it was totally worth the price as I could find a high paying job, increase my skills, and be much more valuable in the market. Today, maybe it isn’t worth that much.
👉 At the time, I paid for 3 terms of 800€ each; so 2,400€ for the whole Nanodegree. The price has been almost divided by 2 since.
If you want to go with Udacity, I would recommend the Sensor Fusion Nanodegree or the Computer Vision Nanodegree. It’s much more focus on a topic and you will learn much more valuable skills.
You can read my review of the Sensor Fusion Nanodegree here.
The Self-Driving Car Engineer Nanodegree changed my life and I will forever be grateful. I could use this program to get a job as a Self-Driving Car Engineer and I could continue down a path.
However, I have been disappointed by the changes recently made: they removed every relevant project that could get you a job and removed the communication platform that was the best part of being enrolled in a Nanodegree.
Going through the end is a great accomplishment and I’m sure that you’ll love it if you enroll; just know what to expect. Visit the course here.
Jeremy Cohen.
Go Further
- Visit Think Autonomous’ webpage
- Receive the daily emails or simply enter you email below.