Release late, release rarely
A lot of my spare time is spent on Bumperdo, a small task management software thingy that helps me and some friends and colleagues to have some illusion of control. I love working on it, not because it's an earth shatterting piece of software (it's good, but there are many like it), but because it helps me gain and maintain some basic programming skills (which I don't need in my day to day work), and because it helps me get some perspective on what building for the web is like when there are people watching and using your app.
The fun thing is that there are a lot of development pitfalls that I try to avoid but frequently succumb to anyway. Maybe fun is not the right word - I guess interesting would be more apt. The latest problem? It took me 2 months to rebuild parts of the app. Yes, that pitfall. Even though everything worked, I knew in the back of my head that there were a lot of small bugs, and I also knew there were a lot of legacy choices like terrible class naming and a horrible way of being responsive for mobile.
It took me 2 months to fix some of it - not because it's a lot of work, because really it isn't - but because the whole process became so boring to me that I couldn't get myself to work on it. I finally decided that this lack of process wasn't ideal either and managed to release part of the changes today. It feels good to release something and have it be used by other people - something I should have done a lot earlier.
I learned some stuff today - things that are clear to any more experienced developer but weren't yet to me:
- I need those little dopamine hits of releasing something into the wild
- It doesn't have to be a large, visual change to be satisfying
- Better to release small changes than large high-impact updates
- The more changes I stack into one release, the more anxiety it gives me
- Small sprints are better - not only for users, but mostly for me
- Trying to cram too many things into one release leads to procrastination
- I am horrible at getting work done when there are no little milestones
I know these things are common sense, but I never expected them to culminate in such a way - not getting anything done for a long time because it 'needs to be perfect' and 'needs to be fully done'.
I hope I can get some pace in developing for bumperdo again, because I have so many ideas now.