Just ___ It
There is a recurring theme that I’ve been coming across over the past few weeks. And a recurring message that I’ve been reminding myself.
Just Effin’ Do It
The worst kind of procrastination is procrastination that disguises itself as productivity. You know what I mean. Stop going on Stack Overflow to figure out the best approach to appropriately separate concerns in your n-tier, cloud based, social networking, NoSQL, DDD application. Just Code It
Stop asking the Lean Startup Circle what the best approach to customer discovery is and whether you should fill in your Startup Canvas clockwise or Counter Clockwise. Just Start It
Stop reading books on how to stop procrastinating or to become more productive. I’ve actually tweeted on how ironic it was for me to procrastinate by reading a book on stopping procrastination. Just Do It
You know what it is. And the longer you sit there pretending to do it, it ain’t getting done. Put away your personal Kanban boards, and your Gantt charts, and your Pomodoro techniques, and all that crap that lets you pretend like you’re doing something without really doing something (zero inbox and GTD, I’m looking at you). You know how to get to zero inbox? Look at your inbox. anything that’s over a day old and you haven’t responded to…delete it. If it’s important, you’ll get a follow up. If it’s not important enough for the other person to follow up again, then why the hell are you prioritizing it?
This post is me doing it. I have been neglecting my blog resorting to tweeting for sharing with the world. But I wasn’t scratching that itch that a full blog post would give me. I have about 20 queued posts that I haven’t completed because I wanted to make them perfect. And that is the problem, for some reason, I have this strange craving for perfection. It materializes in multiple ways. I overcame “Analysis Paralysis” by releasing this silly concept that my code is written in stone and has to be perfect the first time I write it. It’s called software for a reason. Once I accepted that Coding is Design, I realized that the best way to write the best code for a problem is to make it work. Then make it pretty. That’s my mantra now.
Note I’m not advocating that we should eschew all specifications whatsoever. After a certain scale, you need to make sure everyone is on the same page, and you’re going to have to write specs to do that. “I might as well write the code at that point,” you might argue. Trust me, if you’re making the technical decisions for a group of more than 6 developers, you’ll scale quicker if you write the specs and trust your developers to write the code. I’ve tried the other path, and it leads to burnout and frustration. You lose the bigger picture because you’re so focused on the details of a specific piece of code.
I’ve listened to arguments from “Senior” developers saying otherwise. “Well I guess you can go and write specs, on my team, all of my developers are capable of making the right decisions.” It’s not a matter of your developers’ aptitude. A good codebase should be consistent and have no surprises. You should be able to tell by the conventions of that system where you’re likely to find what you’re looking for. Good code should be like a book. How jarring would it be if you were reading a John Steinbeck novel and halfway through Ernest Hemingway suddenly took the helm? What if Picasso took over half of the Sistine chapel and used his style? We limit the number of brains making technical decisions not because we don’t think the developers are capable. We know that it’s easier to maintain consistency when there are less decisions being made. “Well why not just use standards and guidelines?” So, you’re saying we should specify how the code should be written? That’s my point exactly.
Anyway, now that I’ve diverted from my original path enough (read The Mythical Man Month for more on the topic of the Unified voice), let me get back to my point. Perfectionism. That is just another lie we tell ourselves when we want to procrastinate. In reality, you’re not going to get anything of substantial size done in one sitting. So just keep doing it, little by little, until it adds up to that big thing. But make sure you are honest with yourself. Ask, is this me Just Doing It? Or am I pretending to do it?