© 2001 Johanna Rothman
“New England high tech jobs going unfilled” — headline in a recent Boston Globe
“If you have more open requisitions than candidates, hire the ones who can breathe.” — Jerry Weinberg, private conversation
Even the popular press has caught on to the software “crisis” of not enough people. The Globe reporter carefully asked the questions, and received factual answers about the kinds of open jobs, and how long the jobs had been unfilled. Unfortunately, the reporter didn’t ask, or at least, didn’t report on the most important questions:
- Should these planned projects be done?
- Could you do these projects in less time with fewer people?
- If a job is open too long, what do you do then?
Many smart people think the software worker shortage could slow the economy. In other circumstances, when people face a scarce resource, they look for ways to use that resource most effectively. Many of the organizations I work with have not changed how they use their people resources– they still spend too much time in meetings, they waste time in development, and the way they approach integration and testing guarantees more time will be spent on this project. I don’t see companies changing the way they use people, so I’m not convinced we have a crisis in software staffing.
What if the worker shortage could actually speed up the economy?
“We can’t do business as usual. We don’t have the time or the people. So, we run and staff our projects differently. Instead of integrating our product and fixing problems at the end of development, we compile and build every night. Whoever breaks the build fixes it. We try to get our user interface defined early, so the testers can write a bunch of automated tests from the GUI, and then do more exploratory testing at the end, to find the really Bad Bugs. We have more short projects (4-6 months) with small teams (5-6 people), and we’ve met every deadline we’ve scheduled for the past year. We’re getting more software done with less aggravation than we could have imagined before.” — VP Engineering, Boston area company.
This VP decided to change the way the organization went about developing, testing, and releasing software. At first, he and his staff were suspicious about going to shorter smaller projects. After the first year, he and his staff realized that they’d stopped doing projects “because we always have”, typically maintenance projects, that having fewer people on a project helped get things done faster, and that by changing a few practices, the quality of their software dramatically improved.
Now that they’re not behind on all their projects, they can afford to hire slowly, and hire the people who fit into their culture, not just anyone who’s breathing. Contrast that ability to hire easily with this experience:
“I was looking for someone to be the test lead for our next project. Yes, I had a tight job description, but that person has to know a ton of stuff to be successful here. The person also has to be able to run technical rings around the developers. No, I’m not willing to pay more for the position. No, I don’t see how to divide the work up into two jobs.
Well, I didn’t find anyone, and now I’m trying to do the test lead’s work, and my management work. I’m not being successful. Some days I focus on the project, and some days I focus on the management, but I’m not doing everything I want to do. I’m not succeeding as a test lead or as a manager. I don’t know what I’m going to do. If I don’t find someone soon, I’ll have to be the test lead on another project. I’ll never make it.” –Software Test Manager
This test manager has been successful working in a specific way. He’s stuck, and is so stressed from the demands of trying to do two jobs that he’s not thinking well. Another manager ran into some of the same problems and was able to find an alternative solution:
“We had a job req open for three months. The recruiters didn’t even want to talk to me anymore. They kept telling me that job description was too strict. We would never find anyone with that experience for what we were willing to pay. I finally got my boss to agree to increase the salary, and then we found someone with about 35 years of experience. He didn’t have the specific tool experience we needed, but he showed us he learned quickly, and was able to learn the tools we needed him to learn. This employee has been worth much more than we pay him. He’s a technical leader in the group, and he’s shown a bunch of the less senior people how to learn something new quickly. He’s a real asset to our organization.” Quality Manager at a web startup
There are more people available than you may realize. If you’re having trouble hiring, check:
- Are you willing to pay enough money for the kind of candidates you want to see? If the salary range is too low, you may not be able to afford someone who could do the job you want done.
- Are you ruling out people who may not have specific tool or language experience, even if they have evidence of being able to learn new things? Especially look at engineers with 20 or 30 years of experience. They may be great at learning new things, something they may not know how to articulate on a resume.
- Are you ruling out people who haven’t worked at your kind of company before, even if you haven’t talked to them? Not everyone has your kind of company experience, but they may be adaptable to your situation.
- Are you trying to hire one person when you should be looking for two people? Should you split the job into more than one role? If you have a huge laundry list for a job description, reconsider how the job should work.
Not all work in your organization should get done. Consider which work you need to accomplish, and reconsider the ways you get it done. You won’t have to hire only people who can breathe; you can hire people who are an asset to your company.