Rule 21. Sometimes You Just Need to Hammer the Nails

Programming is an inherently creative, intellectually challenging activity. That’s a big part of why I love it, and you’d probably say the same. Every problem is different than the ones before, requiring a little bit of cleverness to solve—though, per the Rules in this book, hopefully not too much cleverness!

But not every problem has an elegant solution. Even the most exciting programming assignment has moments of drudgery: tasks that aren’t interesting, that it’s difficult to get excited about, that nobody wants to do. It’s easy to work on the exciting stuff instead, putting off the drudgery and secretly hoping that someone else on your team will take it on instead.

With that setup, the moral of this chapter will come as no surprise—don’t skip the drudgery. That unlovable task isn’t going anywhere. There’s no hidden army of code elves who’ll do the work while you’re sleeping. And half-completed tasks are a slow poison, working to kill your project.

The key is to know the danger signs. You’re a clever person,1 more than clever enough to rationalize away the necessity of the tasks you don’t enjoy. That’s especially true if you have a long backlog of more interesting tasks to get to.

Knowing the sorts of tasks that you personally tend to ignore is a key bit of self-knowledge. Your list may not match mine, or match your coworkers’—one programmer’s drudgery is another programmer’s day at the park, to coin a phrase. Once you can ...

Get The Rules of Programming now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.