Retention of engineers has suffered in the post-COVID era, with the great resignation drive also impacting Engineering departments significantly. Although the situation has gotten better recently, the danger is still lurking. In my opinion, a large part of the problem is that managers are not spending time developing their engineering staff. Lack of growth takes away job satisfaction, especially for high performing individuals. That is why managers need to focus on developing engineers.
What is development?
Development is the process of taking a series of actions to enhance growth within the team. We must ensure that our engineers are growing at a consistent rate. To execute a consistent growth, we must enhance their skill sets such as learning new languages, new databases, new software, and new design patterns. These are the most common growth areas for most engineers.
But skill development is just one aspect of the role; human interaction plays a critical component as well. Engineers must be able to communicate on a higher level and interact with other engineers, managers and business stakeholders. This is an essential step in building a strong foundation for a successful career. Of course, there are many other building blocks to develop, but fundamentally if you focus on these two areas, skills and human interaction, you will see significant benefit.
Why invest time in developing people?
There are countless reasons why you should invest time in developing your engineering staff. Here are some of them:
- Making sure your staff is continuously stimulated and challenged to prevent boredom. Teaching and challenging them will help develop their minds to think differently, and thus is a tool for retention.
- Continued education is essential for engineers to have longevity in their roles/careers. New technologies are being developed and introduced constantly. Training is essential to ensure an outdated tech stack is not being used.
- Opportunities to learn new things will also test their skillsets, giving managers a better scope of where their team capability stands.
- As your organization grows, you will need new leaders. Promoting from within builds confidence in those that have not reached that level as of yet. Investing in your staff’s knowledge at all levels helps the bigger picture.
- Developing staff will ensure that your teams operate efficiently and increase productivity, which will produce sophisticated solutions.
- Better communication among team members will enhance the group/ employee experience and increase camaraderie and decrease turnover rates. As your teams feel valued and supported in their roles, they will continue to produce successfully.
How to develop people?
At a fundamental level, I think there are three things you need to do to develop people:
Of the three things mentioned above, feedback is the most important in my opinion.
Feedback plays a major role in an employee’s success, training and development. If a team member makes an error, it should be addressed immediately. Approaching the situation with positive reinforcement will be a teachable moment for all involved. Feedback should also be positive as well. Reinforcing positive actions is just as necessary as addressing unwanted actions. It could be seen as cliche, but I will still say it — praise publicly and criticize privately. In my experience, giving feedback immediately, good or bad, works better than waiting for the next scheduled meeting or the next formal opportunity. Making feedback more of a routine takes the fear away and makes it more conversational.
At GumGum, we ensure that all staff get an ample opportunity to attend as many training sessions as possible. We provide training such as unconscious bias, management training, conferences, and opportunities for vendor training (AWS, Databricks, Snowflake etc). We also have allotted budget for our team members to use on educational resources, such as buying books or courses such as those on Coursera or Udemy. Training is key to an engineer’s success as well as the organization.
Many people are hands-on learners; learning by doing or attempting a task instead of reading about it. In order to develop people, you must give them opportunities. Meaning, you need to give them a variety of tasks and different levels of responsibility, and guide them while they are doing the new or different kind of task. Some other examples involve: giving ownership of a project, asking them to present in a meeting, and having them interface with business stakeholders. This can be a big win-win situation because you can achieve your delegation target by giving your team members these tasks! This is how you are going to find out about their true potential, strength and weaknesses as well!
It is very important to note that there is no template here. What will work for one person might not work for another person. You will need to create a personalized development plan for each of your team members. You need to be able to identify who will make use of training, and then use training with those people. When you are giving new opportunities to your team members, you will need to make a judgment call whether this person is either motivated, capable or equipped to do the new task or not. For example, let’s say a team has all the backend engineers and suddenly new frontend work has emerged. There is no point in giving this work to an engineer who is not interested in learning frontend. That’s why motivation is very important as well.
To summarize, development is one of the most important aspects in keeping people happy in your team and organization. Senior managers should devote significant time in identifying development opportunities for each of the team members in their organization. A formal plan should be created and presented to HR or other interested parties. If a manager on the team is particularly successful in developing their team, you can encourage them and have them present how they approach development to other managers. Ignoring development is not an option.