Skip to content
October 26, 2007 / Bob Black

Software Success (an essay on true love)

…and how to get the love back.

Over the last 12 years I’ve worked with a lot of software developers that would fit this description. Totally bored with their job and willing only to do the bare minimum: just enough to get by.

I think I know the explanation for most of these cases, if not all. They don’t love what they do. I got into programming because I loved doing it. After I wrote my first computer program, in QBasic over 15 years ago, I was thrilled that I could control what my computer did. I felt empowered, partially because I found myself capable of doing something that previously seemed beyond my grasp, but also because I saw the possibilities: given enough time it would be conceivable to do practically anything! The first thing I did was write a program to help my teacher parents record grades. A few years later I wrote a WYSIWYG editor in Borland Delphi for creating JAVA user interfaces, which helped me get my first job. This stuff was fun!

But that was 15 years ago.

What about today, when LEGO is selling programmable robot toys! And Microsoft has an entire framework for interfacing with robots and other electronic devices. Given enough time, it’s conceivable to build practically anything! How can you not love this wonderful craft? There’s always something new to build, a new problem to solve, a new way to impress your family and friends and be called “that super geeky whiz kid” for the thousandth time.

I believe this is a craft that must be loved before it can be done well. If you love what you do, you’ll try to do it better this time than you did last time, every time (and you can quote me on that). A developer that throws himself into his craft will probably know about design patterns and whether a Hash Table is better than a Linked List in this particular scenario, or whether this database query result needs to be cached, and on and on.

Joel Spoelsky’s 5-step list to software failure unfortunately (but I think correctly) lists bad programmers as the number one reason for software project failure. I totally agree. But I think we could expand on that a tad, by saying software developers that don’t love what they’re doing, that aren’t motivated by an insatiable desire to solve problems, or that don’t care anymore, are the number one reason for project failure.

Because if you love software development, you will be a good software developer. And if you don’t love software development, you can still fall back in love. Yes my friend, there’s still hope. Read some blogs, buy some books, but most of all (I think), start an interesting side project that you can do at home for a few hours a week that will bring the love back.

Here are some “feel the love” suggestions:

  • Build a robotic CD burner using LEGO Mindstorms that will pick up a CD from a stack of CDs and insert it into a CD burner. Program it to burn copies of various CDs stored in a database (or whatever).
  • Write a home document management system application that will scan, OCR, and store in a searchable format all of your personal documents, like Mortgage, Tax, and other stuff. How cool would it be if you could search your computer for that stuff instead of having to root through a file cabinet?
  • Grab a 15-inch LCD touch-screen, an old (or cheap) Windows XP PC, and hook it up to some of those X10 home automation components. Build a spiffy looking user interface for automating your home, and hang it on a wall somewhere for walk-up convenience.
  • Write an application for a friend or family member. Maybe your church or other organization needs an application to send emails, parse data from files, or whatever. Who knows – if you do something well for someone else, it could lead to other, perhaps paid opportunities.
  • Teach your kid how to program. My 7 year-old son just wrote his first “Hello World” QBasic application, and I was so proud. Passing on the joy of watching something you made just work is a great way to bring some of the fun back into programming.

If you’ve lost the love, get up and do something about it. It’ll make you a better programmer.

Advertisements

2 Comments

Leave a Comment
  1. Vilas / Jul 29 2010 4:04 pm

    I love you nambrta

Trackbacks

  1. Ghillie Suits » Software Success (an essay on true love)

Leave a Reply

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

%d bloggers like this: