0xDECAFBAD

It's all spinning wheels and self-doubt until the first pot of coffee.

Pico-projects and Trepanation

Despite going between large helpings of long work hours and laziness, there has been at least one project I've been working on periodically: FeedReactor.

I've been alternating in my head between rushing off and starting a business or giving the whole thing up. You see, this is the very sort of thing I started this blog to combat-- I come up with some keen ideas and start hacking away by my lonesome. But then, I eventually get frustrated with something and wander off.

I've left dozens of mini- and saddeningly macro-projects in my wake, forgotten on hard drives long since trashed, none of them ever seeing the light of day. Because, when I just work by myself, I don't get any feedback for having been dumb, and I don't get any gratification for having been clever.

The problem is that I go out on these long arcs of fiddling, nothing ever in any satisfyingly complete state, and move onto something else before I feel like things are in any shape to share with anyone. What I really should be doing is documenting things here as I go along, releasing pico-projects demonstrating the little things that make me squeak in geekish joy as I discover them. Then, when or if I ever release the Big Wonderful Project, all the little pieces will have already been shared and explained. And if I never do release the beast, no matter-- the pieces and micro-innovations (if I produce any) will survive.

And then there's the thing I've been missing all along: feedback. If I happen to spew out anything that catches anyone's interest, maybe a bit of a give-and-take loop will form that will cause me to happily abandon the Big Wonderful thing and regroup around something unexpected and even more fun that sprang from something I thought was just a neat side-effect of something else.

See, in abstract, I understand how all this is supposed to work. I just have to drum it into my mad-scientist skull.

(I wonder if trepanation would help with that?)

Archived Comments

  • I saw a really good quote on del.icio.us/tag/gtd - "You can do anything but you can't do everything." I've got a ton of project ideas bouncing around too, but I'm trying to look at them from the perspective "If I want to do x I can't do y" which gives me a better way to weigh whether something is a good investment of my time. Not good enough for me to get any projects off the ground, but better than before :/
  • Not sure if it makes you feel any better, but I totally understand and empathise. It's 5:00AM here, and I just woke up with a great software project idea in my head and got up to jot down some notes. *This* is the one that I'll find the time and energy to complete! Another project that will probably never see the light of day. Quite serendipitous that I checked my RSS feed reader and saw this post of yours.
  • Seems to me you have a fundamental choice to make about the purpose of FeedReactor: what is your goal? "Experiment with XML, XSLT, and REST in Python" is one worthy goal. "Deliver a web-based feed reader which other people can use" is another. I'm sure there are other possibilities as well. There is no shame in dorking around with cool new tech to get a feel for it, but one must recognize that cool new tech doesn't finish software. Getting a project out the door means settling for an imperfect design (at least for now) and getting to the boring stuff: squishing bugs, smoothing out the UI, and writing documentation. I hope I don't sound like I'm scolding you take the later path. (Who the hell am I, anyway? Just some former Detroit geek who stumbled onto your blog.) It's your code, and any goal at all is fine. It's just good to be clear on what that goal is.
  • I have experienced this very problem and here is how I combat it. First, I use a source code control repository that I check into every single day unless I wrote no code that day. Second, I use a bug management system that I always go to when I need to remember what I was working on and problems that I may need to fix. Third, I use a project management solution to track my progress and keep a list of ideas in plain sight. Too often, us solo programmers have the tendendancy to allow our habits to grow out of control instead of practicing the very good habits we have at work. Using an approach similar to what I use keeps me from writing a bunch of code, putting it down for two months, and then picking it up again and having to start over. It does require me to keep track of the bugs I discover, have a back-up plan, and be mindful of recording my changes but it saves a lot of time down the road. Oh, and I usually have almost as many lines of comments as code. Can you have too many comments?