Programming lesson: Don’t slog away at the end of the day.

A picture named mrNatural.gifHere’s one of the fundamental rules of programming.

You’re at the end of your day, you’ve gotten a lot of stuff done, and you have one more thing to get right before the feature is complete, and you’re searching for the answer, trying all kinds of ideas, thoroughly confused, not wanting to get up until it’s done, just slogging away and not getting it. Finally, you give up after a couple of hours of spinning your wheels, eat some dinner, watch a little basketball, have a glass of wine, read a little and crash for the night.

Get up the next morning, make some coffee, read the news, roll up your sleeves and start over with the problem.

Five minutes later it’s done.

Happens every damned time.

The problem isn’t intractable. It’s just as difficult as all the other problems you solved the previous day. It just came after your mind shut down. So you might as well quit work a couple of hours earlier.

Programming isn’t like digging trenches. The amount of work you get done is not directly proportional to the amount of time you work. Also believe it or not your mind is solving problems while you sleep. That’s why the answer is apparent first thing in the morning. Even after 30 years of programming, I’m still learning this lesson.

Advertisements

About Dave Winer

Dave Winer, 54, pioneered the development of weblogs, syndication (RSS), podcasting, outlining, and web content management software; former contributing editor at Wired Magazine, research fellow at Harvard Law School, entrepreneur, and investor in web media companies. A native New Yorker, he received a Master's in Computer Science from the University of Wisconsin, a Bachelor's in Mathematics from Tulane University and currently lives in Berkeley, California.
This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s