True story: The software product development team is 8 people. The average age in the R&D is 31. All engineers work for the company for at least 3 years. Everybody in the team can jump on various tasks like database, middleware, UI, report generator – even testing! Team needs to grow for 2 or 3 more engineers. Job ad published on several portals for already 10 months but no candidate matches the desired skill profile.
Sounds familiar? Here's why...
Your expectations on the labor market are not realistic
The skill profile you are asking for does not exist outside of your own company. No one except you uses the same combination of technologies. Well, maybe your competitor does...
Alternative: Nearshore software development?
Your thinking: Ok, the Western Europe market lacks about 1 million IT experts. That might be the reason why no candidate with matching skills apply. Let's outsource some work to one of the 5000 custom application development companies in South or East Europe!
That must be possible, right? Short: nope!
Characteristics of custom application development companies
A successful nearshore software service provider is highly optimized for 3 things:
recruiting new talents from a big pool
have experts available for their clients in zero-time
avoid people to sit around a client scales team down
As you can imagine "a good C++ developer with WPF experience and some Oracle PL/SQL knowledge" is not something a service company is very eager to offer.
recruiting such profiles is not a standard process. It's more looking for the needle in the haystack. It takes time, doesn't for the standard recruiting process and is therefore expensive.
since the recruiting process takes long such candidates won't be available to the client in zero-time. Very likely the client moves on before a candidate can be identified.
Due to this very individual skill requirement, there's a very high risk that when the client scales down at some point the candidate has no follow-up project with another client. A lose-lose situation for the service provider and for the engineer.
That is the reason why it is very unlikely to find those special skills within software services companies.
So, what's left? How to solve this problem?
There is no short term solution to the problem. The mid term solution is to leave the existing comfort zone and realize as soon as possible that such engineers can't be employed nor subcontracted.
A reorganization in the software development team is needed to be open and ready for scale. Existing team members, even if they are allrounders, have to specialize and build subject matter expertise instead. A new team member, employed or subcontracted, with a limited but realistic set of skills can join a subject matter teams instead of being an allrounder.
Subject matter-centric documentation, onboarding and trainings, as well as a smart assignment of tasks are required to make that shift.
Few nearshore software development companies (Serengeti is among them!) do help their clients on that journey in regular coaching sessions while doing a real project together.