Leading and Retaining Developers

Vitor Braggion - Aug 7 - - Dev Community

It is clear how much companies strive to retain software engineers, developers, data scientists, and other technology professionals. They try to make the work environment as cool as possible by providing in-office amenities like popcorn machines, various snacks, fridges stocked with beer and soda, ping-pong tables, video games, bean bags, and even offering to pay for technology courses, English lessons, access to Netflix, Spotify, and many other attractive benefits.

But is all this effort rewarded? Do they really manage to retain their tech teams? There is data showing that despite these incredible benefits and offices that look more like playgrounds, tech companies struggle to retain their tech professionals. There are always developers leaving to start a new journey at another company, and new people come in.

You might not expect it, but even giant companies in the sector, like those on the Fortune 500 list, tend to suffer from high turnover rates. Google, for example, has an average employee tenure of 1.1 years, even though many developers dream of working there. At Amazon, this "tenure" is only one year. Apple has the best turnover rate among tech companies, with an average tenure of just two years. We can see details of this information in the employee turnover report from Payscale and the LinkedIn report, which reveals that the tech sector has the highest turnover rates. But why this high turnover?

I don't know the answer, but I believe factors such as the high demand for tech jobs with high salaries and the interest of young professionals in different technical challenges and new work environments explain part of this "traffic". The search for companies that align with their personal values and enjoy change may also justify this movement of young professionals within tech companies.

Every entrepreneur and manager knows how detrimental high turnover is for a company. They spend time and resources to find/hire, then for training, and it takes time for the new employee to truly deliver the expected value. It is difficult to control this turnover, but good leadership is crucial in helping retain talent. Here are some tips I've learned in practice, working in various places, starting my own startups, reading many books, and learning from great leaders:

"I believe that good leadership can help creative people stay on the path to excellence, no matter the business they are in." - Ed Catmull, co-founder of Pixar and president of Walt Disney Animation Studios

1. Give autonomy to your team members

****Many managers tend to centralize everything, wanting it done their way. Don't make this mistake. Believe in your team's potential, give them the autonomy to choose the best solution for something and solve problems.

"I believe managers must loosen the controls, not tighten them. They must have the ability to trust those they work with and to accept risks. They must pay attention to and engage anything that creates fear." - Ed Catmull, co-founder of Pixar and president of Walt Disney Animation Studios

2. Don't impose, make them question**

When you give your team members the freedom to think of the best solution to a problem or suggest something, if a solution or suggestion doesn't make sense in your view and you think it's better not to do it as suggested, don't just impose something, make them reflect on the decision, raise arguments for why you think it's not the best choice and make them interact and think about the solution. If your argument really makes sense, it's likely they'll start agreeing with you.

Many people say that Steve Jobs liked and listened more to those who defended their ideas because he believed that if someone defended something so strongly, it was because they had a strong foundation for it. So don't be upset if someone defends their idea. Listen and try to understand as well; it might be a much better solution.

3. Leaders create leaders**

Help employees improve themselves professionally and personally. Create a culture where the goal is for everyone to improve themselves and help each other. This attitude will build a network of leaders in your company, where each one will form new leaders. If this happens, your work environment will definitely improve.

4. Create self-managing Squads, without defining a leader**

Follow agile development principles. Create small teams with complementary profiles (instead of defining a leader) and set goals for this squad. Over time, this squad will organically form a leader who will guide everyone towards the same goal. A leader is created by examples, not titles. The one who has the best example and is best at serving will be followed by the team. We can observe that when we have to do group work, a leader always emerges, even when it comes to children. In the nature as animal's group, a leader also emerges organically. This is natural.

"Getting the right people and the right chemistry is more important than getting the right idea." - Ed Catmull, co-founder of Pixar and president of Walt Disney Animation Studios

5. People like recognition**

Show each team member that they are important and that they belong to the team because you believe in their potential. Sometimes there's no need to say it, just with small gestures, this belonging will be understood. Simple gestures, like listening to them and including them in important decisions, help with this challenge.

When you recognize a skill in someone, it makes them feel good about themselves. Consequently, this will make them like you and will improve the work environment, as people will work happily and motivated, transmitting this energy to other members of the company.

6. Developers like technical challenges**

So far, I've never met a professional in the tech field who doesn't like technical challenges. If you find someone who doesn't, they probably don't like the field (laughs). Everyone likes to surpass themselves and learn more. I like to say that a technical challenge is like solving a puzzle: if you solve an easy puzzle, you'll get bored. But if it's difficult, where you have to think a lot, then this challenge will captivate you, and you'll probably spend nights trying to solve it or sleep thinking about it.

Being in a technically challenging environment is very similar to the state of flow, which is that state where we are extremely focused and motivated, spending hours doing something without noticing the time passing.

7. Give your team freedom and remember that everyone has a personal life

Give your team the freedom to:

Work at the time they find best; everyone has times when they can perform better. Obviously without misaligning with the rest of the team. Work from wherever they feel best, be it a specific place or with someone they have more affinity with. Choose their vacation dates. Obviously, without disrupting the progress of a project.

I developed these tips based on what I've read and experienced in practice. I worked at many companies as a developer that gave me total work freedom, greater technical challenges, and recognition, and others that gave practically none of these points I mentioned. Personally, at those that gave me this freedom, I worked with much more pleasure, always producing more than asked, and felt completely happy. This happiness was like fuel to work more efficiently and effectively. I even turned down offers from companies that offered me a much higher salary.

When I started my tech company, I kept in mind that I would try to create a pleasant environment. With that, as new developers joined, I applied these learnings and, as a result of this stance, I saw developers resembling me at that time and as motivated as I was in that pleasant environment. Everyone involved in a greater cause always delivered more than we asked, gave many amazing suggestions that we started to use, and ended up creating an environment of total knowledge sharing, with one passing content to others. It was incredible to see this happening in practice.

I hope you enjoyed it!

Regards,
Vitor Braggion

. . . . .
Terabox Video Player