Companies are mainly responsible for such exodus, they fool candidates with empty promises and try to get them at low salaries, and also ill treat then in all ways once they are in, no technical worker is happy with the management as a result. It is simple exploitation going in everywhere, so the technical worker does not develop any attachment with the company. There is no respect for technical people in the IT industry, they are treated like coolies and nothing more. So they look only at money and keep changing jobs, nothing wrong in it. Company managers are only interested in exploiting the coolies, and their vested interests. Ask any tech guy if he has got any of his reimbursment properly paid, ask if he has got work in his work area, ask if any of his joining promises are fulfilled? answer would be a big NO. Treat the tech guys well, pay them good salaries, more importantly respect them, and then see the result.