As the movies would have us believe, there is a stereotype for a software developer: someone who sits in a darkened office (or basement) with little to no interaction with other human beings. However, in reality, it is the rare professional developer who gets to sit alone without any human interaction and just codes. Instead, the profession requires just as many soft skills as any other. In fact, since software products are created by people for people, it becomes crucial to complement technical skills with both personal and interpersonal skills.
Some of the top skills that developers need to have involve communication, decision making, organization and adapting to different situations and scenarios.
Communication skills are one of the most important skills a software developer must master in order to work with teammates, internal personnel and external customers. These are often in the form of emails and video calls, both of which can be frustrating at times.
Email skills are often underrated in favor of a quick one- or two-word reply. However, tone is equally important to the words that are used and making sure that the email comes across as professional without being terse or rude. When drafting emails, read back what you’ve written and take into consideration your meaning before hitting the send button. If in doubt, find another pair of eyes to read it. And, if you find yourself second-guessing your wording, wait to send it. Firing off angry emails can cause a lot of problems so pause before you hit send. Sometimes, it’s helpful to type up an email but not send it if it means saving professional relationships.
When it comes to Video calls, they can be scary, especially if you’re required to be on camera and are a natural introvert. However, if you’re nervous about them, practice! Try to forget about the camera and pretend that you’re just having a conversation… there just happens to be a screen between you and your conversation partner. If you get nervous, just remember, it’s just a conversation! Don’t overthink it. The more of the calls you do, the easier it will get and, eventually, you won’t even think twice about them.
Let’s face it, decision making can be tough, and not just at work. It is often rooted in fear: fear of making the wrong choice, fear of overstepping, fear of offending someone, fear of failure…However, every day, we make hundreds of very small choices in our daily lives so why is it so much harder at work and how do we overcome it?
Much of the time, the resources we need to make choices are at hand: Logic, reasoning, intuition, teamwork, emotional intelligence and creativity. Which of those we apply will vary from situation to situation. However, as humans, we tend to know how our best decisions are made whether it is making a list, seeking advice from someone more seasoned, sitting down to brainstorm, researching on the internet or, simply, just asking ourselves: what is the right thing to do? Broken down into units, just like software code, can make a large problem much simpler by creating steps to find a solution. Taken one at a time, the steps can lead to a much stronger end result without being overwhelmed by the big picture. Use the resources at hands and if you need help, don’t be afraid to ask! Remember, journey before destination… sometimes getting to the decision is as important as the decision itself!
This can be a tough soft skill for creatures of habit. It means that you must adjust to changing circumstances, keeping up with priorities, projects, clients and technology. All of this while you’re trying to be a strong performer and produce the best code you can. They can also be difficult for people who like to be in control. However, the workplace is a collaborative environment and things are always changing. In order to develop these skills, we must apply critical thinking, a growth mindset, a willingness to collaborate and being receptive to feedback.
Critical thinking can help us how to decide to move forward efficiently. The most adaptable people tend to be critical thinkers who can assess a situation, consider the outcome and determine the best course of action.
Someone with a growth mindset is always willing to learn and accepts that there is always room to improve. They tend to be open-minded, willing to learn something new, develop their skills further and to stick with it, even when things get tough.
Collaboration is crucial and being adaptable means you must collaborate with your team to account for changing circumstances. Maybe the client has changed the requirements, maybe the coding solution isn’t as clean as it could be, maybe it just doesn’t work the way it should. Working together as a team means finding ways to adapt to issues and problems and solving them together.
Being receptive to feedback can be hard, especially if it’s not positive. However, it can also be a very valuable growth tool in teaching us how to listen, learn and grow and change the things that aren’t working for us. It’s easy to be defensive when someone criticizes you but if you stop, take a step back and hear what they’re saying, often it teaches us something. Even if the feedback is negative, it can help us utilize some of the other soft skills that we’ve learned.
In conclusion, it may seem like technical skills are the most important part of a software developers’ role but there are few positions that allow for completely isolated work that require little or no interactions with other people whether it is emails, video/telephone calls or meetings. Working on soft skills is a crucial part of the field and learning to interact, solve problems and communicate could be the difference that can make a developer move from merely capable to outstanding. Taking the time to learn or further these skills will be worth the time you commit to it!
Photo Credit: Canva