Home Blog Trends Why Self-Driving Cars Wouldn't Make It without C++ I The Role of C++ in Automotive
blog

Why Self-Driving Cars Wouldn't Make It without C++ I The Role of C++ in Automotive

Posted Trends

C++ and the automotive industry have become deeply intertwined over the last four decades. In the early 80s, engineers used C (the predecessor of C++) to make electronically controlled ignition and fuel injection systems, and today electronics comprise 35% of the car’s price.

Over the last decade, C++ has been evolving so fast that programmers could already create next-level functions and defense features long before complying with ISO 26262 was mandatory. 

Keep reading to learn why self-driving car manufacturers develop their software on C++, how many C++ programmers there are in the world, and how much they earn in Europe, the US, and Australia.
 


Is C++ Still Used in the Automotive Industry? Yes, Here's How

1. The main computer vision and image recognition libraries and frameworks are written in C++

Computer vision and image recognition are the eyes of autonomous cars. And it just so happened that C++ is great for orchestrating multiple sensors and indicators.

OpenCV is a major computer vision library written in C++. With OpenCV, you can transform, resize, change the colors of images; perform contour finding, gaussian blurring, and edge detection; read images in a matrix of pixels. And Tensorflow, a C++ framework, is still the most popular framework used for deep learning.

Without these technologies, Tesla cars would be blind. But what really makes the magic work is the speed with which C++ processes data.

c-automotive

C++ used for computer vision in self-driving cars. Source: OpenCV

2. C++ is the mother language of embedded systems

Engine control units (ECUs) in the embedded system are best controlled and programmed in C++ because the code can run high-level structured programming on low-level mechanisms.

Smart cars have at least 100 ECUs that fulfill versatile functions—from basic ones (engine ignition and power steering control) to comfort, access, and security.

So, a large number of ECUs run the transmission control, infotainment, engine management, passive and active safety systems (ABS and ADAS), navigation, security, and climate.

c-embedded-automotive

C++ is the top coding language for embedded in automotive. Source: Kpit

All the costly hardware and software built into the car create a safe and comfortable environment for the passengers and comprises around 35% of the automobile's price.

3. C++ meets the functional safety demands of the automotive industry and the ISO 26262 standard

C++ complies with performance security, functional safety, and behavioural requirements listed in ISO 26262 — the mandatory international automotive security requirements for manufacturers.

According to ISO 26262’s latest requirements, automotive manufacturers should:

  • Make software scalable and easy to update and integrate with multiple suppliers
  • Show dependability in terms of libraries, components, tooling, ASIL qualified components, etc.
  • Create optimized and performant software

The language supports many libraries, and it's compatible with cross-platform compilers that cover most CPU classes.

C++ checks all boxes in ISO 26262 requirements list which makes it the best choice for development in automotive.

4. C++ is a hot skill for autonomous vehicle programmers

C++ is fast, powerful, and suitable for embedded development. Automotive leaders such as Tesla, Apple, Ford, General Motors, and others have led to a surge of C++ programmers. 

A study by Indeed claims that Aptiv and Nvidia are the top C++ vehicle programmer employers in Detroit and Silicon Valley.

Skill-wise, automotive companies are most interested in programmers who code in C++ or C. 

After that, it’s Python programmers and developers with experience in image processing, artificial intelligence, and machine learning.

5. C++ makes self-driving cars a reality

It’s hard to overestimate the importance of C++ in the automotive industry since not only does it provide comfort but also allows road vehicles to make data-based decisions independently.

The once-simple ECUs are now intertwined into complex and well-balanced systems that decide when to stop, start a car, cool it down, and many other micro decisions that, not long ago, were the driver’s responsibility.

Hottest skills for vehicle programmers (Indeed):

  • Programming in C or C++
  • Programming in Python
  • Image processing
  • Artificial intelligence
  • Machine learning

Number of C++ Programmers in the World

The automotive industry gave a new reason for developers to learn C++, a 35-year-old programming language.

According to the TIOBE index, C++ takes fourth place among the most popular languages in the world.

In 2018, there were around 4.4 million C++ programmers and the number will reach 5.4 million by the end of 2021.

The global automotive industry is now worth $2.7 billion, with China, the US, and India being the largest automotive markets in the world. In the US only, the industry employs around 1.7 million specialists.

As we know, manufacturing and software development aren’t always done at the same place. So, where do self-driving and autonomous car manufacturers find and hire C++ developers?

Unlike JavaScript and Python, C++ has a slow learning curve. Nonetheless, it’s been well-adopted in the Eastern European countries such as Ukraine, Belarus, Poland, and others. 

For instance, Ukraine has the largest number of C++ and Unity3D developers in the world. Don’t fancy C++? Ukraine’s a perfect place to hire Python programmers for automotive development, too.

Salary of C++ Programmers in the World

The highest salaries of C++ programmers in the automotive industry are seen in Australia (US $118,705), the US ($117,874), and Denmark ($81,516). Meanwhile, the lowest average salaries are seen in Ukraine ($30,400) and Sweden ($55,703).
 

Average Salary of C++ Programmers in the World
CountriesC++ Programmer Salary
Ukraine$30,400 dou.ua
Sweden$55,703 Average Salary Survey
Germany$58,897 SalaryExplorer
the Netherlands$73,644 SalaryExplorer
the UK$76,203 Indeed
Denmark$81,516 SalaryExplorer
Australia$118,705 Indeed

California is the highest-paying state in the US; the average annual salary reaches $125,468 in Santa Clara, CA, $125,430 in San Francisco, and $120,428 in Fremont, CA. 

Average C++ Programmer Salary in the US by City
CityC++ Programmer Salary
Santa Clara, CA$125,468
San Francisco, CA$125,430
Fremont, CA$120,428
San Jose, CA$117,874
Alexandria, VA$117,004
Oakland, CA$116,597

The country with the largest number of C++ programmers in the world—Ukraine—offers average salaries that range from $1000 per month for a junior C++ programmer to $1500-$2200 for middle, and $3500-$4000 for senior programmers.

C++ developer salary automotive

C++ Programmer Salary in Ukraine. Source: dou.ua

Why Hire C++ Developers in Eastern Europe?

Talent shortage is one of the major factors slowing the advance of the automotive industry. C++ developers are in demand and, as we can see from the salary discussion above, they receive quite different salaries for more or less the same set of skills.

Automotive giants and startups alike surge for C++ developers in large outsourcing destinations such as Eastern European countries — Ukraine, Belarus, Poland, and Hungary.

Relevant statistics about Ukraine:

  • Ukraine has the largest number of C++ programmers in the world.
  • There are around 200K software developers in Ukraine and 4.6% of them use C++ as their primary programming language.
  • Average C++ salaries in Ukraine range between $1000-$4000 per month, which is considerably lower than in the rest of the world.
  • C++ takes 7th place among the most popular programming languages in Ukraine.
  • Approximately 62.4% of C++ programmers would recommend using C++ in their next project.
  • The average C++ programmer in Ukraine has 6 years of experience in development.
  • C++ is the first programming language of 19.7% of beginners in Ukraine.

Numerous Ukrainian C++ programmers work in software development outsourcing companies that engineer automotive solutions for large American and European tech companies.

Hiring a perfect C++ programmer for automotive projects is a tricky task, and Daxx has a great deal of expertise in picking the right candidates for clients all around the world.

So, if you’re looking for a C++ programmer, all you should do is share your expectations and requirements with us, and our dedicated recruiters and sales representatives will reach you out.

With Daxx, you can begin by hiring one programmer and gradually grow into a cross-functional dedicated development team with programmers, BAs, QAs, UI/UX designers, and other specialists.
 

 

name

Kateryna Kachkovska

Content Marketing Manager

Kateryna is a Content Marketing Manager at Daxx driven to help business owners make data-based decisions. Feel free to contact her with offers on content promotion and collaboration.

Share this article