Home Insights Global team Why self-driving cars wouldn't make it without C++ in the role of C++ in automotive

Why self-driving cars wouldn’t make it without C++ in the role of C++ in automotive

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

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++ used for computer vision in self-driving cars. Source: OpenCV
A book with the title A guide to offshore developer rates
Offshore Developer Rates Guide

Get outsourcing rates in Eastern Europe, Asia, Latin America, Africa as well as tips on how to choose the country for offshore development.

Download a guide

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++ 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.

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.

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.

A book with the title Your guide to nearshore software development in Eastern Ukraine
Guide to Nearshore Software Development in Eastern Europe

Software development market statistics of the tech countries — Poland, Ukraine, Romania, Czech Republic, Hungary, Bulgaria, Belarus, and Croatia.

Download a guide

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).
 

Countries C++ 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

Average Salary of C++ programmers in the world

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. 

City C++ 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

Average C++ Programmer Salary in the US by City

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++ Programmer Salary in Ukraine. Source: dou.ua
A book with the title How to calculate software development costs
How to Calculate Offshore Software Development Costs in 2022

Everything you need to know about offshore software development cost structure: direct costs, ad-hoc costs, offshore developer rates, and more.

Download a guide

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, Poland, Moldova, and Romania.

As one of the top global technology services providers focused on digital transformation, Grid Dynamics offers access to this elite talent pool. Our delivery centers across the Americas, Europe, and India enable us to rapidly deliver dedicated teams with niche capabilities.

With Grid Dynamics, you can begin by hiring less and gradually grow into a cross-functional dedicated development team with programmers, BAs, QAs, UI/UX designers, and other specialists. So, if you’re looking for a C++ programmer, all you need to do is share your requirements with us, and our expert team will find the best fit for your project.

Get in touch

We'd love to hear from you. Please provide us with your preferred contact method so we can be sure to reach you.

    Why self-driving cars wouldn’t make it without C++ in the role of C++ in automotive

    Thank you for getting in touch with Grid Dynamics!

    Your inquiry will be directed to the appropriate team and we will get back to you as soon as possible.

    check

    Something went wrong...

    There are possible difficulties with connection or other issues.
    Please try again after some time.

    Retry