For management, it's tempting to want to keep your top performers in their current roles. They're doing a great job; everything's under control. If move them to a different position, someone else will have to take over their job. You'll have to train that person and they might not be as good. It seems better to keep your programmer doing that job.
The problem is, programmers work in a world where there's always something new; most programmers have curious minds and want to try out the new technology. Forcing a programmer to stay in the same job makes it likely your developer will make the decision to move out, and you'll be even less prepared to cope with their absence.
Instead, recognize that retaining your top-performing programmers doesn't mean keeping them in the same role on the same team on the same project in the same department. Focus on offering them challenges that will keep them in your company while giving them the opportunity to learn and grow.
Let your developers move to new projects with different roles, responsibilities and technologies. Encourage your top individual contributors to take leadership roles or apply their technical insight to solving a new problem.
Help your talent discover and develop all their talents. Assign mentors who can help programmers envision their long-term career path. Offer support for continuing education, and don't restrict company support to training that's immediately applicable at work.
Monetary rewards are important; top programmers can definitely find well-paying work. But other rewards are also important; praise, both public and private, assures developers that their work is both noticed and appreciated.
Despite your efforts to retain top talent, sometimes they'll decide to leave anyway. When that happens, you need an effective recruiting process that will bring in someone equally good. When you work with The Armada Group, you leverage our 20 years of experience. We make sure we understand the role you're filling so the job description will attract the best candidates, we prescreen potential hires who respond to the description, and we help your team interview and evaluate the candidates. You'll quickly stop worrying about the employee who left and start focusing on how to retain the new talent on board.