Is Leadership a Programming Skill?

The other day I posted an article on leadership to  Within minutes it had been voted down.  The article was popular elsewhere so it wasn’t the article.  Apparently the consensus is that leadership doesn’t fit with programming.  I disagree.  Here’s why leaderships *IS* a programming skill:

1) The Trend Towards Integration
The days of isolated systems that don’t communicate with other systems disappeared years ago.  We are often called upon to write code that forms the glue between various systems—and various groups of people.

In my own job I often find myself working directly or indirectly with dozens of people.  The social integration task may be as much of a challenge as the technical task.  Programmers must be able to effectively work with different people in different roles. 

2) Projects are Bigger than One Person – And Include non IT members
One day I learned of a system problem and went to talk to with the clerk who reported the problem to get more information.  To my surprise the problem had started days before, but it wasn’t a big enough to bother his boss about.  I didn’t hear about it until it had reached the minor crisis level.  I immediately made a mental note to add this clerk to my “team”.  From then on I regularly checked back to find out if any new issues had come up.  It didn’t take long for him to learn the scenarios that indicated potential problems and he would report anything strange that came his way.  The result of this team: timely first-hand information and some good PR for IT.

Programmers tend to see their team as only fellow coders.  The many programs that poorly fill user needs are evidence enough of the harm this causes.  Effective programmers draw the user community into the “team” and together work towards common goals.  Tactfully overcoming geographic and organizational hurtles are as much a part of a programmer’s job as design patterns and class hierarchies.

3) Effective Leaders Know How to be Good Followers
Good leaders know how to organize and focus efforts on the task at hand.  Those skills make it easier to contribute to any project—regardless of who is leading.  If you don’t have the humility to be a good follower, you won’t be a good leader.  People don’t voluntarily choose to follow someone on an ego trip!

4) The Ego Problem
Let’s face it—a large percentage of the people in IT are in it to feed oversized egos.  (From time to time that has included me!)  The results are devastating.  Leadership contrasts self absorption by focusing energies on improving the community.  Over the last few years I’ve seen a lot of positive growth in this area.  The growing strength of the open source movement is a powerful testimony to great attitudes of so many programmers.

In university I decided not to be a programmer because I enjoy people too much to stand the idea of spending 100% of my time staring at a computer screen.  Thankfully, that detour didn’t last too long.  How misinformed I was—I can’t remember the last time I spent 100% of my day starting at the computer screen without some break to work with a colleague, answer a question, discuss a design, etc.  Computers were built by people and for people.  The human factor can never (and should never) be removed from that equation.

Jeff Staddon is a full time software developer living near Chattanooga, TN. USA


Jeff’s Book Recommendations:

Probably due to it’s title, The Effective Executive, this book is amost unknown inside of IT. However, I found it to be very useful. (It’s really about being a effective knowledge worker.) While aimed at management most of the content is applicable to any IT role.


9 Responses to “Is Leadership a Programming Skill?”

  1. Patrick Burt Says:

    I’m still perplexed as to why your article on reddit was voted down. Maybe it’s a touchy subject for programmers? Maybe it’s denial? Who knows.

    Another key skill to add to that list is communication. If you can’t communicate what it is your doing at any particular time in lamens terms to.. a higher-up, or someone beneath you, the road can only get rockier.

  2. Tony Says:

    Sometimes people vote articles down without even reading them. There’s a certain degree of luck involved during the time right after the submission to many social news sites.

    Leadership is important in the programming field, as long as it doesn’t come from a pointy hair boss.

  3. Keith Sader Says:

    I think leadership within programmer organizations is a tricky proposition. Most programmers I’ve encountered tend to hate leadership that is appointed within the team from outside. However these same people can easily tell you who knows the most about the project and,in most cases, it tends not to be the appointee.

    As Joel Spolsky has said, in relation to leading programmers, “be an authority, not an authority figure”.

  4. Anon Says:

    One of the problems with this very good way of working is that it takes time away from completing deadlines on time.

  5. Arjan Zuidhof Says:

    I agree with Tony here. Submitted some articles myself, where the luck factor really seemed relevant. Reddit is also very confined to a certain niche of people, if you have Haskell, Lisp, or Paul Graham in the title you can be sure it’s voted up. Or maybe that’s just my prejudice

  6. Wynand Winterbach Says:

    I don’t know if this is flame-bait. If it is, I humbly apologize – sometimes it’s kind of hard to judge what others will think.

    I have a knee-jerk reaction against the word “leadership”. For me, the word is synonymous with “power”. I never could understand why we call people “managers” and “bosses”, because clearly (in my world, however far removed it may be from the Real World) their jobs are to make sure that we can do ours better and not to wield power over us.

    When I hear someone talk about his “leadership”, I always think of some CEO type standing next to a product saying “yup, I’m responsible for all this” as if the highly skilled engineers had nothing to do with it.

    Another reason why I don’t like the word, is because a “leader” is one person who gets to decide what others do. Maybe our companies are just too big for tree-like hierarchies to work.

    So there is my rant (pointless as it may be). I want another word which does not connote power.

  7. Top Posts « Says:

    […] Is Leadership a Programming Skill? The other day I posted an article on leadership to  Within minutes it had been voted down.  […] […]

  8. Bago Says:

    Well, it seems from the posts that the general consensus is that developers are skeptical about leadership. My perspective is that developers are intrinsically leaders. That is why we are notorious for having giant egos about code. A programmer is the leader of a set of resources. He or she issues commands and enforces plans revolving around that set to achieve goals. Thats why we care about things like security, traceability, accountability, etc… For instance, you never thought about proof of correctness as a management tool. But, you’ve got to prove your stuff works otherwise the big boss is going to be pissed. Programmers are leaders of computers and have accountability, authority, and power. Now, we might not like other leaders thrust upon us (or peer-level programmers usurping our authority), but thats all related to skills and politics. It all reduces to the fact that we are leaders, and better leaders make better programmers.

  9. Camille Says:

    You post interesting content here. Your blog deserves much
    more visitors. It can go viral if you give it initial boost,
    i know very useful service that can help you, just type in google:
    svetsern traffic tips

Leave a Reply

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

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

Google photo

You are commenting using your Google 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 )

Connecting to %s

%d bloggers like this: