Register / Log in

We spend a lot of time thinking about technical skills when we work in a technical industry.  However, I can think of (at least) three non-technical skills that all developers should be able to peform, at at least a basic functional level.  Having these skills will definitely make you stand out above other “normal” programmers.

1. Technical Writing Skills

Technical writing involves writing about technical products (what you make in the rest of your time) to a non-technical audience.  The prime example that comes to mind is a User’s Manual.  Some of the larger companies have their own team of technical writers, and if you work for them, then you won’t need to worry about this.  But many other smaller companies assume that their programming team can produce user documentation like this, often without even bothering to check to see if they actually know how to do it first.

Obviously, technical writing will involve knowing proper spelling, grammar, and punctuation.  In addition, it requires you to be able to take all of the technical junk that you know and explain it in a way that your users/readers will be able to understand.  As people who know the technical world so well, it is difficult for us to comprehend that our users often don’t understand the difference between a browser, the Internet, and Google.  Another part of technical writing is in understanding how people will be using your writing.  For example, with a user’s manual, few people are actually going to read through it from start to finish.  Instead, they’ll go to it when they run into trouble.  A big part of writing a user’s manual is in learning how to structure the document so that these users who have come across a program can quickly find the solution they need.

2. Presentation/Public Speaking Skills

Let’s face it, we’re all at least part nerd.  You have to be to survive in this industry.  Nerds, unfortunately, don’t have a reputation for good interpersonal communication.  This is another area that all developers should conscientiously spend time working on.  At some point (probably frequently) in your career, you will be expected to present your ideas or your work to a group of people, such as your team, upper management, potential clients, or shareholders.  In these events, the quality of your speaking and presentation can cost the company both financially, which in turn could mean people losing jobs (maybe even you).

In many cases, for such high profile meetings, the company will usually try to find someone capable of giving a good presentation, but in some cases, your detailed tecnical knowledge of your software will be more valuable to the presentation than whatever public speaking skills another person has.  Now, if the people you are speaking to understand that you’re a developer, not the company’s PR specialist, they’ll likely be fairly forgiving.  It is still important, though, that you can do a good job.

By the way, good public speaking skills during an interview will set you apart from other applicants in a significant way.  You will get hired if you could present yourself clearly to the interviewer, while another person had better technical skills, but was unable to clearly explain it to the interviewer.

3. Artistic Skills

OK, no one expects you to be able to paint like DaVinci.  That takes a lifetime of practice, and a good eye for art.  If you were that skilled at it, you probably wouldn’t be in a technical job.  However, having a basic set of artistic skills can significantly improve your program.

I remember in college, along with virtually everyone else in the department, making fun of all of the “easy” majors like art.  (I mean, what are they going to be able to do with a degree?  Teach?)  After all, we slaved away all weekend making programs that could solve mazes, while our roommates ran around partying.  (OK, it was Utah.  The partying probably wasn’t quite on par with what might have been seen elsewhere, but still….)

What came as a surprise to me was as I was nearing the end of my schooling, I suddenly began to feel really lopsided.  Like my left brain had grown to epic proportions, while my right brain had shriveled to the size of a pea.  I felt a need to balance all of that computer/math/physics stuff out with some art.  (Let me set the record strait, though.  I would definitely not call myself an artist by any stretch of the imagination.)

The point is, having some basic artistic skills will help with your programs in many ways.  Knowing what colors go together well will help in a GUI.  Being able to produce stand-in artwork for your program will help it feel more professional during the development cycle.  I’d bet that a fairly significant amount of stand-in artwork actually ends up in final production anyway.

Having some artistic skills will help your program in a number of ways, and it will help you be a more rounded person as well. 

I realize that as a developer, you have a lot of things to learn and work on.  If you can’t keep up with the changing requirements of your job, you’ll soon lose it.  These skills, while not technical, will make you much more valuable as a developer, and the best part is, they won’t go obsolete (unlike that time you learned J++).

Are there any other non-technical skills that would be helpful to developers?  Leave a comment and let us know!

View Comments

blog comments powered by Disqus