Most serious Emacs users are familiar with Bozhidar Batsov. He’s a blogger and the developer/maintainer of several OSS and Emacs projects such as RuboCop, CIDER, Projectile, nREPL, and many others. And, of course, he has a full time job. That brings up a question that Batsov says he is often asked: “How does he find time to work on all these projects?”
He answers that question in a recent post on his (think) blog. The secret, he says, is “burst-driven development”. By that he means that while he may keep an eye on his bigger projects he will only work on one or two at a time in a burst of effort. During those periods, he may work on a project furiously for several days or weeks and then move on to something else. The important thing for him, he says, is to not try to work on several projects in parallel.
This type of schedule may seem less than optimal for project development but Batsov has learned a few things that suggest it’s good enough:
- Few problems require immediate action
- There can be times when you don’t have any good ideas for improving a project
- Sometimes a project is simply mostly done
That last item is especially telling. Often I’ll see complaints about some project saying that it hasn’t had any updates for a long time. But sometimes a project solves the problem it was written to address and there is little to add other than keeping up with OS changes or something of the sort.
In any event, if you want to see how a prolific developer handles his projects, take a look at Batsov’s post.