Saturday, May 31, 2008

I am not an authority on anything...

Scott Hanselman posted Professionalism, Programming, and Punditry and Success as a Metric in response to Jeff Atwood's rebuttal of Alastair Rankine's post Blogging Horror.

I have been thinking about unsubscribing from Coding Horror for a long time now, and it manifested itself the other day when I joined Twitter because I decided not to follow Jeff, primarily for this reason from Alastair:

It seems quite apparent that Jeff Atwood has stepped outside his expertise recently, and that this is something he did comparatively rarely in the past.
I have no problem with any blogger "stepping outside his expertise" if they do it well by making sound arguments. The problem with Coding Horror lately is that Jeff has not been doing a good job when outside of his expertise. I am actually not sure what Jeff's expertise is, but the blog being "outside" of it has been more of a feeling than anything quantifiable. That is part of the point though of both Scott's post and Jeff's rebuttal to Alastair, with Scott summing it up the best:
I'm definitely not an authority figure on software development

I agree with both Jeff and Scott, and as I titled this post, I am not an authority on anything. I am not even in the same galaxy of RSS subscribers (as of this writing 128) or page-views (averaging slightly north of 100/day), as either of these guys so I am pretty sure I don't even have a loud voice if those are this measuring contest's metrics. The whole idea of a programming expertise though is something that I think deserves more inspection. Here is a definition of expertise:

expert skill or knowledge in a particular field
and expert:
a person who has a comprehensive and authoritative knowledge of or skill in a particular area

Programming is a particularly hard discipline to reach expert in, if it's even possible, since you not only need experience shipping product for years, you have to keep renewing your knowledge on the latest versions of your entire platform. If you were only suppose to blog about the things you were expert in, the vast majority of us wouldn't be blogging.

I have also made the decision to almost entirely not write about the topic I have the most experience (10-11 years) on, shipping software that runs on Windows. Most of that is ASP.NET, followed by Windows Forms, then very distantly by MFC C++ and pure Win32 C. Since I am usually paid by someone to do that, and Windows is not my hobby anymore, I haven't been writing about it much. Instead, what I have been writing about and what I will most likely continue writing about is Apple, OS X, Xcode, Objective-C and iPhone development. I hope to ship an iPhone app as soon as the App Store is accepting submissions, so at least I will have some OS X development experience to base my credibility on. Too bad Apple's got such a restrictive NDA policy on the iPhone SDK developers or I would have written a ton of stuff on my experience on that. I do and I will continue to step outside my professional experience with movies and gaming, I don't make either professionally, but I do have strong opinions, weakly held as Jeff says.

Why do I write at all? Like Scott, I find teaching is the way I best learn something. When I either have to write it or talk about it, I learn it better. I also use my blog like Scott as a way to remember the things I want to remember. I also hope I help people learn something from time to time. So I am going to continue reading Coding Horror, but I hope Jeff takes Alastair's post as the wake-up call it is and exercise better editorial control.