10 Human Skills to Look For in Senior Software Developers
If you’re like most engineering managers, you’re always looking for ways to improve your team.
Sometimes that means filling a position and vetting candidates. Other times it means grooming the engineers on your team for leadership roles.
In either case, writing code isn’t enough. You need to focus on people skills if you want to separate the good developers from the great ones.
We asked Andy Wegner, Woven’s Director of Engineering, for his take on the most important human skills for senior software developers. Here’s what he told us.
Human skills every senior software developer should have
1. Excellent communication
No one lives in a vacuum. While portions of an engineer’s role may involve working alone, a senior engineer does not work in isolation. They interact with teammates, other teams, managers, end-users, and more.
Experienced developers have top-notch communication skills. They’re able to communicate effectively with individuals and teams to accomplish a common goal. Building relationships with these areas improves interactions in the future.
2. Ownership mentality
A senior software developer sees the dirty underbelly of the system. They embrace it. They work to clean it up.
Your ideal candidate is taking ownership, tackling one task at a time to make the system slightly better. Not every change has to be big, flashy, and headline-grabbing; a change to improve stability is rarely commented on, but users notice if the system is unstable.
Additionally, helping a customer through an issue doesn’t always have to fall to “Level 1 Support”. A senior engineer can and should spend time on support — learn the pain points users are having and use that knowledge to improve the system.
They’re not too big for the small things.
3. Ethics
Software engineers know that what they’re building will not only be used by them; it will impact others in some way, shape, or form. They consider that impact. They consider the unintentional impact, too.
It can be easy to fall into the trap of thinking, “It’s just a system. Someone else is making the decision.” However, even the most simple systems have a ripple effect. Look for this type of critical thinking and awareness in your candidates and employees.
4. Willingness to fail
Not everyone has amazing new ideas. And not all ideas are going to be successful. (If they were, we’d all have several more commas in our bank accounts.)
Failure is an option and an opportunity to learn something new. Senior engineers chase ideas, explore hypotheses, and do unique things. If they fail, they learn something from it. They’re open to admitting mistakes and take constructive feedback easily.Â
They use this knowledge to help their team learn something, too.
5. Openness to discussion
Are your senior engineers willing to have their ideas challenged? They should be.
Discussion around how something works now versus how it can work in the future helps everyone improve and helps the system get better over time. This should not be an antagonistic discussion but instead reflect the different options other developers can bring forward.
Commonly, these discussions result in a broader perspective and even better ideas.
6. Mentorship
A senior engineer has a position of trust on the team. They should use this position to guide more junior team members, inviting them to larger discussions and helping them grow professionally. Patience is key as junior devs ask questions and turn those questions into learning opportunities.
Zoom calls don’t have to be scheduled and they don’t have to be an hour long. If a senior engineer hops on a call when they’re troubleshooting and invites team members to join, observe, and ask questions, they’re the right person for the role.
7. Time managementÂ
Deadlines are a part of life. A software engineer with good time management skills helps set those deadlines through effective communication with the team.
They also know how to make decisions on prioritization; if (and when) they miss a deadline, it shouldn’t be a surprise to management. Software engineering leaders are time conscious and make sure everyone is aware of timelines and processes.
8. Empathy
This one’s a hot topic.
Employees aren’t machines. They have feelings, ups and downs, and life events outside of their job.
Emotional intelligence is important — especially in a remote work environment — to building a great professional relationship. Experienced engineers take time to get to know their coworkers and their customers as people, not just as a means to an end.
9. Leadership
A person doesn’t need to have “Engineering Manager” in their title to be a leader. Leaders can take many different forms, and the most important part is being able to inspire those around them. This could be by driving technical discussions, being a great mentor, or simply having an idea and knowing how to get buy-in and execute on it.
Leaders make things happen, and they don’t wait for permission.
10. Creativity
In the fast-paced tech world, engineers must be able to take a step back, see the big picture, and think outside the box. They can’t be afraid to try new things or challenge the status quo.
Often it’s unorthodox approaches that lead to breakthroughs and a final product that’s worthy of users’ time and attention.
Final thoughts
Software development is a team sport. The best players are the ones who make those around them better.
To be truly successful, your senior engineers should have a mix of both hard skills (like coding) and human skills (like problem-solving). These are the people who will take your company to the next level.
Still looking for your next 10x employee? Make sure you ask the right questions during the interview process. Woven tests for technical abilities like debugging, architecture, and systems design. We also give you a read on non-technical skills like self-confidence and communication style.
With Woven, you can be confident you’re making the right hire for your team. Start a free trial of our platform today!