The top non programming skills programmers need
Wargames

The top non programming skills programmers need

Back when I first started out in my professional software engineering career, I had this naive belief that possessing technical skills were all a programmer really needed, to have a successful career.

Oh, the follies of youth!

Let's be clear. You absolutely need to possess technical skills. Not only possess them, but continue to keep those technical skills sharp.

That means reading up on your technical area of expertise. Actual coding. Trying out new technical stacks and experimentation. It's the primary tool in your software engineering toolbox.

But not the ONLY tool.

If I had to boil down one of the most essential non technical skills a developer needs these days, it would have to be COMMUNICATION SKILLS.

The larger the organization you work in, the more people you will inevitably need to work with, to get your own work done.

The ability to WRITE clearly is more important than you may think, as a software programmer. After all, it's all about coding, right?

Not really.

The actual act of CODING happens quite late in the game of software development. And especially when you work at a larger organization with many company departments and divisions.

There are a lot things that have to happen before you, the software developer, can actually begin writing your software.

Regardless of whether your company or organization practices agile or waterfall development methodologies, you will go through lots of prep work. Meetings. Interacting with a customer or product owner and gathering software requirements.

All these activities will require lots of communication. Specifically written communications, in the forms of e-mails, documentation, business analysis documents, and if you're practicing agile/scrum, stories. LOTS of stories.

It seems like most of my entire workday is reading and writing e-mails. As a software developer, you will be writing LOTS of e-mails to coworkers. To your manager. To everyone involved in your project(s).

The ability to write effectively is especially critical when you're in the middle of firefighting some emergency production issue that's causing your company to lose money until it's resolved.

When you're responsible for sending out e-mail updates to all parties involved, it pays to write clearly and to the point and assure everyone involved you and your team are on top of the situation.

The ability to write effectively is key, if your practicing scrum ceremonies and you are the scrum master. User stories in scrum are what drives software requirements. User stories can be created either by the product owner or anyone else on the sprint team (including the scrum master).

Writing down the requirements of a user story in a clear and concise manner up the chances that your user story will end up being a successful software implementation. You can have the most adept hotshot developers on your team, but it won't mean a hill of beans if they end up implementing something incorrectly, because the user story wasn't written down very clearly!

As a software developer, I write lots of documentation. It can come in many forms, whether it's a wiki, end user documentation, developer oriented documentation, etc.

Documentation is another area where your writing skills can be especially appreciated. Documentation, if written well, helps fellow developers quickly get up to speed on the technical aspects of your project. It helps your support and QA staff better understand how to troubleshoot your application, when problems arise.

There's this great online resource for developers called Stackoverflow. It's an online hub of activity for anything IT related, but especially geared for developers looking for answers to technical questions and problems.

I find it's a great resource to hone your writing skills. The way Stackoverflow works, is your write up a summary of the problem you're facing and anyone who can answer your question, will respond.

You'll have a better chance of getting your question answered, if you clearly describe the problem statement in a concise and exact manner. It runs as well in the other direction as well. You can answer other people's questions and hone your writing skills as you come up with solutions to their problems.

I highly recommend all developers invest time and effort into your writing skills. It will help to round out your skills as a true full stack developer.

To view or add a comment, sign in

More articles by John Kim

  • Does Pair Programming Really Work?

    I don't think I'll ever do well in pair programming. There.

    78 Comments
  • Teach Yourself Programming in 21 Years

    If you've ever browsed the technical section of a bookstore, you'll likely run into at least one or two books that…

  • Why Browser Plug-ins Deserve a Horrible Death

    Not too many years ago, internet browser plug-ins were all the rage. For those unfamiliar with plug-in technology, they…

    1 Comment
  • Can ANYONE Learn to Code?

    A lot of my non programmer friends relatives often seem amazed that I write computer software for a living. Some of…

  • Building the Bridge on the River Kwai the Agile Way

    I was browsing my Netflix catalog when I stumbled across one of my favorite classic movies, "The Bridge on the River…

    2 Comments
  • The Importance of Marketing Yourself

    Software developers like peace and quiet. Comedies like "The IT Crowd" may make fun at the cliched image of the IT geek…

    2 Comments
  • Why I Participate in Hackathons

    I participated in my very first company sponsored hackathon last year and barring any unforeseen scheduling conflicts…

    1 Comment
  • The Value of Reading Code

    I don't EXACTLY know why this is, but as a software developer, I have always found reading other people's source code…

  • The Secret of Employee Retention

    It's coming up on my two year anniversary mark at my current employment. Two years seems like a respectable amount of…

  • Why Software Projects Fail

    As a software developer, it's kind of amazing to see how far technology has progressed since the early days of software…

    1 Comment

Others also viewed

Explore content categories