September Writing Challenge, Post 25: Some Productivity Omphaloskepsis

I’ve read before about how willpower and attention are akin to finite resources that get depleted and need to be allowed to recover, and I think that model has helped me realize something about my own cycles of productivity.

My usual behavior around non-work projects seems to go something like this:

  1. Starting from a relatively fallow period, something catches my interest (it could be anything – software, music, art), and I dive in.
  2. I have early successes, and this adds to my general level of energy and excitement, and I take on one or more other projects that interest me, thinking that I’ll ride this wave of motivation.
  3. If I have not been careful or realistic about how much stuff I voluntarily take on, it rapidly gets to the point where I can’t possibly make progress on everything. If I have been careful and realistic, it doesn’t matter, because something else will come along that I must take on, and it rapidly gets to the point where I can’t make progress on everything.
  4. Suddenly I feel like I’m failing at half or more of the stuff I’ve taken on, and things get set aside, sometimes indefinitely.
  5. Lather, rinse, repeat.

This can happen on a time scale anywhere from two weeks to three months.

If you’re a software process nerd (or possibly a general productivity nerd), you may have heard of Kanban, a method of process control. One of its central tenets on Kanban is “limit your work-in-progress“. For Kanban, that’s usually expressed at the task level, but I think for some of us (read: me) it might be wise to look at that at a higher level, and limit the number of projects I try to handle.

This is not necessarily a new insight, in general or for me personally, but I clearly need to be reminded.

September Writing Challenge, Post 24: Three Things I Wish American Tech Culture Would Learn

Note: I’ve had a couple things holding my attention this week, and as a result missed a couple of days of the writing challenge. I’ll catch up.

One more note: I’m having a slightly rant day. Bear with me.

There are a bunch of things that could be done to make the tech culture more sane and humane. Here are three that rank highly on my list:

1. Working more hours does not necessarily make you more productive. In fact, it may make you far, far less so. We work in one of the few professions where it is possible to do negative work on a daily basis – that is, to make the code worse than we left it. We are more likely to do this when we work long hours. Unfortunately, both American work culture and the tech subculture seek to twist overwork into a virtue. It’s not. Overwork leads to bad decisions. If your boss doesn’t understand this, give him the slide deck I linked earlier in this paragraph (which contains a ton of researched information on productivity topics beyond just hours). If he willfully ignores the facts and says he doesn’t believe it, go work for someone smarter, and let him fail on someone else’s broken back. Also: If you think you’re somehow the exception to this, you’re not. There’s ample research out there – I urge you to look it up.

2. Trading sleep for work just makes you dumber, not more productive. This goes hand-in-hand with the issue of long hours; as with overwork, our culture makes a badge of honor out of sleep deprivation. (I was guilty of this myself when I was younger.) When we don’t get enough sleep, it degrades the quality of our work, and our ability to notice how much our work has degraded. This may be a reason so many people think they’re exceptional in this regard. Spoiler: They’re not. Again, there’s loads of research; Google is your friend.

3. The software profession is not a meritocracy. At least, it’s not if you’re black or a woman. This is made worse by the fact that white guys in the profession often think they’re too smart to have unconscious biases about race, gender, sexuality, &c. It’s made worse still by the fact that most of us in the profession who are any good at it actually did work hard to get there, and feel there’s merit in the rewards we’ve gathered. But if it’s not a meritocracy for everyone, it’s not a meritocracy for anyone, and those of us on the inside need to check our privilege and start examining our own behavior.


September Writing Challenge, Post 23: Five Things That Make My Workday Far More Productive

There are a few things I find it almost impossible to get through a workday without:

  1. The Internet: This seems so obvious that it almost feels like cheating to include it. SDK documentation, SDK bugs that are not in the documentation, algorithms, computing language tricks, example code, security alerts, third party libraries… And, for break time, everything else.
  2. A good pair of headphones: Music, binaural beats, pink noise, phone calls, Google hangouts… Many days, I spend more time with the phones on my head than off.
  3. A zipper-front hoodie: I’m sensitive to temperature when I’m working. There’s a lot of benefit in being able to regulate my insulation.
  4. The Dvorak keyboard layout: 60% less finger travel. QWERTY is so 19th century.
  5. A door that I can close: ‘Nuff said.

September Writing Challenge, Post 11: Oops.

So, I spaced out on my post for the September writing challenge yesterday. I had a relatively juicy topic in mind that was going to take more than 5 minutes – which was outside the parameters of the challenge, but I’ve been playing pretty loose with that – I was running late in the morning, figured I’d get it done in the evening, then I got home and had a bunch of high-priority stuff to do, and then there may have been some cocktails in there somewhere, then I went to bed.

It occurs to me today: There was no guideline built into the challenge for what to do if I missed a day. Have I blown it? Do I skip a day? Do I write an extra post to make up lost ground? Are the Writing Challenge Police going to kick in my door? All of these things are possibilities.

Well, it’s my challenge, so my rule for a single missed day shall be: I’ll get right back to it (because why not?), I’ll do an extra post to make up (you’re reading it), and I’ll examine what happened (again, you’re reading it). What follows may only be interesting to those currently obsessing about habit formation.

[Commence omphaloskepsis]

First, the up side: This has been the first time in ages that I’ve written anything but Facebook status updates or the most mundane of work-related emails for 10 days in a row. So, yay.

I’ve highlighted the value of keeping the challenge parameters tractably small. If the thing hadn’t been large enough that I chose to procrastinate, I wouldn’t have missed the day. This affects my thinking about what I’m going to attempt for a challenge next month.

It’s difficult for me to get discretionary stuff done in the evenings. After work, I still have personal and household responsibilities, and on top of that I’m trying to make progress on multiple side projects. Also, cocktails.

Related: I tend to commit near or slightly above my ability to execute. That’s something I’ve struggled with for as long as I can recall. I would like to a) find a way to make some of the important things habitual so that they take less attention and willpower to do consistently, and b) teach myself to set projects aside for later, without feeling like I’m losing or abandoning something.

It might help to have a plan about what to do when I do miss a day (because it’ll happen again). This is a tidbit I picked up from that book by Charles Duhigg that you see around all the time: People in surgical recovery (I believe the specific surgery was a joint replacement) did much better when they had put some thought into what they’d do when they hit problems in their recovery. The therapy to recover from that kind of surgery can be long, painful, and complex; most of my projects are not so physically painful, but I’d still probably benefit from planning for something besides the happy path.

Okay – off to the showers, and then I’ll come back and choose a topic for another (probably shorter) post.

September Writing Challenge, Post 10: If You Can’t Teach It, You Don’t Know It

The title of this post was more than long enough already, but it could probably be clarified a little with one more phrase: If You Can’t Teach It, You Don’t Know It Nearly as Well as You Could.

This is something I figured out back when I was teaching first- and second-year college physics: I never knew my subject as well as when I was able to successfully convey it to someone else.

I’ve come to think that teaching a concept is an important stage in learning it. It’s not that everyone must be a teacher, though it is a valuable and important skill. It’s not that you can’t successfully use a concept you haven’t taught – because of course you can. Successful teaching, though, involves expressing a concept clearly and succinctly, and often from multiple directions. Being forced into that level of clarity and circumspection has the effect of solidifying a concept for the teacher as well as the student.

I believe in this idea enough that I’ve used it to choose topics for conference talks or lunch-and-learn sessions. I’ll be working on something, I’ll need to use a certain tool, and I’ll notice that I don’t know nearly enough about the tool – so I’ll commit to a talk and create a situation where I must then learn enough about the tool to teach someone else to use it, and to answer the kinds of questions I anticipate will be asked (roughly 50% of which are questions I also have). It doesn’t make me an expert off the bat, but it provides a solid foundation that, combined with repeated use, will get me there.

On the Merits of Rough Edges

Cory Doctorow has written a much-linked article for Locus magazine on the topic of Writing in the Age of Distraction. (Cory’s advice has also been touted by Drawn! magazine as equally good for visual artists.) He recommends, among other things, stopping before you feel done:

When you hit your daily word-goal, stop. Stop even if you’re in the middle of a sentence. Especially if you’re in the middle of a sentence. That way, when you sit down at the keyboard the next day, your first five or ten words are already ordained, so that you get a little push before you begin your work. Knitters leave a bit of yarn sticking out of the day’s knitting so they know where to pick up the next day — they call it the “hint.” Potters leave a rough edge on the wet clay before they wrap it in plastic for the night — it’s hard to build on a smooth edge.

On the software engineering side: Kent Beck’s excellent book Test Driven Development: By Example makes the recommendation to “stop on red” – that is, to cease work for the day with your code in a known broken state, failing a test.

It’s a characteristic of my work habits that I generally feel the urge to tie up what I’m working on. This goes for software, where I have a lot of trouble walking away from a piece of code that doesn’t compile and behave as expected, and for fiction and screenwriting, where I always have the urge to finish a scene, transcribe all my notes, or otherwise exhaust myself and my creative urge before I walk away.

This habit may allow me to squeeze a little more productivity out of the day, but these neat packages are not always so pretty in the morning: When there isn’t a place where I must pick up the thread, I’m left with choices, which usually means going to a list somewhere, and that list generally presents itself as the Monstrous Wall of Shit to Do, and I usually haven’t gotten through my first coffee yet, and I will generally decide that I’d better get through my email and catch up on Twitter before I attack the MWoStD. A whole morning can get lost that way, and good luck building momentum for the afternoon.

There may be something here for me. Certainly, it’s a good sign that the “rough edge/stop on red” concept crosses disciplines so easily, and is espoused by smart people in multiple fields. It is also interestingly tangential to the notion of wabi-sabi, which holds that since all things are imperfect, impermanent, and incomplete, it is allowable and even desirable that our creative acts embrace this.

So, tonight I’m going to break some shit, and hope that meditation on wabi-sabi will keep me from gnashing my teeth all night. And hopefully it won’t be long before I accumulate enough mornings hitting the ground running that walking away from broken work seems normal and sane.

You May Expect More

I’ve just made a change in my occupational situation.  In the coming months, I expect to have more time and more energy for this blog and my other projects.  So look to this space for:

  • More announcements of niche web projects
  • More advancement of existing web projects (hello, GuitarCardio!)
  • The announcement of a much more ambitious, high-falutin’ Java project
  • More Ruby one-liners and development observations

Among other things upcoming: I’m competing with good friends and former cow-orkers Gabe and Abel in Rails Rumble 2008 (so don’t expect to hear from me Oct 18-19). I’ll post here about how that went.