When you think of the skill sets most crucial to a software developer, communication may not come immediately to mind. Ask any up-and-coming developer what they are focused on, and you’ll likely hear about the new technologies they’re exploring, what they’re being certified in, or big projects they are working through. What is sadly lacking in this picture is the development of good communications skills. Sure, as a software developer you won’t need to be as highly trained in communications as someone in human resources or legal, but it is a mistake to think that software developers don’t need to be skilled communicators. No developer exists in a vacuum, so here is why and how you should be improving your communications skills.
You’re going to need to talk to leaders
The Why: It should be obvious that you want to make a good impression on your boss, and that starts with being able to communicate well with them. Your direct manager may have some understanding of the development space, but it is important to note that you are often going to be required to communicate with leaders who aren’t developers. You may be one of the most gifted software developers around when it comes to the technical side, but if you can’t stand face-to-face with a VP of Finance and explain to them that your development process justifies the budget it’s using, then your career will be unable to progress.
The How: Trying to translate a very technical topic into something that can be easily understood by leaders in other parts of your business is no easy task; you simply can’t talk about this process the same way you would with fellow developers. You need to become competent in other areas of your business to learn how to communicate cross-functionally. Ask team members for input, ask leaders what they struggle with, and educate yourself in how your colleagues communicate in non-technical terms.
You’re going to need to be a leader
The Why: While the importance of communication for software developers may not be readily apparent to everyone, its importance for leaders should be. If you have career aspirations of someday leading a software engineering department or running your own team, you are going to need to respect this fact and take steps to beef up this “soft” skill. For your career to reach high levels, you will be expected to delegate some of your responsibilities, so learning how to communicate well now will make that process much easier when the time comes to put it to practice.
The How: Start by developing your ability to set clear expectations. Make sure you have up-front conversations with everyone on your team – whether they’re a direct report or not – to practice goal setting and communicating. You should make it a priority to give clear direction, set expectations, and define objectives early in your career so that you’re prepared to lead later.
You’re going to need to work cross-functionally
The Why: Even if your career goals don’t include leading a team and your position doesn’t put you in direct contact with business leaders, you will still do yourself a disservice if you don’t know how to communicate effectively. Take, for instance, understanding the needs of the end user. This is a vital element to effective software development, and it will likely require you to have enough know-how to ask the right questions of end users and to understand their answers.
The How: Honing your communications skills will make cross-functional work much easier. You may be placed on teams that pull from many departments in an organization, so take that opportunity to speak about your very technical subject with those who may have little understanding. Practice makes perfect, and the more you interface with others in the quest to develop a great product, the better you will become at effective cross-functional communication.
What it comes down to is the ability to speak and listen well at all levels – from your peers and direct reports to the executives of your organization. Chances are that you will not be expected to become a world-class public speaker if you’ve chosen the field of software development as your career path, but that hardly means that you can ignore your communication skills entirely. While maintaining hard technical skills is critical to your career advancement, it is a mistake to ignore softer skills like communication entirely.
If communication is an area in which you would like guidance, express that to your leaders early and often. Ask about opportunities for communications coaching or training. Inquire about areas where you can improve your communication skills during your next performance review. Seek out the mentorship of some effective communicators in your organization. Raise your hands for opportunities that will require you to utilize effective communication. There are tons of avenues you can go down to seek this exposure – take them!