Commute Driven Development

BASARAT
3 min readJan 5, 2016

--

Every geek needs a hobby OSS project, one that comes without commitments and deadlines. I’ve worked on a few OSS teams in the past few years. Last year I worked on atom-typescript an immensely satisfying project that’s been downloaded nearly 160K+ times. Though atom is amazing there are few times when I feel that I am fighting quicksand and having other IDEs pop up everyday meant that the love I have for TypeScript couldn’t be shared easily with developers at large.

So I started alm.tools. Something one can easily install (npm install alm) and use with whatever development workflow they have.

Undertaking such a massive project (checkout the features already implemented) and not letting it leak into my life means I’ve focused (and disciplined) on working on it in my commutes. Here are a few lessons that might be useful if you want a pet OSS commute project.

Have a laptop handy

Have a laptop just for the project. This ensures that when you open that laptop you know what you want to do. Luckily I have a macbook pro retina 15". So the joy of using this fantastic machine translates to joy in developing this OSS project.

Get up early

Some people wake up early and go for a run. I wake up early and write code. In fact I am excited to have the commute because it gives me purpose. Its only 1.5 hours but that 1 hour extra is when I write code. Waking up early means I get the best seat in the house. An ideal seating position:

  • Opposite the side of travel. You don’t want emergency brakes making the laptop fly.
  • Sheltered from sun. I find it best to be next to some pillar and on the side of the sun. This ensures that the laptop is constantly shaded thanks to the pillar.

Be ready to close that laptop lid

Whenever people around you look like they are about to move, close that lid. Better closed than broken.

Music

Have your phone loaded with music. Spotify, Pandora, Apple music. Change the channel when thinking.

Keep a private issue list

If you put all the things you are working on (this list can be HUGE) in the GitHub issue list then every time you do stuff everyone watching the project is notified. You generally don’t want to bring to the foreground all the rough (overambitious / dumb) ideas that you have during the early stages. Its good to have a private board that you follow so you don’t let the project leak into your life in general. I use trello.

Just a portion of the trello board

As you can see it allows me to be very rough.

Leave early

Surprisingly few people leave office on the dot. And a surprisingly large number of people leave office 10 minutes after the fact. If you want the same comfort in seating on the way back that you had on the way in, your options are either to leave exactly on time or wait 1 hour after office hours.

Take the slow train

In Melbourne, on the train line that I live on, there are express trains and trains that stop all stations. I take the stop all stations train. These might be slower (more time to code!) but are far less populated and the people that take them are generally more calm.

Talk to your employer

Look for a company that appreciates a geek culture. Fortunately PicnicSoftware allows me to contribute Friday afternoons to OSS. That started when atom came out and I developed atom-typescript with that time, something that we ended up using everyday. Now its alm.tools.

Have fun!

Don’t forget that you are doing this for free and fun. I personally think of it as an MMORPG 🌹

--

--

No responses yet