How to be Jeff Atwood

jatwood circa 2004the real jeff atwood

Jeff Atwood writes CodingHorror which has been steadily building an audience over the last few years and is now a very popular destination for programmers.

I'd like to share my current opinion of the formula for creating Jeff Atwood style articles, in the hope that it may inspire someone, somewhere to do something, somehow.

Here it is:

1. Get an opinion

Uncover some ugly half-baked opinion in the dank underground of your tortured soul.

Or, stumble upon some small yet intriguing factoid in the narrow side-streets of computing.

2. Resist the urge to blog at this point.

99% of bloggers would dash out their hideous wretch of a thought at this point.

Jeff holds back.

3. Research the classics

Remember: if you steal from one source they call it plagiarism. Steal from many, they call it research.

First, turn to books. What does Steve McConnell say? Tufte? Brooks?

Highlight any well written phrases you may wish to quote.

4. Beyond the classics

Ah, but the classics so often fall short. Particularly on contemporary topics.

Turn to the words of reputable bloggers, or better yet, wikipedia. Branch out from there.

Again, highlight phrases with a quotable turn of phrase.

But be ruthless and perfectionist in your approach: quote no trash.

5. Look for opposition

Actively seek out contrary opinions. Every topic has naysayers, and amongst such sayers of nay must be people who express valid concerns.

Be prepared to change your mind.

And again --

Highlight any well written phrases you may wish to quote.

6. First Major objective satisfied

Now you've collected the meat around which the gravy of your narrative shall flow.

Crack knuckles, sit straight, for now you can write the text itself. Lay out the quotes before you and choose only the best and most worthy.

7. Reader is ignorant yet intelligent

Assume the reader knows nothing about the specific niche topic at hand.

And yet -- here's the hard part -- treat the reader as your intellectual equal. Talk across to them, not down to them. They are exactly as smart as yourself, but it so happens that they have not, just moments ago, finished reading the very best writing on the topic at hand, and as such they need some friendly coaxing.

If new terms are introduced -- define them. Or failing that, provide a link to a definition.

8. Take a side - for now

Be willing to take sides, by all means. But present both sides of the arguments in a fair light: hence, do not try to make either side appear worthy of ridicule.

Amongst your readers are many informed people who may bring to light information that changes your opinion. So be honest in your opinion, but not dogmatic.

9. Why choose that heading?

Choose a heading that is open to misinterpretation.

The heading should raise questions, not answer them. Answers are complex things, and readers shouldn't trust any article that answers everything in the heading.

10. Google Search for images

It's near the end of this article and you are hardly reading now -- which is a shame, because the best tip is the final one.

Perform a google image search for something entertaining (or disturbing) to accompany and lighten your research. Your own biases will probably come into play here and you'll adorn your article with pictures of computer games, console apps and kittens. But you can't be perfect. After all, you're only Jeff Atwood ;-).

Scan over your writing one more time. Ensure the tone is friendly and informative: capable of causing upset, yet never quite, exactly "wrong".

Hmmm. To be honest, just go read his site and make up your own rules. He breaks these ones all the time.

The only absolute rule I know he follows -- is to be Atwoodistic. I would define Atwoodism as follows

When you mention a topic you've covered previously, provide a link. Always.


I'm currently writing a book about how to build your first product. If you want to build your first product, please sign up to be notified when the book is available.

(By the way, I read every comment and often respond.)

Your comment, please?

Your Name
Your Url (optional)
Note: I may edit, reuse or delete your comment. Don't be mean.