Hiring the Right People: What Soft Skills Do Software Development Companies Need?
The market for software engineers in Ukraine is heating up. Everybody wants them. Securing the right people is a competitive advantage and the key differentiator for a company performance. But who are those right people?
As technology is maturing, the software business is changing as well. Today the projects outsourced to software development companies require small teams who can do nimble product development like startups. Even large enterprise companies are looking to hire small, cross-functional teams of three to seven people who focus on a single problem.
The culture of teamwork favors people who innovate, collaborate, meet deadlines, understand end users’ perspectives, and work effectively on a team.
In these circumstances, is the knowledge of computer science sufficient for getting a job in IT today? Most Ukrainian employers would say no.
The term soft or non-cognitive skills is used to describe a set of qualities that make people more successful at their jobs. In fact, 85% of job success comes from soft skills, and only 15% from technical skills and knowledge (hard skills). These statistics are backed by a research conducted by Harvard University, the Carnegie Foundation and Stanford Research Center.
We've talked to some of the largest Ukrainian outsourcing companies about soft skills they demand from their software engineers, and how they develop them.
This article will be useful for both candidates looking to prepare for an interview, and IT companies wondering what their peers do to improve the quality of their workforce.
What soft skills do IT companies value most?
1. Effective communication
Effective communication turns out to be one of the most valued skills of software engineers, based on the opinions of Ukrainian outsourcing companies we've interviewed. But what is effective communication?
Is it about getting your point across? Or the ability to avoid conflicts? Or maybe it's about clearly expressing your ideas and listening to what everybody has to say, and then acting accordingly? Effective communication is all that... plus strong English speaking skills.
Because Ukrainian software developers often work in geographically dispersed teams, they need to be able to communicate effectively with people from different countries, let alone their clients.
What's great about employees who can find a common language with all the staff members and the clients is that they contribute to a company's success. That's why there's a high demand for such people on the market.
For Svitla whose engineering teams are located in Mexico, Montenegro, and Ukraine, effective communication is one of the most crucial soft skills.
[Svitla's distributed and multinational team]
Sigma Software, a company that employs more than 850 specialists, also takes effective communication as seriously as subject area knowledge.
"Many of our large-scale projects are created by distributed teams, often in different time zones," Anna Arutyunyan, Head of Sigma Software University told FullStackUA. "The key to effective communication is Agile practices."
Agile teaches engineers to correctly estimate their own capabilities, communicate issues and risks, and offer solutions to these risks, she said.
Self-organizing teams and efficient face-to-face communication are key concepts of Agile methodologies. But these skills are far from being innate to every human being, nor are they taught in school.
Software developers usually start their careers in IT at a really young age. Because they haven't yet had a chance to develop the necessary soft skills, organizations need to find a solution that would help their existing and potential employees develop social skills.
Sigma Software, for example, provides multiple learning opportunities for their employees. They have a special knowledge-sharing platform – Sigma Software University – that unites all their educational efforts.
"Special emphasis is made on improving soft skills as a way to stay agile under ever-changing conditions,” said Sigma's Arutyunyan.
Training managers at Sigma often arrange meetups with experts to talk about efficient communication, risk assessment, and agile practices.
Recruiters at Sigma Software pay particular attention to candidates’ proficiency at soft skills. And they also arrange trainings outside the walls of their offices for university students.
"Students aren't taught soft skills at their alma mater, so we come to help them get some soft skills before they apply to our company,” she said.
[Classes by Sigma Software in the Lviv Polytechnic University]
For over five years, Sigma has been conducting a very popular course on Agile practices in the colleges of Kharkiv, Lviv, Kyiv, and Odessa. The goal of this course is to teach students to think Agile, react to changing requirements, and regularly evaluate the results of their work.
2. Teamwork and collaboration
Effective communication and teamwork go hand in hand together. In software development, employees must be able to solve complex problems in team-based settings. Even if a team is separated across continents, which is a common situation in Ukrainian outsourcing companies.
The whole concept of outsourcing revolves around the idea of remote collaboration. Getting employees to work together when they're under the same roof isn't as challenging as getting a group of people in different parts of the world to build something great. But on the other hand, working as a remote team brings important benefits like the ability to hire the best talent globally.
Intetics, a software development company with offices in six countries, organizes their teams based on skills, not geography, according to Serge Stepantsov, COO at Intetics. For example, a software architect can be located in Ukraine, have a project manager located in the UK, and some subordinate developers in the USA.
This way of organizing work improves the company culture and brings benefits to the projects, he said. Also being able to hire people globally increases the chances to find specialists with proper skill sets.
[Intetics' team in one of their offices]
Employment at Intetics is project-based. In other words, they select specialist for each particular team working on a particular project. At job interviews they pay special attention to personal characteristics and even hobbies to make sure people on one team have matching personalities.
To develop teamwork skills Intetics has different social groups that bring together people with similar interests. They also organize corporate events, regular team building events, and sports activities.
3. Problem solving
Problems are what people have to deal with at work every day. Finding ways to solve them quickly and efficiently makes all the difference between success and failure. It also makes all the difference between a good leader and a bad manager. After all, problem solving is the essence of what leaders exist to do.
In Ukrainian software development companies, to be in a leadership role you're required to have technical knowledge. But to be a good problem solver, technical knowledge isn't always sufficient.
According to Svitla, in addition to having proficiency with technology, team leaders and technical directors need to be good at empowering others, leading by example, and bringing value to the client. Svitla summarizes all of those qualities under the term business attitude.
Business attitude is the ability of an employee to see a big picture. A candidate who shows the ability to do proper planning, prioritize tasks, and invest time in his or her team, will be noticeably different, according to Svitla.
Lilia Mudryk, the director of ELEKS University, told FullStackUA that strong soft skills enabled a leader to better understand, motivate and direct people. As a result, teams managed by leaders with good soft skills are often more focused, productive and happier.
Intetics also considers problem solving as one of the most important soft skills of leaders. At job interviews, they ask a series of questions to gauge these abilities. Their questions are designed to define how a candidate dealt with a problematic situation in the past, and how they would deal with a hypothetical problem they never faced.
For example, leaders need to be able to handle situations when employees get in fights with each other, complain, try to avoid responsibility, and are being unproductive. In fact, soft skills are the most significant skills a manager needs to master!
To improve problem solving and other leadership qualities, companies create different learning programs for their team leaders and managers. These programs are focused at training leadership, motivation, conflict management, trust building, and decision making skills.
At Eleks, all kinds of specialists in the company – not only team leaders and managers – can attend leadership trainings.
"We conduct leadership courses for different levels of employees - basic, advanced and management leadership," said Eleks' Mudryk. "In addition, we have training sessions for mentors, training in recruitment, presentations, etc."
[Eleks' team at one of the meetups]
4. Emotional intelligence
Teamwork requires the capacity to understand the motivations of others. Emotional intelligence helps people observe the behavior of others and understand why they act the way they do. In other words, it helps put yourself into another's shoes.
For Sigma Software, emotional intelligence is one of the most important qualities for building efficient teams. To assess a job candidate’s emotional intelligence, recruitment team at Sigma Software uses different tactics. For example, they ask open-ended questions to allow a candidate to reveal their personality.
"Another powerful tool in emotional intelligence assessment is offering to discuss workplace cases and situations," said Sigma's Arutyunyan. "For example, an interviewer can ask a candidate to tell about a conflict situation (with a colleague or friend) that ended in a non-satisfactory way and what emotions influenced their actions and the actions of their colleague or friend."
To encourage behavioural and attitudinal change it's important to openly talk about situations that led to both positive and negative consequences.
DataArt, for example, facilitates regular internal presentations and discussions on soft skills topics. Besides, DataArt prepares their own educational materials for employees. They have created an internal educational portal for these materials where every employee can learn soft skills.
[A meetup at DataArt]
You can check out this interesting video on talent management (the video is in Russian) by Maxim Bastion, Chief Coordinator of the talent management program at DataArt.
5. Presentation skills
You can be the smartest person in the room, but if you can't communicate your ideas effectively no one will know. Being able to present information clearly is a key to get your message or opinion across.
The majority of Ukrainian companies follow Agile methodology in their software development process. Within the Agile software development life cycle (SDLC), work is divided into sprints or iterations at the end of which teams show their demos to clients in the form of a presentation.
Presentation skills are about being able to stand up in front of a group and explain the work you've done and the opportunities you want to bring to the project.
Presentation skills are required in almost every part of work – not only project demos – self-presentation at job interviews, presale activities, daily standups, knowledge sharing meetups, and a lot more.
"Most of our employees are used to constantly present their ideas to customers, teams, managers, or colleagues from other divisions," said Eleks' Mudryk. "The ability to explain and make others interested is very important for our specialists."
A job in a software development company requires you to create value, and you need to be able to present that value in some meaningful fashion.
Good presentation skills also help employees become valued members of a community and facilitate knowledge sharing.
6. Community skills
In technology things change faster than you can learn about them. To keep up, Ukrainian software development companies put emphasis on a culture of knowledge sharing.
To facilitate knowledge sharing outsourcing companies encourage their developers to participate in different meetups, conferences and workshops that get together technical specialists working on other projects, or in other companies.
Passive listening doesn't bring about desired results. That's why companies are more interested in developing so called community skills in the workplace. Being active in the community means speaking at tech events, writing articles on technology, and creating open source projects.
Community skills are very important for Intetics. The company welcomes and supports people who are eager to discuss relevant tech topics with colleagues and in professional communities. Encouraging employees to share knowledge and experience helps the whole company grow and strengthen professional ties.
In Svitla they have a Corporate Motivation program aimed at widening their staff's outlook. Under this program Svitla covers employee participation at various events. They also support their team members' initiatives to become speakers of those events.
Effective communication, teamwork and collaboration, problem solving, emotional intelligence, presentation and community skills are the top soft skills Ukrainian software development companies value.
There is a well-known stereotype that programming is done by loner men who prefer communicating with computers rather than humans and avoid any social interactions.
While this might be true for some developers, these programmers are very hard to find in the offices of Ukrainian software development companies. Simply because they have a very little chance to get hired.
When companies are looking for highly talented developers and engineers, they're often competing with a lot of other major companies for that same talent. To win the war for technical talent companies are writing bigger checks. But they're also adopting new hiring strategies.
Strong cognitive or hard skills are a necessary — but not sufficient — condition to get a good, high-paying job. Even though developers with soft traits aren’t easy to come by.
"More senior leaders need to understand that soft skills aren't just a 'nice-to-have' in an employee, they are crucial to the success of both the individual and the business, said Eleks' Mudryk.