Down the Road

Roads and life and how roads are like life

Technical problems can almost always be solved, but people problems are hard

15

I’ll never forget the revelation it was when I figured out how to write computer programs. You mean, I thought, I can make this machine do what I want it to?

It was a watershed moment in my life.

A portrait of the geek as a young man

I was shy, introverted. People often frightened me, at least a little. I struggled to interact with people I didn’t know well, and I had no idea how to influence others. And then here was this machine that I could order around. It had limits – it couldn’t make my breakfast for me. But within those limits, it was all about what my mind could imagine and then code. I wrote games that my dad and my brother played. I wrote programs that illustrated concepts of geometry, which I demonstrated to math classes in school. I wrote a payroll application for my aunt’s small business. I even wrote a very rudimentary operating system once – it was terrible, but I learned a lot.

So I went off to college to learn how to make software. When I got out, the job market was terrible, so I took the only software job I could find, writing user guides for a software company. Later in my career I moved into testing, and into management. I’ve delivered a lot of software since I started almost 24 years ago.

Here’s the crazy thing I’ve learned: The hardest thing about making software is not the technical stuff. The hardest thing is getting people aligned and pointing the same way!

I’ve often said that it’s a modern miracle when a software project succeeds. Any software development project that involves more than about two people will have coordination challenges, differences of opinion, and all the other normal issues of working together. My experience has been that the programmers and the testers can do whatever you need them to (short of, say, telepathic user interfaces). They will work hard at it, they may struggle to get it right, and there may be frustration and late nights getting it done. But those struggles can pale in comparison to how hard it is to get everyone to agree on what to build, how to build it, and what it means to be done. Here’s how code is better than people:

Code People
Once coded, code stays coded and reliably does the same thing over and over. You think you have people all organized and then they go off and do whatever they want anyway.
You will sometimes struggle and work hard to make your code do what it needs to, but you can almost always get the job done. Sometimes you simply can’t influence people. Drat their free will.
Change your code, it doesn’t mind. It knows no fear. People hate change! When change is thrust upon them, they often resist it or even run away, screaming.

By the way, the WordPress editor doesn’t offer a way to create tables, so I wrote some HTML code to generate one. Fear my mad, l33t sk1llz.

Unfortunately, even if you have the best coders in the world, if you can’t get them to work together their projects will fail. Fortunately, I understand geeks, for I am one. I know what makes us tick. I’ve learned how to influence us and get us all reasonably pointing the same way. And I’ve built on these skills to learn how to influence non-geeks such as upper management, salespeople, and customer service folks to get them all working together. It’s not easy, and it’s impossible to ever get it perfect, but I’ve had pretty good success over the years and it’s contributed strongly to any number of successful software releases. And it’s helped me come out of my nerdly introverted shell.

I can’t remember the time I last wrote any serious code. I don’t miss it. To my astonishment, I’m having much more fun and success on the people side now.

readmore2

Life got lots easier for me
when I embraced my inner geek.

15 thoughts on “Technical problems can almost always be solved, but people problems are hard

  1. ryoko861

    I tried taking a programming class when computers first started taking off. I failed miserably at it.
    Now I have a friend who “teaches” me HTML occasionally. She was reading my other blog and noted that when she clicked a picture, it didn’t open a new window which she suggested would be in my best interest. So she taught me the “target=_blank” trick and where and when to put it. Then the other backslash stuff that I haven’t had to use in awhile. Which isn’t good because you have to do it all the time in order to remember most of it.

    My son is remarkably like you when you were young. He is quiet, shy, introverted, doesn’t like interacting with people. But extremely gifted in graphic and computer design. The child (well he’s 21, not really a child) clicks so fast I can’t keep up with what he’s doing!

    1. Jim Post author

      Or you need to know what’s possible in HTML and be able to look it up on the Web, which is what I do. I don’t have room in my brain to remember arcane syntax anymore!

  2. Joe Cardillo

    Working with people is infinitely rewarding and frustrating. I tend to gravitate to nerdiness myself so being responsible for aligning technical teams doesn’t bother me, but there are times when I think to myself “thank goodness there’s someone between the client and the coder, otherwise this would be a disaster.”

    And, ahem, I don’t see a pocket protector in that picture, I assume it is there somewhere…. ;)

  3. davidvanilla

    Having had a career in “people management,” I have to say your table is spot-on.
    “getting people aligned and pointing the same way” as you say, is the hardest aspect of most any endeavor involving more than one person. “Drat their free will.” Indeed.
    btw, I had the “best job in the world, loved working with the people, anyway.

    1. Jim Post author

      You know you’re in trouble when your endeavor involves but one person, you, and you still have a hard time getting everyone pointing the same way! :-)

  4. hmunro

    I have dabbled with this “aych tee emm ell” of which you speak, Jim, but it turned me into a newt. (Got better, though.)

    Seriously … I always enjoy your blog, but this is one particularly brilliant post! I started out thinking I was taking a trip down Jim’s memory lane — and I ended up thinking, “this is one heckuv an insightful guy.” I’m glad you’ve found so much success and fulfillment on the “people” side of the business. And I have a feeling the people who work with you would agree!

    1. Jim Post author

      Heh, I do use this blog for memory lane a lot, don’t I. Thanks for saying such nice things about this post. And I’m glad you’ve recovered from newtdom!

  5. chaplainwinston

    i started programming my senior year in high school. i got hired the monday after i graduated i programmed mostly with assembly language on operating systems. tv and the movies don’t give people like me justice. i always get the pretty girl.

    As for people or code i prefer people and code. People act like code. in my field their always code changes that requires fixes to correct the fixes. like microsoft updates and i had to find the fixes then.

    i prepared for that fatefull day (12 years). i knew i had to understand people so i got a degree in Bible. In the real world outside of the protection of major corporation people don’t have to be nice.

  6. Pingback: The 3-on-3 Interview (INFP Edition): Jim Grey | Dare to Write

Share your comment

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

WordPress.com Logo

You are commenting using your WordPress.com 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 )

Google+ photo

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

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 1,501 other followers

%d bloggers like this: