I think it’s good for a programmer to have a bonsai project. Whether it’s at work or on the side, it’s good for the soul to have a long-running but small project. Something neat, benign, and inconsequential. Something that wants meticulous effort but doesn’t require it. Something that benefits from continual improvement, but survives without it. Something that can be yours and just so. Something to groom and take care of and maintain and grow slowly, that doesn’t take over your whole damn life.
There is so much pressure on developers to have side projects and contribute to open-source. Apparently, employers think that’s the only indication of passion (ugh) and interest in the field. I hate and reject this idea. I don’t want to participate in software on anyone else’s terms. Key criteria:
- small enough to overhaul and restructure in a day
- inconsequential so no one really relies on the code working all the time
- nothing that runs live and requires any money or live maintenance
- no collaborators so it can look and work just the way you like it
Bookmarklets, browser extensions, site generators are all great candidates. For me, it’s a Slack bot I run at work. It alerts us to QA issues and their status, to comments on relevant JIRA issues, and sometimes puts fun banter into the chat. It’s Portal themed. It’s coded on what might be a monumentally stupid framework. Sometimes it crashes or just disconnects, or replies at inopportune times, but mostly it’s really useful. I work on it in my 5% time at work. It feels right.