Are Software Developers Bad Communicators?

No, no, no and NO! Maybe there’s an expert programmer in the corner of some software shop who does a very specific task and has done it for years.  In fact this guy probably doesn’t do anything but nobody is the wiser.  That guy probably doesn’t communicate well.  But, that guy is not a software developer.

A software developer has to take some of the most technically complex systems and communicate them in ways average people understand.  A software developer has to:

  • Translate business needs into software requirements.
  • Constantly educate those who make business decisions so they have a realistic idea of what is possible, while keeping it understandable.
  • Read minds of people who do not communicate perfectly and come up with good approximations to work off of.
  • Write detailed documentation.
  • Write detailed comments of difficult to understand parts of working code.
  • Come up with good naming schemes to write self documenting code.
  • Create diagrams, charts, paper prototypes, etc etc… need I go on?

In fact, almost all of what we do is communicating things so that other people can understand (usually our future selves).

Code that cannot be understood is worthless, and we are writing in languages that don’t express what they are trying to accomplish without a serious amount of effort.  In fact nearly half of my education was spent looking at ways to bridge this gap.  YES, over half my college education was spent on communication strategies.

As a developer, who doesn’t like an enthusiastic customer who’s willing to communicate their ideas and participate in the evolution of there software?  We are constantly looking for better ways to understand the needs of the target audience for the software we are developing.  In fact, as developers we go above and beyond and use our skills to get a sort of direct, mind to mind communication from consumers by developing tools to track their actual behavior.  And we listen.

Every non-trivial project I’ve worked on involved a huge amount of communication, and the better the communication, the less work the project seemed to be.  No true businessman is going to tell a developer to go do what he does without first being able to understand what-in-the-hell he is doing.  There are no black boxes when a company’s reputation is at stake.  They’ve got to understand or there is no way we’re going to convince them that what we are developing will be a good investment.

HOW CAN SOMEONE SAY SOFTWARE DEVELOPERS DO NOT HAVE GOOD COMMUNICATION SKILLS? Well, someone did, and that man is Andrea Di Maio and we’re pissed off.

Here is a summary of some of the ridiculous things being said right now:

  • “Perhaps they can develop some program to help them master communication.”
  • “Good programmers are often shy, self centered, geeky. I can’t see how they could be particularly skilled to communicate complex political platforms.”
  • “Politicians need to be able to balance positions, seek compromise, communicate effectively, being transparent but up to a point, not taking sides too strongly while being passionate about certain topics on their constituents’ behalf.” (Assuming we can’t)
  • “Developers would be better communicators? This is quite laughable.”

Below is a petition you can sign or leave a comment on his blog.  Thank you.

Jim Gilliam July 21, 2010 at 9:53 am

If you find Andrew’s bigoted mocking of developers tiresome and counterproductive, you can sign this Twitter petition: