Because coding is play and engineering is work, what’s less obvious is that play gets more work done than work. Free from obligation, you can explore more options, discover new possibilities, and stay in flow for longer.
Let me show you.
Here’s a typical week of engineering according to my time tracker. I try to click the button every time I context switch for more than 5 minutes. Call it research into office culture, if you will.
Each column is a day.
This data is by no means perfect. Context switches happen within categories; I forget to click the button; and I’ve given up capturing the small distractions that happen.
I also spend too much time in faux meetings on Slack. Those don’t show up here.
But you can see a trend: most work happens in half-hour and aaaalmost-an-hour intervals. Then something comes up, and I have to switch. QA bugging out, absolutely horribly urgent code reviews that must happen right this instance, a deployment here and there, or a short meeting or two.
If I’m very lucky, I get to work on something for almost 2 hours. Sometimes, if the stars align just so, almost 3. That happened threetimes this week. Three times all week that I focused for more than an hour.
Now compare that mess to a night of coding.
I started at 12:30am after a short nap. Before me, a choropleth map of household incomes.
By 1:38am, it was a choropleth map of income disparity between the tech industry individuals and the median household. And a histogram.
At 2:35am, the map could focus on specific US states, and the histogram had a line that showed median household income in that state against a backdrop of tech salary distribution in said state.
By 3:46AM, the visualization had filtering controls, a dynamically updating title and description, and was ready to go.
At 4:47AM, it launched, complete with Twitter cards, Facebook open graph stuff, embedded tweets for retweeting, and an email form so people can sign up for more.
It flopped on the open internets with just 1500 uniques, but look at that timeline. 4 solid hours of coding, and a whole thing was born. In the context of engineering, something like this would take a week, involve 2 engineers, 1 project manager, 1 designer, 3 meetings, and 2 QA people. The end result would be 10% better.
PS: The viz flopped because I tried to give it a spin that doesn’t gel with the audience that received it, and I have to improve initial load time somehow. Lessons learned.