I enjoy getting to know people — asking questions about the person behind the product, the blog, the big idea. Jeff Atwood, of Coding Horror fame, was nice enough to become my first victim on ScribeSonic. Jeff runs the popular tech blog Coding Horror, and by run I mean he doesn't just write a few blog posts a few times a month. Atwood manages his own advertising inventory, publishes posts regularly, and even merchandises his blog in a variety of ways — all of which are accomplished on his own terms. I was able to ask Atwood a few questions about Coding Horror, blogging, usability, open source, and few things about himself.
What Atwood does best is write, which he does often, and he writes well. It's the variety you can expect, or not expect, from Atwood which keeps his blog in your RSS reader. On any given week Atwood may discuss everything from Thirteen Blog Cliches to Edward Tufte to ergonomics, and then he'll randomly drop a post on you discussing Computer Display Calibration 101. He's a little outa left field, because you don't know what to expect, but always in the park because all these topics somehow relate to each other in the field of software design and our lives with technology. You keep your eye on him because one way or the other he makes you think, and may even teach you a few things along the way. Thanks Jeff, for your time. Enjoy.
Name, age, favorite recent non-programming/tech book, and when you sleep at night you dream about?
Jeff Atwood, 37. My favorite recent non-programming book is Spook Country by William Gibson. I usually don't remember my dreams, but my wife tells me I talk in my sleep. And evidently I snore, too. Loudly.
Who is Jeff Atwood?
An obsessive-compulsive computer geek with a tendency to conduct wholly unnecessary research on marginally relevant topics.
Why the name Coding Horror?
It's based on an illustration from the original 1993 edition of Steve McConnell's Code Complete (which I use with his explicit permission). It's sort of an inside joke-- part of the journey from amateur programmer to professional programmer is recognizing that the root of your problem isn't your coworker. It's you. You, we, all of us, we're the coding horror.
You seem pretty adamant about keeping your site's content/advertising free from third party hands. For example, you seemed very hesitant to implement FeedBurner to deliver your RSS feeds - so much in fact that you had a discussion with Scott Hansleman to convince you. Also, you manage your own advertising. How important is it for content publishers to own their data and keeping control over their advertising? For those of us who don't follow in your path, what are we losing out on?
I wouldn't start a brand new blog with advertising. It's something you grow into.
That said, everyone has their own path to follow with advertising. You first have to come to terms with the idea of harnessing the energy behind your blog and using it to further your goals in life. Whether those goals are a gold-plated humvee, or better software engineering habits, is up to you. That energy (in the form of advertising revenue) can be a positive force in the world if you do it right.
Once you reach a certain traffic level, not advertising is wasting a substantial part of your blogging effort on.. nothing, really. And that's a shame, as I belatedly realized.
You offer a recommended list of books every developer should read. What I find interested is that you feature more project management, information design, and usability books than you mention actual code/architecture related books. You obviously feel strongly about what developers should be learning, but I'd have to argue that the majority of developers don't have this background in design and usability, both of which are disciplines of their own. Furthermore, to read a book is one thing but getting your hands dirty is another. How can developers learn from the books you suggest, but also implement them in their daily work life? Is it up to the developer, or does management need to get involved, or both?
"...part of the journey from amateur programmer to professional programmer is recognizing that the root of your problem isn't your coworker. It's you. You, we, all of us, we're the coding horror."
I believe programmers are already plenty good at coding. They've proven that skill with their choice of careers. I'm a big proponent of balance-- to learn the other things that will amplify your existing coding skill and take you to the next level.
When did you first realize you cared about typography and usability? Or was it forced upon you?
I can't understate the importance of empathy for the user (often called "the luser"). That "luser" is you. Every software developer is also a software user. As a user, you can't help but care about these things.
What sites should developer's visit or subscribe to their RSS feed to learn more about design and usability?
I'd start with my recommended reading list. I hesitate to hand out blanket recommendations, I think it's better for people to explore and find things they care about rather than relying on what someone else thinks is important. The internet is a big place. Let's explore it together.
Coding Horror is one of the first blogs I've seen monetize itself well and you're really doing it on your own, following DIY ethics. Your recommended book list links out with your amazon affiliate ID, you sell Coding Horror shirts and mugs (I own a mug) via Cafe Express, and you sell/manage all the advertisements on your blog. What lessons have you learned along the way in your attempts to monetize your blog, and does the success outweigh the effort?
Once Steve McConnell so graciously provided the original vector art for the Coding Horror icon (thanks Steve), it was possible to create high quality stickers and shirts based on that art. I've always loved that art. I only created the shirts and stickers because it seemed like it'd be fun to have them. That's sort of the rule I try to follow in everything I do. I like sharing the fun.
So much advertising on the internet is so painfully bad that it's relatively easy to distinguish yourself from your peers in this area. But advertising isn't exactly most people's idea of fun. Follow the golden rule: respect your audience, and they'll respect you.
How important is the Coding Horror blog to you, and do you see a time when you will no longer blog?
It's become one of the most important things I've ever done, completely by accident. I started the blog in early 2004 as an outlet for my own professional development, not to cultivate a large audience. But now that this large audience has materialized, it's incredibly humbling. What else can I do in my daily life that can potentially affect so many people? Everything else I do pales in comparison. It's actually quite intimidating.
What is the greatest mistake you've made with regards to blogging, and lesson learned?
The blog has brought nothing but positive results. My only "mistake" was not starting sooner.
If you could give one piece of advice to a developer out there looking to start a blog, what would advice would you give them?
Pick a schedule and stick with it. Almost nothing else matters until you follow this one rule for about a year. And don't write for any other reason than pure personal enjoyment. If you write to satisfy anyone other than yourself, you're bound to come away disappointed.
What's wrong with the web today?
In a way, I'm in love with the web, so this is like asking what's wrong with my girlfriend or wife. Nothing worth mentioning.
So, where did that $10k go to open source .net projects?
Nowhere yet. I am still struggling with the best, most democratic way to allocate the money among so many disparate open source .NET projects. A simple vote on a ballot with 100+ projects is a non-starter. It's a tough problem, but some ideas are forming, and I should have an answer soon.
What non-dotnet projects are you most interested in these days?
Like everyone else, I think I'm most interested in how the influence of Ruby, as a dynamic language, and Ruby on Rails, as a web-centric domain specific language, will trickle down into existing toolsets. It's already starting to happen, and I applaud the innovation and the much needed competition. The downside, however, that RoR plays into the magic bullet mystique that's still endemic in software development; it's foolish to think that RoR-- or anything else-- will fix all your web development problems. But people love stating it that way. They just can't help themselves. It's like OOP, RAD, and so many other things in software engineering. Some things never change.
What's the difference between a developer and programmer?
Personally, I don't recognize a difference between these two terms. I use them interchangeably. Some people get up in arms about it -- it's like the artificial distinction between "hacker" and "cracker" which seems to raise so many hackles, but I could care less. Whatever you call us, we're all peers muddling through together.
Thanks Jeff.
No problem! I enjoyed it.
Filed in:
Tech News
Tagged:
codinghorror, jeffatwood