Hobbyist programmers matter: A Lot

Rory sez Microsoft shouldn't cater to hobbyist programmers. Scoble disagrees. I'm really ticked off because I just wrote a column on this, so I can't post that for four weeks, but here are some points...

Hobbyist programmers matter a lot. According to Microsoft, there are 7,000,000 hobbyist programmers in America. Not "professionals who occasionally contribute to an OS project on the weekend," but people whose sole programming is hobbyist. That's more hobbyist programmers than mountain bikers, or snowboarders, or SCUBA divers. Even if they had no relevance to the rest of the software development profession, that's too big a market not to serve.

But they do have relevance to the marketplace, because tomorrow's programming professional is a hobbyist today. The hobbyist programming zeitgeist is at least as significant as what is taught in undergrad CS -- the minority of professional programmers have CS degrees. So it behooves those who wish to advance the profession to expose hobbyists to techniques and platforms that are both fun and advanced, instead of letting them languish in the squalor of imperative code.

Further, the hobbyist market should matter to Microsoft simply as a matter of strategy. Part of being a hobbyist is becoming a vocal and enthusiastic member of a community. It doesn't take a genius to realize that hobbyists today are being drawn by free-as-in-beer tools into a community that has "anti-Microsoft" (or, should I say, "M\$") as one of its touchstones. A generation of teenage programmers who are reflexively anti-Redmond is a very bad thing for Microsoft's 2012 recruiting efforts.  

In a comment on Scoble's site, Rory clarified that he wasn't dissing hobbyists, he was saying that Microsoft shouldn't cater to them at the expense of professionals using VS.NET. Oh geez, yeah. It's not about compromising VS.NET or giving MSDN subscriptions away to every High School in America -- it's about a market whose needs are significantly different than the needs of an ISV. You don't win the hobbyist market by saying "Hey, free-as-in-beer compilers are available in the .NET SDK. Oh, and there's plenty of stuff about DirectX on MSDN." You have to support that market with tools and resources that are specifically geared towards their interests: they want to make their computers do cool stuff. Preferably with graphics. 3-D graphics. And they want languages and libraries and techniques that give them results all the time -- not six hours after they start.