JoeBork's Weblog

Breaking software in new and interesting ways

Why hobbyist programmers matter

Rory asks the question, “Should the hobbyist programmer matter to Microsoft?”  His answer, basically, is no, saying “I would prefer to think that Microsoft is going to continue to do what it's been doing for the past few years: Refine the development tools and technologies so that they make more and more sense to developers, rather than worrying about whether or not they make sense to niche markets.”

I respectfully disagree; I believe that Microsoft has an undeniable responsibility to the hobbyist programmer.  There are a lot of reasons why this is so, but the most important one is this: The hobbyist programmers of today are the professional developers of tomorrow.

Perhaps my disagreement stems from a matter of semantics.  Depending on how you define “hobbyist programmer,” you'll get wildly different groups of people.  To me, “hobbyist” is painting with a wide brush -- anyone from a student doing a homework assignment to a businessperson who writes Excel macros can probably fit somewhere into the “hobbyist” bucket.  I cut my programming teeth on QuickBasic 4.5 and Turbo Pascal 5.5 when I was in school, and one of the things that made these tools so appealing was they did a good job of satisfying the needs of hobbyist and professional developers alike.

There are several factors that make successful tools for the hobbyist programmer.  Certainly the cost of development tools is one -- there's a reason that tools like Eclipse and SharpDevelop are fairly popular.  But more importantly, having a toolset that makes it easy for a hobbyist to be productive is vitally important.  There are a lot of people for whom a development tool (and programming in general) is not a journey but a means to an end.  Building tools that make it dead simple to give people a taste of success in solving their problems is enormously important.  The success of the .NET platform depends on the success of .NET developers, professional or hobbyist, and we need to make sure that Visual Studio is always getting better at helping developers be successful (and happy!).

Many so-called “hobbyist features,” like wizards and designers, can be useful to developers of any variety.  Even if you're a professional developer, is it worth your time to manually crank out hundreds of lines of code to wrap your DataSet in a strongly-typed class when you can get a typed DataSet essentially for free using a wizard?  It's tempting to try and draw a bright line between tool features for professional and hobbyist developers, but the reality is that the distinction is blurred.  As the demands on a developers time increases and as the complexity of software grows, this line will become even less distinct. 

Everything else aside, for me the desire to see Microsoft “worry” about hobbyist programmers is a personal one.  Coming from such a hobbyist background, I want to see us excite and encourage other hobbyists as much as possible.  And then we should hire them as software testers, and give them all window offices, Tablet PCs, and Smartphones.  (But that's just my opinion...)

Published Wednesday, March 03, 2004 11:02 PM by joebork
Filed under:
Anonymous comments are disabled

© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Microsoft
Page view tracker