To keep talented programmers on staff, it's important to offer them a pleasant place to work, plenty of chances to expand their knowledge, a fair salary, and public acknowledgment of their successes. Maintain open lines of communication with your staff and provide them with feedback and assistance as needed.