Demand for software developers has soared over the past few years. There are currently more than 80,000 software engineering job openings in the United States alone. The top skills for such a position require IT and development talent, knowledge of scripting languages, and an overall understanding of toolsets. However, more non-traditional aptitudes have quickly become a requirement for future-proofing a career in software development: soft skills.
Jan Haderka, CTO of Magnolia, a mid-market content management system provider, discusses the top soft skills he looks for when hiring. Haderka is the head of a 15-person product development team, and he plans to expand the team by adding 10 to 15 more developers by 2020. Like many software tech companies, Magnolia has customers and employees around the world. The nature, and perhaps advantage, of a career in software engineering is the ability to work at any time and from any place. "As long as they can do the work, we don't really care where they are," Haderka said. "If they are not sitting in the offices, it is economically even better for the company."
The line of communication is first and foremost a concern when working worldwide. "Even though the teams are distributed, they have daily stand-up meetings over Zoom," said Haderka. "There is a team mindset and daily contact to discuss challenges and resolutions, which is why, he added, it is important for the team to get behind a new hire. At Magnolia, each team member meets with a potential candidate in the hiring process and has a say as to whether the candidate is a good fit.
"We might skip over a candidate that otherwise might pass and may be a good member of the team," said Haderka. "But, we try to make sure that everybody in the team everywhere is comfortable when we are hiring new people."
This process takes some time, noted Haderka, but he added that the culture and comfort that come with the process keep team members happy and, ultimately, the company safe.
"It takes very little to destroy the corporation or the good atmosphere in the team," he said. "It takes one person to poison a development team."
Discriminatory language, the inability to take criticism and a lack of communication can harm the chances of quality production, especially when working with people from all backgrounds and languages.
According to Haderka, there are specific soft skills that stand out in developers who stand the test of time. They include:
- Empathy. Developers should have the ability to work collaboratively with others. Even if team members are not working face to face, try to see the other person's point of view. "Whatever solution is being proposed, make sure the line of communication is actually helping to move the project forward," Haderka said.
- Compromise. Developers need to understand how to negotiate and compromise with coworkers. "Find constructive solutions. We all, especially as developers, want to develop the perfect software … but sometimes there are constraints and we need to make compromises," Haderka said. "We rarely end up developing the full feature in one go--we tend to have a more interactive approach." It is necessary to negotiate what is essential to get the feature out the door, or help others within the team to make it happen.
- Listening. How can you negotiate without listening? How can you effectively compromise without being fully receptive to what others are saying? Software developers create products that users want by listening to their needs. Sometimes, Haderka said, “you need to have the ability to stop talking and listen.”
- Learning. Technologies change quickly, so developers must have the desire and ability to constantly learn. "Don't think that just because you're a developer that your time to learn stopped when you left the university," Haderka said. "We all remain students forever, and we need to be willing to learn new things." Developers who have the initiative to learn, and even fail at, new technologies will succeed in software development.
As the IT world continues to expand, so do the opportunities for a career in software development and engineering. Developers need to consider that soft skill assessments can make or break their career prospects.