Business-focused custom software

Go Back

Why your programmer needs to be like MacGyver

200px-MacGyver_intro Okay, I confess. I never really watched MacGyver. But the idea of someone who can solve most any problem by quickly inventing a solution out of duct tape and dental floss (or whatever is laying around nearby) is pretty cool.

To me this seems a lot like how the best programmers work. While most programmers aren’t solving the life-and-death problems that MacGyver faced, they often have to solve them remotely, and with little or misleading information.

So what MacGyver-like characteristics should you be looking for in the next programmer you hire?

Creativity

I think the thing most important MacGyver attribute for a programmer is creativity. Often technical problems are difficult to troubleshoot. The worst programmers will run through the obvious troubleshooting solutions and then quit. But the best programmers will use their creativity to solve a problem when traditional solutions don’t work. For example, this week I was trying to solve a problem involving a Windows Mobile Phone. I was almost at the point where I would be forced to suggest that the user give up the phone for a week and ship it to me to troubleshoot. Instead, I wrote a quick program that would email their database to me from the phone. Now I should have the pieces I need to replicate their problem and correct it.

Tenacious

When MacGyver gets into a jam, he doesn’t throw his hands into the air and give up. Instead he puts on his thinking cap and solves the problem. Similarly, some programmers prefer to work on new stuff and are uninterested in solving problems. But what is usually most needed is someone who can roll up their sleeves, dig into a problem, and keep plugging away at it until it is resolved.

Thoughtful

I have seen some programmers behave like a bull in a china shop, racing in to “fix” a problem without really understanding the issues involved. Occasionally this can lead to bigger problems. For example, I once saw a programmer write a quick script to fix some data in the database. There were only a few records that needed changing, but he forgot to write his script to only touch those records. Now suddenly ALL the records in the database were changed and they shouldn’t have been. Oops.

A thoughtful programmer would have been careful, and made a backup of the database first. He probably also would have tested his fix on a test database. From what I know of MacGyver, he didn’t rush to solve a problem until he actually understood it. (Otherwise the show would have quickly ended in a large explosion.)

When you hire a programmer, make sure they demonstrate these attributes so they can provide the best value for your business.

  • Facebook
  • Twitter
  • Digg It!
  • StumbleUpon
  • Technorati
  • Del.icio.us
  • Reddit

Comments  2

  1. Jacki Hollywood Brown 25 Mar

    I work often liaising between users and programmers.

    One of the things I encounter most often is the user not knowing how to explain the problems correctly. Certainly a programmer must ask specific questions in order to determine the problem but I think GOOD programmers will explain to their clients how to report a problem (i.e. procedure used to create the problem, what steps are taken to reproduce the problem, etc). This makes everyone's life easier and the user gets a confidence boost because they know they contributed to solving the problem.

  2. Avonelle Lovhaug 25 Mar

    Jacki - that is so true! I wrote How to get your developer to fix bugs in attempt to describe some of the information that I need to solve a problem.

    Even so, it is always a challenge and I have great sympathy for end-users. It is like the problem I have when I take my car to the mechanic. "What's wrong?" he asks. And I say "it makes a funny noise when I start the car". I'm guessing "funny noise" isn't particularly helpful for them, either!
Post a comment!

Formatting options
   
 
 
 
 
   

Wanna Subscribe?
Here's the RSS Feed

What the critics are saying...

Avonelle is a rare IT professional who can communicate with business users on a level they can understand, and who can recommend creative technical solutions that are in line with the business goals and the business budget. Avonelle is conscientious not only about meeting deadlines, but also exceeding her customers expectations around quality software while providing superior customer service. Avonelle is an inspiration to me.

Valerie Vogt, Director of IT Advisory Services @ Inetium