At the macro level, the only solution is to increase the supply of qualified workers. Everyone understands this, and the education sector is booming as a result of this. At the micro level, companies (at least large ones) will increasingly shoulder the burden themselves. Some already do: Infosys runs what is probably the world's largest and most sophisticated training operation. Other companies are looking to follow suit. However, attrition rates are still high at Infosys (many hires leave after their training period).
I've been involved in the dynamic first-hand. Based on what I've seen, here are three recommendations I would make to alleviate the problem, at least at the micro level.
- Select for fit. This is as much a mis-allocation problem as a supply and demand problem. What I mean is that prospective employees often don't look at "soft" but important factors such as the work environment, the dynamics of their future team etc, when making their decision. The decision is usually based on compensation and, in some engineering positions, on the programming tools used and the complexity of the problem to be solved. This is a myopic view, and can often result in dissatisfied employees that are a poor fit in the new organization. Company recruiters do not focus on the "fit" either, and hire based on skills and experience, with the same result.
- Use better recruiting metrics. Today recruiters are often able to measure "yield" - the number of hires made from a specific source, so that they can focus their efforts on the highest yielding sources. However, in an environment where attrition rates are so high, yield is not enough. Recruiters should track the progress of personnel, and add a "longevity" metric to their "yield" metrics. Better yet, try and isolate those characteristics that describe the employees that end up staying longer. Select for those characteristics, and focus on those sources that provide the most people with them. Reinforce success.
- Build recruiting feedback loop. In addition to isolating those characteristics that tend to be associated with success at the company, find those that don't. When people leave the company, follow a standardized exit interview process and collect the data in a form that can be analyzed (the advantage of high attrition: you'll have a lot of data!). Isolate patterns to try and determine retrospectively what could have been done differently. If there is a consistent "fit" problem, start screening for those characteristics during the interview process. If there is a consistent "dissatisfaction" problem, try and remedy it by either adjusting expectations during the recruiting process, or by changing the company's practices.