4 ways to attract and retain skilled software engineers

Currently, there are over 500,000 open computing jobs in the United States, a number that is expected to grow to over 1 million by 2024. In that same time period, US colleges are expected to produce around 203,000 new computer science graduates. There is a huge gap between supply and demand of skilled software engineers. So, how does your development organization compete in such a fierce sellers' market?

The concept of employee engagement is one that has become even more relevant in today's economy. Employee engagement is the "emotional commitment an employee has to the organization and its goals." Greater productivity, lower absenteeism and turnover, and improved quality of work are just a few of the benefits of a highly engaged workforce. Developer engagement is a powerful tool to compete in the developer resource war.

The following suggestions are just a few of the many ways you can build your employee engagement.

1. Embrace a shared vision and communicate it often

Simon Sinek says "start with why." (Start with Why: How Great Leaders Inspire Everyone to Take Action) If you want to inspire people to show up to work excited about your company, you must understand and effectively communicate why you exist as a company. Your purpose can be anything, but to be effective, it must inspire and it must be shared. Your organization's leadership should be devoted to your vision, they should talk about it often and involve your developers in building and maturing that vision.

It is human nature to seek purpose in life. You can offer that purpose by understanding your vision, the "why" to your organization, and communicating that "why" to your team in as many ways as you can.

2. Build self-organized teams and move away from command and control

There is a lot of research and literature on the concept of self-organization. It permeates agile methodology and modern engineering management. Self-organized teams are more motivated, they have greater commitment to decisions they make and are more creative. If you want to improve your team's engagement, adopt a servant leadership management philosophy. Help your team meet its goals by focusing on meeting the needs of your team.

If you aren't already there, moving to a truly team-led, self-organized organization is a difficult transition. Don't be afraid to seek help. A strong management coach can help you embrace the chaos and improve your productivity and engagement through effectively moving away from a command and control environment.

3. Encourage your team to continually improve themselves

In Dan Pink's book, Drive: The Surprising Truth About What Motivates Us, Dan talks about the importance of mastery in motivating employees. Mastery is the urge to get better at something that matters. Skilled software engineers tend to be highly motivated by the opportunity to improve themselves and their skills. Not only does this help motivate your team, it also improves the value of your team members by broadening their skills and improving the quality of their work.

Make sure you actively support your team's ability to get better at what they do. Consider offering an unlimited book or training budget, or offer frequent lunch and learns. Most importantly, make sure your team has "slack time," down time during the day in which they can work on things such as training and improving themselves.

 4. Embrace diversity of ideas and people

When it comes to programming, there are many ways to solve a problem. Increasing the amount of ideas available for your team helps your team find better, more creative solutions to their problems. One of the best ways to improve the variety of ideas on a team is to make sure the team is highly diverse. People with different backgrounds tend to approach problem solving in unique ways, and a diverse team can use those approaches to solve their problems.

Not only does diversity expand the number of solutions to problems, it has been proven to improve employee engagement. According to a study by Deloitte, when diversity and trust exist in an organization, you see an increase in employee engagement.

Conclusion - Your path to skilled software engineers starts here

Employee engagement and developer engagement are complex topics. When applied in a purposeful plan, I've seen these concepts make a radical difference in teams of skilled software engineers. It is vital that development organizations learn how to create engaging workplaces that encourage developers to get involved, stay involved and grow with their team.

We'd love to hear from you to see what worked for your team. Are there struggles you've overcome? Let us know and let's have a conversation about it. If you would like our help, a great place to start is with an agile assessment. Employee engagement is a vital part of our assessment process and will result in a plan to help improve your teams engagement.

In the meantime, if you would like more information about any of these suggestions, feel free to reach out to us, or take a look at some of these books:

Interesting take on "definition of done" Getting things to done