The Most Important Software Development Skill

My employer has a couple developer positions open and we’ve been chatting around the office a bit about the traits and skills we’d like to see in candidates and new team members. While some of the chatter has been about technology exposure, or past projects, or mindset about collaboration and development methods, I’m convinced that the most important skill has nothing (and yet everything) to do with software development:

The Most Important Skill for a Software Developer is the Ability to Communicate

Museum of CommunicationsYes, we want someone who can write solid code. Our ideal candidate has an agile mindset. A new team member with experience working in the same line of business would be great. But those qualities can’t be realized if that person is not an effective communicator.

Off the top of my head, communication comes into play:

  • As a developer understands the requirements or stories
  • When the developer participates in the daily standup
  • As multiple developers collaborate to share code or experiences
  • For organizational communication purposes
  • In reading and resolving defects from our tracking system
  • While working with end users or analysts to ensure user acceptance

The inability to communicate effectively will slow down the team’s work and impair the effectiveness. In addition to back-and-forth for clarifications, poor communication can lead to the wrong code being written.

We Can’t Solve Business Problems if We Can’t Understand Them

And we can’t understand them without communication.

I suspect it’s far easier to teach a developer how to use jQuery than it is to teach an ineffective communicator how to clearly communicate their thoughts.


Photo by Flickr user Cargo Cult; used under Creative Commons license.

Advertisements

2 thoughts on “The Most Important Software Development Skill

  1. Even though I agree with you about the importance of good communication skills, a skill that I will put at least at the same level is the humility to accept input from other developers and accept that the solution he/she implemented could be better. I have worked with some people who just won’t like it when people tell them to modify their solution because it doesn’t comply with coding standards, or because is not testable or readable enough, or for whatever reason.

    Arguably it could also be included as a subset of communication skills but I like to always shoot that situation to the person I am interviewing just to see how he/she would react.

    Regards.

  2. Pingback: On Explaining Yourself | Kwality Rules

Chime in with your thoughts

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s