How We Learn Technology Today
By Jonathan Goodyear
In February of 2005 my friend (and Senior Acquisitions Editor for Wrox Press) Jim Minatel asked me to participate in a book project that was inspired by a column I wrote for asp.netPRO in November of 2003 entitled Savor the Hack. My initial response was rather cynical: Does anybody still read tech books? After all, doesn t the Internet contain the answers to everyone s programming and technical questions? But I was flattered, and after some nudging agreed to supply the debugging chapter for ASP.NET 2.0 MVP Hacks (http://www.amazon.com/gp/product/0764597663).
This got me thinking, though, about the way that tech learning has changed over the past few years. There are now many options. Each has their own purpose and place in the cycle of tech learning, so I thought I d take some time to review some of them in the context of ASP.NET development.
So where exactly does the Internet fit in? I usually use it for research and tech support. I often find myself Googling for blogs that contain the tips or other information I need to accomplish various programming tasks. It s pretty amazing (and comforting) that no matter what obscure thing I m trying to do, somebody else has usually done it and blogged it. Likewise, I rarely find a time when I m experiencing a problem with my code that somebody else hasn t already encountered, resolved, and blogged. Despite their usefulness, however, blogs are not a good way to learn a new technology from scratch. It s like throwing darts randomly at a map to learn about geography, instead of just buying an Atlas (no pun intended) to figure out where things are. However, one good aspect about blogs is that most of them expose their content via Really Simple Syndication (RSS); if you come across a great blog, you can subscribe to its content using one of the many RSS aggregators available to monitor all the new and interesting posts.
Occasionally, Google will not lead you to the information you seek. Then it s time to proactively ask the developer community for help; but where? There are several options. The old standard is to publish your question to a newsgroup targeting the technology with which you are working. Microsoft maintains an extensive list of newsgroups (http://www.microsoft.com/communities/newsgroups/default.mspx). Google also participates by aggregating much of the content in these newsgroups and making it available in a highly searchable and archival form (http://groups.google.com). Forums are also a good place to voice your tech questions. The great thing about newsgroups and forums is that Microsoft employees monitor them closely and often jump in to provide answers. Not only that, but newsgroup and forum participation is an important criterion for selection into the Microsoft MVP program, so there are many other folks eager to help you (see What Is an MVP, Anyway?). One final place you can ask your tech questions are in chats. Microsoft has been very good about staging public chats on various technologies (http://www.microsoft.com/communities/chats/default.mspx). However, because it is difficult to get the attention of the chat moderator during large chat sessions, this should be your last priority for getting questions answered.
There are several ways to learn new technologies that fall into a new category that I call broadcasting. For example, several how-to videos have been posted to the official ASP.NET Web site (http://www.asp.net/learn/howdoi/default.aspx?tabid=63). Microsoft also operates Channel 9, a Web site that regularly publishes videos covering everything from new products to coding techniques to areas that are still in research (http://channel9.msdn.com). One of the newest members of the broadcast learning category are podcasts (audio streams that you can listen to on your PC or download to a portable music player and listen to later). The two most well known podcasts in the Microsoft developer community are .NET Rocks (http://www.dotnetrocks.com) and Hanselminutes (http://www.hanselminutes.com). I highly recommend both. Video podcasts have become a little more prevalent, but haven t taken off quite as quickly as podcasts. However, Microsoft is working to produce Webcasts on various tools and technologies that you can view.
Another learning category that has grown tremendously over the past few years is what I call direct interaction. This is where you get up from that chair that you ve been sitting in day after day and go somewhere to speak with like-minded developers. The traditional example of direct interaction is the tech conference. These are a good place to get introduced to new technologies and bond with fellow developers. Recently, however, there has been a movement toward smaller-scale direct interaction events, such as user group meetings (short monthly presentations held in the evening; http://www.ineta.org), code camps (free all-day mini conferences, typically held on a Saturday; http://blogs.msdn.com/trobbins/archive/2004/12/12/280181.aspx), and nerd dinners (where developers get together at a mall food court and talk technology over a meal). All of these are a great way to network with other developers and get your questions answered face to face.
Sometimes the best way to learn about a new technology is to see it in action on a grand scale. That is the concept behind Microsoft s Starter Kit initiative. A Starter Kit is a complete sample application that demonstrates the use of a set of technologies in the context of an easily recognizable paradigm. Some examples of Starter Kits that already exist for ASP.NET are a Time Tracker application and a Media Library application (http://www.asp.net/downloads/starterkits/default.aspx?tabid=62). Along those lines, I am excited to announce a new Microsoft program called By the Community, For the Community (http://www.asp.net/Default.aspx?tabindex=6&tabid=50), wherein Microsoft suggests four or five ideas for Starter Kits and the developer community votes on which one they want built. Then a group of Microsoft MVPs (myself included) build that Starter Kit and release it to the community, after which the voting process starts again for the next Starter Kit. This way, the developer community has a hand in deciding what gets built, hopefully leading to even greater interest in Starter Kits.
And where do magazines fit in? Magazines like asp.netPRO play an important role in technology learning because, unlike blogs and much of the other online content, their articles are edited and verified for accuracy. Magazine authors almost always have many years of experience, so the solutions in their articles are battle tested and applicable to real business scenarios. Lastly, magazine articles are typically more complete than blog entries. You get the whole puzzle, not just a few pieces. They differ from books in that each one is focused on a specific business problem and demonstrates how a particular set of technologies can solve that problem from start to finish. Books tend to take a more holistic approach and spend their time explaining the technology itself in great detail, rather than how it can be used to solve specific business problems.
There are many ways to learn new technologies and interact with the developer community. Each technique has a distinct niche in the learning cycle; I recommend you mix things up to get the most coverage and the best results.
Jonathan Goodyear is president of ASPSOFT (http://www.aspsoft.com), an Internet consulting firm based in Orlando, FL. Jonathan is Microsoft Regional Director for Florida, an ASP.NET MVP, a Microsoft Certified Solution Developer (MCSD), and co-author of ASP.NET 2.0 MVP Hacks (Wrox). Jonathan also is a contributing editor for asp.netPRO. E-mail him at mailto:[email protected] or through his angryCoder eZine at http://www.angryCoder.com.