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++ 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++ 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?
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|
|Sweden||$55,703 Average Salary Survey|
|the Netherlands||$73,644 SalaryExplorer|
|the UK||$76,203 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.
|City||C++ Programmer Salary|
|Santa Clara, CA||$125,468|
|San Francisco, CA||$125,430|
|San Jose, CA||$117,874|
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
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.
Grid Dynamics is a digital-native technology services provider that accelerates growth and bolsters competitive advantage for Fortune 1000 companies. The company has 15+ years of experience in digital transformation and software innovation, most notably open-source cloud-native programs.
Our clients have the option of choosing the engagement model which best suits their requirements, including team extension, dedicated teams, pod teams, and remote development centers. Grid Dynamics has offices throughout Eastern Europe and Central Europe and Latin America, meaning that we have the resources to cater to the needs of companies of any size, no matter where they are located.
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 out.
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.