Companies seeking the expertise and knowledge of both high level and embedded software are sometimes tempted to try and hire someone who is capable of doing both. After all, hiring someone with both sets of skills rather than two individuals is in theory very appealing for obvious financial and efficiency reasons. This is especially true for start-ups, where cost saving and multi-talented employees can be essential for long term success. Surely it makes sense to search for that ‘perfect’ multi-faceted candidate?
The reality is different. Application and embedded software are two very different specialities. Such are the complexities of each that they require developers to pursue divergent career paths. This starts early – high level software developers will usually have graduated from degrees in the Computer Science realm, while embedded software professionals will often have Electronics, Physics or Mathematics degrees. Only the exceptionally talented (and committed) master both ends of the software spectrum, and it’s generally a poor career decision to become a ‘jack-of-all-trades’ rather than a master of one (or t’other).
This is often true even within each respective end of the software spectrum. As technology advances, high level and embedded software roles become more and more specialised.
It’s not only a matter of talent, but the logistics of the role itself. The components of the job vary significantly. Having a member of your team going back and forth between the two tasks is inefficient and costly – both in terms of quantity (developed) and, crucially, quality (delivered to customers).
That’s not to say there is no crossover possible within the software landscape. Skills and application knowledge of high level software developers can often be applied to web or desktop based projects. DSP engineering experience may be transferable to some embedded software roles. Also there may be software testers with strong enough Python skills to test at both ends of the spectrum.
But even in those cases, the expectation from the candidate is normally that the role will focus on one area or the other rather than both. This goes back to the issue of having one employee balancing two very different roles – the career path becomes unclear.
If you do have both high level and embedded software positions to fill, start by deciding which area is most mission critical. A solution is to hire one permanent employee for the higher priority position while hiring a contractor for the second requirement. This can give you the insight into exactly what your business requires long term without as much at stake. Equally importantly, it means that you have a realistic chance of addressing the roles quickly – which will save thousands or indeed hundreds of thousands of pounds, as you’ll fill your ‘empty seats’ and deliver those critical projects more quickly and with better quality.
So next time you’re about to write a job description for the ‘unicorn’ candidate with dozens of ‘must haves’, step away from the computer, makes yourself a cup of tea, and think about the cost of that role being vacant for a month of Mondays.