A Day Like Today, A Day At The Office 08 Dec 2011
Today, I sat down my standing desk, glanced down momentarily at the orange HTML5 sticker on the closed lid of my Mac Book pro, closed my eyes, and took a deep breath. A moment later I lifted the lid and watched as it awoke from its sleep. So many desktop icons, so many open applications — even the dock is flush from the top to the bottom of the screen. This clutter will have to wait. There’s much to get done.

First things first, open Chrome, check my personal email which there are a handful; a few being spam; a few more being marketing emails; and a couple having originated from real people. I read and respond to those quickly. My work inbox has about three times more emails. Most are automated notifications from service-based apps I use or am working. Most of these simply informational and can be ignored. I prioritize the rest, respond letting people know I’ll get back to them, and minimize this Chrome window to avoid distraction.

With emails out of the way I’m ready to fire up Terminal, see what the latest git commits are for the project I’m working on. A quick “git fetch” and a ”git review” shows me no new commits to merge in. I can continue on the feature from yesterday from right where I left off; which I find in about two seconds — courtesy of “git status” and a convention of putting a giant YOU STOPPED HERE reminder where I left off. A lot of rich client-side JavaScript, HTML, and CSS awaited me. I launch TextMate and embraced it.

Ten minutes in I notice it’s too quiet. My mind is all over the place, focus eludes me. Six seconds later Pandora and Airfoil are filling the room with rhythm. It hooks into my brain and my brain conforms. All of my thoughts begin to move in concert with one another, a pace is set, my focus narrows in on the problem at hand.

Two hours later, I’m getting hungry. I stop typing and take a step back to review the code I just wrote. I review it for consistency with itself and with other parts of the application. I notice the usage of “word-lists”, and “sentiment_lists”. Dasherized or snake-cased? Let’s go dasherized. Next I notice “includes-exclude-list” in a similar view. In the previous examples the suffix “-lists” was pluralized. In this case the pluralization seems misplaced. I update it to “include-exclude-lists” and then do a project-wide search in TextMate and update all of the references from HTML class names to CSS selectors and their usage throughout JavaScript.

After lunch, it’s back to the code. The conventions we’re using for organizing JavaScript on this project is working nicely. If it wasn’t I would have likely switched to Backbone.js or even as far as CoffeeScript. I would love to move this to CoffeeScript, but we’ve got a good, clean, consistent, and convention-oriented approach to the JavaScript. It’s proving to be flexible, predictable, and easy to change. Someday maybe CoffeeScript will make sense, but today, it won’t solve any problems. It would just have been fun.

As it nears standup time, which at Mutually Human is at the end of the day, the feature is finished. After another detailed review of the afternoon’s changes, I discipline myself to make sure I’m being consistent and following conventions. I look over the tests and the scenarios that have been added and decide a few are missing. A few minutes later those are added, so I do a clean commit and push.

After reviewing the next card in which to start tomorrow, I go pick up the guitar and wait for our standup to commence.


blog comments powered by Disqus