Key players such as Volkswagen and Volvo have stated their intention to become software companies first and foremost, signalling a sea-change in industry thinking as customers demand ever more connected experiences from their cars.
To drive this change, car makers must recruit thousands of new software developers as they seek to more than double the amount of code that is written in-house. However, in the interests of churning out graduates in greater numbers, some universities have dumbed-down their curriculums, leading to a loss of analytical skills that are crucial to the industry.
"Today's courses tend to focus on high-level software tools that generate code for you," says Tom Blackie, CEO, VNC Automotive. "While they have an important role to play in removing much of the grunt-work of software development, we've found this increased abstraction tends to produce graduates with little understanding of how a computer actually works."
Automated tools that quickly deploy reusable chunks of code for the most commonly used functions, such as interpreting user input or rendering graphical displays, can speed up development and reduce a product's time-to-market. However, over-reliance on these predefined building blocks can lead to inefficiencies that can be measured in terms of memory footprint, speed and power consumption.
"Previous generations of software developers cut their teeth on home computers with very limited resources," explains Blackie. "Sat in a bedroom with only 32KB to play with forced them to learn how to write incredibly tight, well-optimised code and, thanks to pioneers such as Acorn Computers and the BBC Micro, Britain quickly became a nation of coders. We need to recapture that spirit of efficiency by teaching our graduates how a CPU actually works, how best to utilise memory efficiently, and how to optimise code so that it reduces power consumption – something that's critical as the industry becomes increasingly electrified."
The modern equivalent of those early self-taught engineers might be a tinkerer with an Arduino or a Raspberry Pi. Both help teach how to write code that executes 'close to the metal', a skill that's vital for the development of embedded software that today controls everything in cars from unlocking the doors to turning on the wipers.
"We engage with the computer labs and undergraduates here in Cambridge to help illustrate where the solutions we develop might be deployed. It's incredibly exciting as a student to see your code running on the dashboard of a car, interacting with the customer, and a nice contrast to some jobs that might see their efforts being confined to a legacy server somewhere that never sees the light of day."
Many of the German automotive OEMs have created a culture of nurturing courses at nearby universities, allowing them to steer course content in a way that ensures a steady supply of new talent. In America, Silicon Valley often dictates the path for graduates and that has established a culture of its own.
"We need to be doing the same," says Blackie. "Let's entice more young developers into the industry by creating a sense of pride in seeing their code being used in real life, while at the same time teaching them how to build it in an efficient way."