If you are reading this, you likely are already aware of the problem faced by businesses throughout the US (in fact, the world): there are not enough competent, talented software developers and software engineers available to fill the many needs existing in today’s marketplace. According to TechServe Alliance, there are 8.08M IT/Engineering jobs open and the IT sector is at “Full Employment”.
If you have open needs for software developers, you probably are experiencing things like:
- Few or no applicants for open listings
- Short shelf life for any candidates you do find
- Salary demands that far outpace rate cards
- Project Deadlines being missed
- Current staff turning over due to lack of help or lure of “big money” offers
The market changes caused by the response to the Covid-19 pandemic (drastic shift to focus on work-from-home, the Great Resignation, etc.) did not cause the current problem, but they certainly have greatly exacerbated it. For years, the reality has been that we, as a society, haven’t been devoting enough resources to encourage, educate and train a sufficient number of people to address the demands of a rapidly growing technological influence in our lives. Ask anyone in the software development industry and they will tell you that the shortage of trained talent has been a problem for years. Now, however, the impact of the pandemic on the workforce has made it a lot worse. Technology needs and solutions have rapidly expanded, while the numbers of those able to work on the necessary projects, already an insufficient amount, has not kept up the pace.
Find a way to “stop the bleeding.
The first step, on a micro level, is for any business experiencing these talent-finding struggles to find a way to “stop the bleeding”. A shortage of software developers on your team means extra work is being asked of remaining team members, managers’ time is being devoted to interviews and searching for adequate team additions or replacements, the remaining over-worked members of the team are becoming frustrated and mistake-prone (and their email boxes are full of recruiting emails from other businesses looking to solve their problems by adding to yours). This domino effect can, eventually, spiral to the point of disaster.
To stop the bleeding, the first step is to take the heat off your current team and manager. Identify the current issues facing the software development team. By issues, I don’t mean the problems I’ve been outlining above, but the tasks and assignments that need to be done. Have the department managers identify these assignments and create a confined “project” that can be outsourced to an established reliable team. Ideally the project should be big enough to have a meaningful impact to reduce the pressures on your in-house team – typically a project with a scope that could be completed by a small to mid-sized team of developers within 6 months to a year.
We strongly believe that this type of project should not be “off-shored” or “near-shored” to an unknown team in a foreign country. This project is a short-term priority that needs done right without the time to address the MANY obstacles built in to offshoring projects.
Having bought some time by relieving the short-term stressors by outsourcing a specific small to mid-sized project, the next steps should be those of self-assessment.
Start a self-assessment of your hiring process.
Start the self-assessment by looking at the processes being used by your company to find talent. How long does it take from identifying the need, until the job is posted, resumes are reviewed, candidates are interviewed, decisions are made, and offers are extended? How many offers are made to candidates no longer available? What is the percentage rate of accepted offers? How long does the entire process take? Then ask yourself, if it is reasonable to believe that a strong candidate would wait that long for a decision in the current environment. As part of the self-assessment, you should not just be asking your managers or HR team, but speak to employees, candidates, and third-party vendors, as well. Ask them where the hold-ups are and how the process could be improved.
A Leadership IQ study in 2022 found that an astonishing 46% of jobs have to be “re-hired” as a result of bad first attempts. Essentially, that is a near 50% failure rate. Is there ANY OTHER aspect of your business where you tolerate a failure rate that high?
Next, examine your job descriptions. My first suggestion is to get your hiring manager to spend 15 minutes with HR for each job description and confirm that it accurately describes what the manager is looking for in the positions that are open. We have seen dozens of instances where there is a huge disconnect between the job description supplied by HR and the specific needs being sought by the hiring manager. Keep in mind that software development can be highly complex and that in many companies the HR departments aren’t regularly hiring Software Engineers and they don’t know the specific nuances of what might be needed. If the managers aren’t specifically reviewing the job descriptions being used in postings or provided to recruiters, there is a very good chance that the candidate funnel is receiving a lot of unmatched candidates. We’ve seen instances where several candidates who were extremely well qualified for the job described in a listing were rejected. After several exasperating failed interviews, the recruiter finally confronted the hiring manager with concern that the candidates were more than qualified, only to find out that the manager was looking for skills and experience that did not match the listing.
Another shortcoming in many job descriptions is relying on the need for a specific degree or experience level. Software development is one area where the stories of the self-taught are legendary throughout the industry. Examine each job and ask if the degree requirements set forth in the job description are necessary. Does it matter if the person does not have a bachelor’s degree in computer science if they have an associate’s degree in computer programming and five years of on-point experience writing the very types of code that you are looking for? We’ve seen instances where HR departments have held up hiring because a candidate with 15 years of relevant experience could not produce a copy of a diploma issued by a school that had gone out of business several decades before. Other instances where a company would not even interview people who had no degree, even though the candidate’s GitHub was full of relevant, impressive software projects and applications that demonstrated high skill.
In an environment where talent is short, you simply can’t afford to be eliminating qualified candidates based upon misplaced beliefs, antiquated information, or inaccurate benchmarks. Examine everything in your hiring procedure to find the unnecessary or outdated criteria that are serving as roadblocks in your hiring process.
Create your own, in-house training and development program.
Lastly, a more long-term approach to the problem is to start creating your own, in-house training and development program. Internships, bootcamps, coding schools and related training courses can start providing your company with talented home-grown solutions to the software shortage. Opening these opportunities to women and minorities who typically aren’t encouraged to pursue these avenues of employment allows you to tap into larger candidate populations that aren’t being pursued as hard by the competition.
A lot of the plan involves self-assessment of your hiring procedures, processes, and customs. The “we’ve always hired this way” mentality can be a huge obstacle. Keep reminding yourself that what you are doing is not working really well, so change should be less scary under those circumstances. The system is already broken. It’s not like the change is going to mess up a well-run system.
__________
Wayne Hippo is an owner and Managing Partner of PS Solutions, a software outsourcing and consulting firm with offices in Altoona, PA, Pittsburgh, PA, Wilmington, NC & Dallas, TX.
You can reach Wayne at whippo@usasoftwaresolutions.com