What will happen when your project lose a few key people? Good software developers are hard to find, especially when they work well as a team. Even when you find replaceable people with the right skills, they may not work well with the team. Personal conflicts is a common issue in every software project. When a project team works well with each others, it is important to keep them together as long as possible.
Many managers do not understand that when people leave the company, they also take their skills and knowledge with them. In addition to technical skills, they also have the knowledge about your company business processes and it could be a disaster if they work for your competitors. These are things that managers must seriously consider as it would be costly to find replacement and train them. The question is: How can you avoid employee turnover and keep team members to stay for a long time with your company?
It is easy to conclude that the reason people leave is about money as the best way to get more money is to change job for better pay. However, as I interviewed several hundreds software developers, money is NOT the main reason but the work environment and management. If developers are happy with their jobs and their managers, they will not consider leaving. If not, they will leave for equal or even less pay elsewhere. Unless you are paying them for much less than the market value, I think we should eliminate the money factor as the main reason for people to leave.
I believe the best way to keep top software developers to stay is to help them advancing their careers via additional trainings. Software developers like to learn new things to keep up with the change in the industry. For example, when they first come to work, they are eager to learn because what industry offers is new challenge that they never encounter in school. They learn new processes, new tools, new technology, working with new friends. However, after few years, they becomes familiar with the work, the tools, the process so working environment become a routine and monotonous. Without new challenge, they will be bored and maybe looking for something else to explore.
As managers, you should let developers know that you are interested in working with them for a long time and willing to help them as much as you can. You should know each developers individually and find out their career goals and desires. You should ask them what they want to do and what they want to learn as each person is different. Of course, what challenges they seek and what motivates them may differ but overall, you should let them tell you about their wishes. You may find out that some prefer to work on existing projects with familiar tools and process but others prefer to work on new project with new technologies. Try to keep your developers working on things they enjoy. If they want to learn something new, offer to train them on the latest technology, sending them to technical classes, seminars, and offer to pay for additional trainings as condition that they stay for a period of time. My friend who own a software company has it on contract that for every additional class or seminar that his company paid for, the developers should stay an additional 6 months. If they leave, they have to reimburse the training costs. By investing in educations, giving his people more challenging works he is able to keep a very highly skilled and motivated team.
Another thing that make people happy is reward them with technology gadgets. My friend gives his developers new mobile phone every year, as long as they stay with the company, they can keep it. This year the gift is an iPhone and he told me that the cost for the phone is nothing comparing to the cost of losing highly skilled employees. This incentive go a long way towards pleasing developers and keep the working environment more productive.
One of the reasons that people leave is burnout. Software work is tedious and stressful with many meetings, technical changes, errors, tests and more tests. Most software developers work more than 8 hours a day so burnout is a major issue. Sometime, change job to get away from stress is the solution. As managers, it is important to nurture your people and keep them from getting to the burnout point. The best way to keep a healthy work environment is having extra activities to relieve stress. My friend allows his developers to play sports after work everyday. He has ping pong tables set up and have tournaments among his workers, he also organizes social activities such as dancing, karaoke on week-end to keep his developers happy. He told me that a team that has fun together is much more likely to work together well. As they enjoy working with each other and help each other, the productivity improves and of course, his business benefits from it. With high job satisfaction among employees, he has no employee turnover in the past several years. He summarized his formula to success as: “Identify good developers, find out what they want, pay them well, keep them happy, train them on new things, build good teamwork and nurture them just like members of family”. That is why his company is one of the fastest growing company in Silicon Valley today.
I hope by sharing his formula for success, some of you may be able to replicate that to your success. Remember that it is the people who contribute to the company and losing key people is something you should avoid at all cost.