0% found this document useful (0 votes)
81 views2 pages

How To Destroy A Programmer

The document discusses factors that can destroy programmer productivity. It notes that even iconic programmers struggle with productivity. Some factors mentioned include open floor plans, debates over programming languages, interruptions from coworkers and family, long build times, noise, and constant distractions on the internet. The author notes that controlling interruptions, avoiding debates, scheduling focused work times, and getting a clear understanding of problems can help improve productivity for things within a programmer's control.

Uploaded by

r2lutz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
81 views2 pages

How To Destroy A Programmer

The document discusses factors that can destroy programmer productivity. It notes that even iconic programmers struggle with productivity. Some factors mentioned include open floor plans, debates over programming languages, interruptions from coworkers and family, long build times, noise, and constant distractions on the internet. The author notes that controlling interruptions, avoiding debates, scheduling focused work times, and getting a clear understanding of problems can help improve productivity for things within a programmer's control.

Uploaded by

r2lutz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

How to destroy Programmer Productivity

The following image about programmer productivity is making its rounds on the internet:

As Homer Simpson might say, it’s funny because it’s true.


I haven’t figured out the secret to being productive yet, largely because I have never been consistently productive.
Ever. Joel Spolsky talks about this in one of his blog posts:
Sometimes I just can’t get anything done.

Sure, I come into the office, putter around, check my email every ten seconds, read the web, even do a few brainless
tasks like paying the American Express bill. But getting back into the flow of writing code just doesn’t happen.

These bouts of unproductiveness usually last for a day or two. But there have been times in my career as a developer
when I went for weeks at a time without being able to get anything done. As they say, I’m not in flow. I’m not in the
zone. I’m not anywhere.

I’ve read that blog post about half a dozen times now, and It still shocks me that someone who we see as an icon in
the programmer community has a problem getting started.
I’m glad I’m not alone.
I’m not here to share any secret methods to being productive, but I can tell you what has kept me from being
productive:
 Open Floor plans
 Developers arguing about Django vs. .NET
 Developers arguing in general
 A coworker coming up to me and asking, “Hey, did you get that email I sent?”
 Chewing. Apparently I suffer from Misophonia
 Not understanding the problem I’m working on
 Not really believing in the project
 Not understanding where to start
 Facing more than one task that needs to be complete BECAUSE THINGS ARE ON FIRE RIGHT NOW
 Things BEING ON FIRE RIGHT NOW DROP EVERYTHING
 Twitter Notifications on my Phone
 Email pop ups
 Really, any pop-ups
 IMs
 My wife asking, “Hey, when you have a minute could you do X?”
 Long build times
 Noise
 Constant parade of people going past my desk
 MandoFun
 Wikipedia (Seriously, don’t click on any links)
 Hacker News
 The Internet in General
Things that have contributed to making me productive in the past:
 Quiet atmosphere
 Quiet workspace (A private office works wonders)
 Understanding the next step I need to take in a project
 Knowing the problem space well
 No interruptions
 Seriously: No interruptions
 Staying off Twitter
 Staying off Hacker News
 No hardware problems
 Loving the project I’m working on
 Short build and debug times
 Not debating politics on the internet

It’s telling that half of the things that keep me from being productive are problems I’ve created; but some of them
aren’t. Like Open Office floor plans.
Ultimately, each of us controls what makes us unproductive. I suck at peaceful confrontation. I either come of too
strongly, or I sit there and let the other person walk all over me. I’m really not good at it at all. As such, I don’t have
any good advice for handling the external forces that contribute to not being productive, but I do know this:
Whatever I can control, I should control. That means:
 Turning off notifications on my iPhone (this has the added benefit of increased battery life)
 Giving myself a reward for 3 hours of continuous coding (usually in the form of “internet time” like checking
Hacker News or twitter)
 Working from home when I really, really, need to get something done
 Investing in a good-for-the-price pair of noise canceling headphones
 Scheduling ‘no meeting’ times on my calendar. These are times shown as busy to everyone else. It’s my work
time.
 Not getting into programmer arguments around the office; people have strong opinions, and the
programmers who have arguments love to argue. If there’s an actual business problem that needs to be solved,
let’s grab a conference room and come up with the advantages and disadvantages of each approach. Let’s get
some data. Let’s not just argue.
 Position my desk in such a way that passersby aren’t distracting.
 Taking a first pass at the problem, and *then* asking another developer to walk me through the problem so
that I can get a better understanding of what to do. This accomplishes two things: First, it allows me to get the
‘lay of the land’ so that I’ll at least have a basic understanding of the forces at work. Second, it allows me to
ask more intelligent questions when I ask for help

You might also like