Developing for fun, some observations

[UPDATE]: Some really nice additions to the list here.

Since I graduated from college, I’ve sort of stuttered and started when it came to coding in my free time. I knew that I loved to problem solve, and I got great satisfaction out if that aspect of programming (its why I do it for a living), but that didn’t seem to be enough to keep me interested for more than a few weeks/months. I’d always get tired of it, and wonder how the people doing crazy things like hacking the Linux kernel kept at it. For years no less! What follows are a few observations on how to keep programming fun when you’re doing it in your free time.

  1. Small Triumphs – You’re rarely going to write the next big thing, or anything really meaningful in a single day’s work. The “great undertaking” is the basis of what the open source movement is today, but most of them started out extremely small (ie Linus cobbling together the first Linux kernel). I’ve found that setting very short term subgoals for your project that can be achieved in under a week, are important to continued interest and minimizing frustration, especially when you are first starting a project
  2. Self-useful – If you work on something that you are going to use day to day, you’re software will always be more feature complete and robust. One of my github projects you can see up there to the right (RyC) is a set of Ruby scripts and classes that makes unit testing C a tad easier. I don’t hack C, and though I do use Ruby a lot I have little or no interest in working on it anymore. At the very least, try and write something that you _could_ use day to day.
  3. Prioritize – Write whatever you need to put a useful piece of software out, then add on the frills later. This will let you release earlier, possibly get feedback and, if anyone is interested in your project, maybe even get help.
  4. Advice – I find myself afraid of asking questions for fear that someone else will steal my idea or think I’m an idiot, and this keeps me from heading to the an irc channel when I need help. The bottom line is, 99 percent of the people who come up with really cool ideas never finish them and most never even start, so if you need to divulge a little in the interest of getting the thing done, do it.
  5. The Wife/Husband – Keep the wife/husband happy. If he/she is happy you will be able to work on your project in peace. I tend to wait until my wife goes to bed to work on anything so I can concentrate. If you don’t have a wife, then you should be hacking ’till you are blue in the face, clamming glory in the name of open source, and telling us all about your exploits so we can live vicariously through you.

None of the above will be true for everyone, and the list is far from complete. I just hope that someone will find it useful. Happy hacking!

[EDIT]: second to last sentence.

8 Comments so far

  1. John_Idol on December 13th, 2008

    the thing about wife (in my case girlfriend) is just spot on

  2. John Bender on December 13th, 2008

    @John_Idol

    That will play havoc with almost anything you try and do in your spare time, but I figured it was worth mentioning.

    Cheers!

  3. impressed on December 13th, 2008

    Thanks a million.
    I demand a few more of these articles!
    Public demand!

    :-P

  4. John Bender on December 13th, 2008

    @impressed

    Thank you a million. Next thing to do is find a tutorial that people will actually use, and possibly do a screen cast of it. Hopefully something on Erlang that I’ve picked up since I started playing about with it.

  5. z0ltan on December 13th, 2008

    Hate being a grammar nazi but the last line should read “None of these things is gospel, like I said it’s what has worked for me”.

    Nice, simple and self-experienced blog mate. Keep up the good work!

  6. masukomi on December 14th, 2008

    Nice post. It inspired me to write up the rules I’ve come up with to address the same issue.

  7. Tarski on December 14th, 2008

    I feel reinvigorated to start my own open source project after reading this. Keep up the good karma.

  8. John Bender on December 14th, 2008

    @z0ltan

    You are correct, and I will correct it. The sentence is trash in the first place.

    @masukomi

    Great, I’m off to read it.

    @Tarski

    Please do. The open source world would be nothing without people like yourself.

Leave a Reply