30 in 30, a Personal Challenge
March 19th, 2009 Posted in 30-in-30, How I Code, programmingI’ll try to step out of my usual wordy style in this post. I’m trying something new. This is not an experiment, exactly. It’s more of an endurance trial.
I’m going to do 30 software releases in 30 days.
To clarify, I’m not starting 30 companies or shipping 30 products. I’m shipping 30 software projects. Some of these projects I’d like to see pay off in some way. Some are for clients. Others are just for fun.
I have a few reasons for doing this. For starters, I never got my Christmas Wish.
For another thing, I’ve been so busy with work and family the past few years that every time I get an idea for a project (even a little one) I have to immediately shelve it. That gets depressing after a while. It also blocks further creativity. When you’ve got a lot of old “coulda/shoulda” ideas floating around in your head it is hard to get new ideas to grow. I’m hoping to exorcise some of those ideas and be free of them.
And frankly, I haven’t been satisfied with my development velocity lately. My inner prima donna has kicked in and I’ve been spending way too much time on how things should be instead of how things need to be to get out the door. In my last “regular job” I was doing late-stage R&D on a distributed system, so some prima donna action was warranted. But as a self-employed programmer that is bad business!
My software development business has recently slowed in the “New” New Economy, so I figured I might as well hone my skills and “sharpen the saw”. And the sword. And those axes over there…
Some thoughts:
- It’s not natural to ship software like this. I will very likely fail.
- That’s ok with me. The personal challenge and the experience are the main points.
- 30 in 30 is an average. Some days I won’t release anything.
- What I release will probably look and work like shit until I can refine and polish. No bitching!
- These won’t be cookie cutter projects. I’ll certainly be reusing code opportunistically, but I intend to mix it up a bit and try some new things out.
- I only have about 10 firm project ideas right now.
- I will cheat and fight dirty. I reserve the right to redefine terms, be unoriginal, punch your mom, and declare myself successful at any point, even if all signs point to failure.
- In fact, I’ve already cheated. I got a head start on this two days ago. I’m rolling out my second release tonight. So yeah, I’m already behind.
- I’m going to blog brief descriptions of each thing I ship. If time allows I’ll also talk about technical hurdles and miscellaneous geekery.
- Tempting as it may be, I’m not going to declare that every single build of a project is a new release. That would be bullshit. Then again I’m not going to declare hard and fast rules about what constitutes a release. Or a project. Or software, for that matter. Feel free to call bullshit at anytime in the comments. Just remember that my blog is not a democracy and we censor like Pravda around here.
Wish me luck!

6 Responses to “30 in 30, a Personal Challenge”
By AdamD on Mar 19, 2009
Wow! That’s ambitious. I’m looking forward to following along. Good luck!
By Eric Eaglstun on Mar 19, 2009
Cool, this is exciting! You never know – you might get a few really good projects out of this. I did something similar a few months ago and challenged myself to code and launch a website over a weekend. I’ve had much more positive feedback and visitors to this site than almost any other of my projects. On one hand, it’s a bit disheartening when I’m struggling to get just a trickle of traffic to sites that I have put much more effort into, but I think there’s a lesson in there somewhere.
Where can we see the releases?
By matt on Mar 19, 2009
Thanks for the support guys.
@Eric – One release is a brand new web app for a client but I’m hesitant to publish a link to it here as it is a “b2b” type of app and isn’t for general consumption. Plus the client hasn’t granted bragging rights yet. That shipped Tuesday and I’ll probably write it up on the blog tomorrow, possibly with a screen shot. The app that rolls out tonight is for the same client and is a new feature set for an existing Windows app. Not really much to see there. I have some more publicly visible projects in the pipe so I’m hoping this will be more interesting over time.
By Isaac Steiner on Mar 19, 2009
Hot damn that’s rad. Most inspiring thing of my day. (…Well, today was sort of a vacuum; Not to be an jerk or anything.)
I especially liked your point that keeping too many old ideas can keep new ideas from growing. I need to put this into play with my design/web work. Whatever the outcome, it’s a great goal. Thanks for sharing.
By matt on Mar 19, 2009
@Issac – Thanks, an no offense taken! I know what you mean. And I can’t take credit for the idea about flushing out old ideas to let in new ones… I read that somewhere. Might have been GTD.
1 Trackback(s)