« Quick and dirty Flash SEO with PHP and the Apache module mod_rewrite

User Interface Engineer Opening in Southfield, MI »

Soft skills for the programmer

July 1st, 2008 by Brian | 7 Comments »

There is a common misconception that all programmers enjoy fascinating solitary pursuits like solving a Rubik’s Cube or reciting Pi beyond one hundred decimal places. These impressions are perpetuated by entertaining, yet grossly exaggerated stereotypes found on TV shows like Beauty and the Geek. It is ironic though that these very same geeks, who are unwittingly at odds with the opposite sex, are extroverted enough to engage in social activities on national television.

I have found that programmers who are willing to crack this social code with their soft skills, are often the very same geeks who end up in leadership positions, or who start their own company. I can say without question that it is not my ability to decipher collaborative filtering algorithms that has brought me the most success, but it is the soft skills that continue to generate interest with employers. This was a difficult realization, but one that I have come to accept and embrace.

Humanity

I say difficult because I had to accept early on in my career that I would not be the smartest software engineer in the room. I do not have a degree in computer science, and it takes me longer than average to grasp algorithms that are purely mathematical in scope. However, with a journalism degree I was afforded a greater exposure to the humanities — literature, philosophy, art and history. In conjunction with a communications background, this has helped me to understand and appreciate the nuances of culture and environment as they relate to personality types.

Most of the programmers I come into contact with that are well liked and respected by their peers, and who are considered good management material have the same interests and background. The best leaders are musicians, writers, artists, comedians, psychology majors and philosophers. That is not to say a programmer who hobbies in computer technology will not find success as a leader, but the likelihood that an employee enshrined in programming can find common ground among co-workers is severely limited.

Becoming an obsessive sympathizer is not a necessity either. Understanding what collectively drives or influences human behavior is, however, a soft skill that can be very helpful. Some call this charisma, but I have a difficult time with the word because it typically implies an unattainable quality, and it is used often in reference to personal gain. The key is to be concerned with the personal betterment of co-workers by encouraging professional growth, without being entrenched too much in the personal or professional. Teach responsibility and self-reliance, but be humane about it.

Temperament

A previous boss explained to me once that he was asked by upper management to curb his language. He was known to drop the F-bomb in meetings at regular intervals and some employees took offense. It was his style of conversation, but it was often perceived as unnecessary outbursts. He did not lash out, but simply eliminated the word from his business vernacular. It may have been a hard habit to break, but he explained that it was a small sacrifice to make if it made him more approachable. I respect that choice.

The fact is, there are two types of people who get angry in the workplace: those people who will never get anywhere, and those people who already made it somewhere. If you are known to be offensive more often than not, then you are not accessible, and you better already be somebody somewhere. A problematic temperament is childish, and co-workers will never trust your decisions or leadership. The most enviable soft skill is the ability to be heavy-handed when necessary without the propensity for aggression.

There is another temperament that is questionable, and that is one fused with an unimaginable level of anxiety. During the annual refresh of an automobile Web site, an absentee creative director for the ad agency I worked at finally stepped in to review our progress. Unknown to us, the agency’s chief creative officer would be down the next day to oversee the project. Frantic, the creative director poured over the design and development, alluded to his job loss, and the loss of several other jobs if significant improvements were not made overnight.

The entire day, and the following day, he was nowhere to be seen. When the executive creative director arrived late in the afternoon, our creative director was in tow. He proudly displayed our work, discussing in detail the decisions he was making to communicate the brand message. After the executive creative director left, the creative director smiled longingly, and offered up an odd congratulations for our efforts. The funny thing is, nothing had changed. It was all the same as the day before.

Speech

While my wife was working for an interactive agency, the company determined that everyone should be required to take a class on giving presentations. This aroused a bit of suspicion around the office, and the rumor was that client meetings were not being conducted in as smooth a fashion as management deemed acceptable. In order for operations to support sales in a comfortable capacity, an executive decision was made to include formal training in public speaking.

A consultant devised a plan of action that included small groups presenting to each other on anything of interest. It was filmed, and body language, speech and attitude were all critiqued when the video was replayed to everyone’s delight. Sweaty palms, cold sweats and knocking knees were a common sight during these grueling sessions. I am unaware of anything of significance that was gained, but I did learn one thing in hearing of it — communicating an idea through public speech is a desirable soft skill.

I once gave a presentation on the jQuery JavaScript library to a room full of software engineers. It went smooth, and I never had reservations about the content or delivery. Another programmer came up to me afterwards, said he enjoyed my presentation, and thought that I was a good public speaker. No one had ever said that to me, and I said what came to my mind first, “It was easy, because I like jQuery, and so I know a lot about it.”

Communicating ideas effectively has a lot do with passion, and the breadth of subject knowledge. Those programmers who truly understand and enjoy learning about highly technical concepts are best able to communicate them in a public forum. There is always an occasion to be nervous when public speaking, but I find that those who know it and love it (whatever it may be), can get others to know it and love it as well. Practicing this skill is essential, and technical staff should be given ample opportunity to practice it in a relaxed atmosphere.

Tags: , ,

Posted in: Professional Growth

This entry was posted on Tuesday, July 1st, 2008 at 3:22 am and is filed under Professional Growth.

You can follow any responses to this entry through the RSS 2.0 feed.

Both comments and pings are currently closed.

7 Responses to “Soft skills for the programmer”

  1. [...] Soft Skills for the Programmer (Brian Reindel) [...]

  2. [...] Soft Skills for the Programmer (Brian Reindel) [...]

  3. Is this a serious piece? You’re labeling ‘Humanity’ as a _skill_ ?

    Wow. I agree that we should be well-rounded and engaged, and that we need to have hobbies/friends/lives away from the keyboard. However, I certainly wouldn’t list these aspects of life as “skills”.

  4. Brian says:

    Hey Michael,

    I think you are getting caught up in the headings. Humanity is not a skill, but being humane in how you deal with co-workers is indeed a soft skill.

    Temperament is not a skill either, but being slow to anger is a part of your temperament. I suppose I could have name them differently.

    Thanks for the feedback.

  5. david says:

    Great blog post!

  6. zetxek says:

    I totally agree the last paragraph:
    “Communicating ideas effectively has a lot do with passion, and the breadth of subject knowledge”.

    The first step to be able to communicate anything succesfully is to truly believe on it and love it. That way the speech is so sincere that the listeners will trust you, as it seems that what you tell is your passion.

  7. Effectize says:

    89 Ways for You to Become the Coolest Programmer in the World…

    Since there are dozens of posts on becoming a better developer, but no single post with all the advice you need, perhaps, you’ll find this short guide useful.
    1. Learn the Skills You Need

    Learn the programming basics

    “The goal of this guide is to b…