A clear trend is there are more and more web- and app developers out there. An article I read recently claimed there are now some 25 million software developers world-wide. True or not, loads of new software developers are coming out of the Universities these days. But how many of those have decent skills in embedded development?
As I talk to people in various parts of our industry, it becomes clear a major problem is the lack of skilled embedded developers, and in particular, the lack of Universities teaching proper embedded development nowadays.
I mean the real thing, students that know what a hardware register and an interrupt handler is, and at least have seen a disassembly listing once in life. Sadly, many Universities take the easy path and focus on higher-level software development only.
It is true that also the embedded industry advances. Readymade building blocks are now readily available, and the development tools help developers a lot more than before. Embedded developers need to spend less time on the really difficult low-level stuff. And with IoT, many development teams will take a readymade IoT platform and just add the application logic at the top - thus coming closer to the more simplified "app" development model.
But embedded development is profoundly different to PC-, web- or app development, even with better tools and readymade software components. The reason: custom designed hardware boards.
There will always have to be engineers that knows how to port those readymade platforms to custom designed hardware boards, add or modify device drivers for various sensors and actuators, and have to debug the stuff when the system doesn't boot as expected (anyone around to check the chip select or DRAM refresh configurations, initialization of the C language runtime system, or interrupt vector table definition in the linker file?).
During the last couple of decades, the embedded market has been projected to explode, as virtually any product now have some intelligence built into it. Add the IoT hype, and the expectations are skyrocketing - some 50 billion IoT devices are expected by 2025.
There is clearly a need for a lot of embedded developers in the future. I have no scientific data to prove it, but after listening to industry colleagues in various countries and continents, it appears the number of embedded developers coming out of Universities are reducing, as these academic institutions focus more on higher-level software industries, like web- or games development. At least relatively speaking, when the growth of our industry is factored-in.
And so, my belief is that embedded developers have a bright future indeed. Perhaps less so for the companies developing embedded systems, unless they will be able to find skilled engineers to staff their development teams in the future. A lack of skilled embedded developers might become a real problem onwards.
What is your opinion? How do you think the availability of skilled staff will affect embedded developers and their companies in the future?