My friend and co-worker, Scott Hanselman, has started writing a monthly column appearing on the MSDN Coding4Fun site called "Some Assembly Required." He's done two hobbyist programming articles, one where he outputs "what's playing" info from Windows Media Player or iTunes to a small LCD panel, and a second where he retrieves weather information not only from a Web Service, but also from a local "Phidget" analog thermometer.
The whole idea behind Coding4Fun is that there's a whole group of people out there who are not programmers, yet are interested in learning how to do some cool, small, practical things. Hobbyists - the "occasional" programmer, who likes to learn and create things for fun.
I am one of those types of people - Coding4Fun lets people like me learn and play a little, without requiring regular attendance at night classes.
It's also an effective way of rejuvenating perhaps one of the most important reasons our most talented programmers got to be so good in the first place: It was a fun hobby that eventually turned into a talent and a great career. I got involved with computers and programming in Apple BASIC when I was a kid for three reasons: First, because they were around me. Second, because people around me made it interesting. Third, because I had how-to resources that helped me get familiar and started creative process flowing.
We're going to need new talented programmers, designers, architects and testers from now until the end of time - it's not a need that will ever go away, it will only get bigger. So, this is a great resource for kids and adults alike who are looking to learn something new and enjoy themselves along the way.
After all, take one look at the numbers: Learn what the fastest-growing college major is, and you'll see why I say creating programs like this is a good thing, and why you should spread the word and encourage the young-un's to get involved.
I'm not a programmer these days (by choice ), I work on the other side of the fence managing information technology, operations and security. But the programming skills I learned when I was younger had a direct impact on my career choices, and has had a profound impact on my ability to do what I do every day and to understand the people I work around. My interest as a hobbyist today stems from my past experience. I apply that interest and experience when making changes and tweaks to my blogging software. I create little things that help me do my work. More importantly, I can talk enough of the talk to understand what a programmer means when they need to explain something to me. And just as important, I know what I don't know, and when to get out of the programmer's way.
At any rate, if you know someone who says they wish they could learn a little more about .NET programming just for fun but they don't know where to begin, encourage them to check out MSDN Coding4Fun. It might just help them get started.