Communication - An Important Part of Software Development

Communication - An Important Part of Software Development
Photo by John Schnobrich / Unsplash

I have found that communication is a very important part of software development, especially important when working with non-developer team members. As you can tell from my writing, I am not the strongest communicator, but I have worked on improving throughout the years.

In January I will be taking an undergraduate business writing course. Though, I do worry about it taking time away from my graduate class that I am also taking in the Spring.

Why am I so keen on developing communication skills?

At work I once volunteered to do a presentation on Kubernetes, which I knew very little about. Kubernetes was new and many co-workers were curious about it and docker. So I spent a few weeks learning what I could in the little time I had a available and presented on some of it's features for about an hour. Unfortunately, I didn't know enough to answer the audiences excellent questions about things like server affinity and networking within Kubernetes. Even though I was not as prepared as I should have been, and presenting was a skill that I'm very uncomfortable with, this presentation lead to a good opportunity.

A co-worker in another department was asking people about Kubernetes because they were considering using on a research grant he was assisting with. Based on my presentation someone referred him to me. I was still new to Kubernetes but more than happy to help in any way I could. After a few meetings the co-principle investigator offered me the opportunity to work on the grant as well.

Over the next 5 years I dedicated part of my work hours to research computing, learning a ton that has applied to my current role as a software developer. I learned about infrastructure on a large scale, distributed computing, containerizing applications, I even learned a about some of the basics like network storage, networking, software development for the cloud and just a touch about DevOps in a cloud environment. This was a great opportunity that came about because of one presentation.

At work I build small software projects. Small as in I'm a one person team working on projects that take a few months to implement. Communicating with the end users who are asking for the software is very important. Otherwise I end up building features in ways that they didn't intend. I also have to communicate well when it comes to foresight of missing features, problems, and helping them determine a consistent process for the work function for which we are building the software. I was surprised how often processes are not solidified before they want to build a system around them.

My advice is to take opportunities to improve (or demonstrate) your communication skills. You don't have to go all in and get a communications degree, but taking an online course, reading a book, or offering to write or present about projects can go a long way. What I really mean to say is don't spend 100% of your time developing technical skills because technical skills are limited without the ability to communicate. The stronger your communication, the further you'll go.

I started this journal for the opportunity to practice writing. My writing is not strong now, but hopefully after a couple (or 5) years you'll notice a difference. Feel free to subscribe and leave you feedback in the comments. Also let me know what topics you are interested in learning more about.

Subscribe to Stidd's Journal

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.