Stay on Top With .NET Training
The .NET development world is moving fast - make sure you don't get left behind.
By Mike Young
.NET is an extremely powerful development platform that can bring you huge gains in productivity, performance, scalability, security, and many other aspects of developing Web and Windows applications. But to achieve these gains, you must conquer a nontrivial learning curve. With power comes complexity, and .NET features new languages, design patterns, and thousands of classes in the Framework Class Library you must master to get the job done.
The only way to conquer this mountain of knowledge effectively and in a timely manner is through training. Training can take many forms, and it means different things to different people. Training can involve self-study, attending courses or conferences at a provider's location, or having an instructor come to you. You'll determine the form that works best for you based on a combination of factors, including the advantages and disadvantages of the different forms, personal preferences and capabilities, available funding, location, and the number of people you want to train at one time.
Most people agree that training is a key element to success in software development and you can't afford not to train continuously. But training always is the thing that gets cut from company budgets because "we don't have money for that." In fact, if you care about maintaining your developer skills and staying competitive in a warp-speed industry where many technologies become obsolete when they reach their first birthday, you can't afford not to train.
Max Your Results With Personal Training
The most effective form of training, in terms of packing the most training into the shortest period of time, is concentrated, instructor-led training that includes some portion as hands-on programming. You can obtain this kind of training either from individual consultants who usually provide the training on site or locally, or from training-focused companies that range in size from small to very large. I highly recommend off-site instruction because it lets you focus, leaving behind the distractions and interruptions of ongoing projects at your workplace.
Unfortunately, the most accessible, easy-to-schedule, and inexpensive training options usually are the least effective. These options include the large training companies, which offer courses for every technical topic under the sun taught by a cast of minions that may or may not have any real expertise in the courses they teach. Although I have never attended a course from one of these organizations personally, I have spoken to many people who have, and the reviews usually are lukewarm at best. The common impression left by these companies is they calibrate their training based on the lowest common denominator, so the amount of real training received by each individual is somewhat low unless they happen to be that lowest common denominator. From my experience and observations, bigger rarely is better when it comes to training providers.
The best .NET training available comes from a handful of companies that focus primarily on providing .NET-specific training and whose rosters of trainers include names you probably recognize (see the sidebar, "A Select Few"). Most of these companies also provide consulting services, which is a key element in ensuring that the instructors base their training and examples on real-world experience, not simply academic theory and basic how-to knowledge.
Most companies conduct their courses on site if you have enough students, and they offer public courses on a periodic basis. One thing to be aware of is that the bigger the training company is, the higher the probability that the instructor you receive your training from may not be one of the big-name instructors you think you are getting. Make sure to clarify with the provider who the instructor will be and what its policy is for changing the instructor to ensure that your expectations are met and you are not the victim of a bait-and-switch tactic. The costs for each are all pretty competitive, so you probably should worry more about getting the right instructor and location than shaving a few bucks off the price.
Putting it to the Test
To research this article, I attended a .NET class taught by Juval L wy of IDesign, Inc. (http://www.idesign.net). Juval is a well-known trainer, speaker, writer, and consultant, and Microsoft has recognized him as a "Software Legend" (http://www.softwarelegends.com) as one of the world's top .NET experts. I attended a "Master Class," which is a five-day, densely packed, deeply technical training syllabus that covered everything from the basics of C# and the .NET Framework to much more complicated topics, including multithreading, security, remoting, and enterprise services. The quality of instruction was very high, and it included a well-balanced mix of instruction, demos, and hands-on labs. IDesign and other companies offer similar courses that range from half-day seminars on specific topics to one-week "Master Class," "Boot Camp," or "Guerilla" approaches. These courses offer the most in-depth training in a short period of time. The depth of instruction for some of these courses might be a little challenging for green developers, but even seasoned experts can learn good information and new techniques in these courses.
But there are other options for getting the training you need, such as .NET developer conferences. Unfortunately, these often are overlooked or viewed simply as a good deal. But in fact, most developer conferences are jam-packed with training sessions that directly model the materials presented in other advanced courses, with a little less interaction. Often this is because the speakers at the conferences are the exact same people who provide training as their primary profession. Conferences have the additional benefit that the attendees often can pick from one of several concurrent training tracks, letting you choose the sessions that will provide the most reinforcement of the specific job skills you need. Conferences also offer a good opportunity to meet and network with developers from other companies and industries and to learn how they employ the technologies being discussed.
I recently experienced what I would consider to be a pinnacle form of a developer conference and training opportunity - the .NET Nirvana II Geek Cruise (http://www.geekcruises.com; see Figure 1). This is a developer conference hosted by GeekCruises.com and it's held on a cruise ship. I attended an event co-hosted by Wintellect aboard a Holland America Caribbean cruise with an impressive crew of speakers, including Jeff Prosise, Jeffrey Richter, Brent Rector, Jason Clark, Francesco Balena, and Brian Noyes. The company offers other conferences with a wide variety of technical topics, and .NET Nirvana III hits the seas this winter.
Figure 1. Geek Cruises' home page certainly paints an enticing picture, and the training, professional, and personal experience exceeded my expectations.
Although your perception of this form of conference might be as an excuse to take a vacation and call it business, I found it to be an outstanding mix of professional training, networking, and personal enjoyment. Training sessions were held all day while at sea, with evening events held on the short days in port. The conference provided a great balance of high-quality technical training and interaction with the speakers and attendees that simply is not possible at the bigger conferences. Like other conferences, the cruise had three concurrent tracks, allowing you to hand-pick your curriculum. When you take all this into account, along with the benefits of combining business with pleasure for stress relief and job satisfaction and the fact that the total cost of the trip is about the same as (or less than) sending someone to a major conference out of town, Geek Cruises are definitely worth considering.
If you can't sell the business case for a Geek Cruise or one is not available in your time frame, you have many other large conferences from which to choose. For instance, I have attended several VSLive! conferences and found them to be filled with high-quality speakers and events well worth the cost of the trip and conference; likewise with Microsoft's Tech-Ed and Professional Developers Conference (PDC). Regardless of which conference you choose, take a look at the planned agenda and speaker roster to decide whether it fits your training needs and to ensure the schedule includes a good ratio of well-known speakers and writers. But don't be afraid to attend sessions from unknown speakers - those well-known speakers were not born that way.
Make the Most of Your Resources
If you can't convince your boss of the cost-effectiveness of quality instructor-led training or conferences (hopefully this article will help), or the funds or time simply are not available, you'll be left to your own devices. All is not lost, however, as long as you have some self-discipline and a little free time to pursue self-study. Again, you have many options in this arena, including magazines (such as asp.netPRO), books, and multimedia training. (You also should be learning continuously using the resources I've mentioned here, even if you do get to attend instructor-led training or a conference.)
Magazines and books obviously are an invaluable source for self-paced learning. Publications such as asp.netPRO help keep you up to speed on the latest emerging technologies and techniques, and they do so in small digestible chunks. If you are not a subscriber at least to one magazine in your development arena and reading it regularly, you are doing yourself a disservice. You also have a slew of great Web sites for learning about .NET. Read the CodeWise Community special in the March 2003 issue of asp.netPRO for some pointers to good sites. For general .NET knowledge and discussion, Carl Franklin produces a unique and entertaining Internet radio talk show named ".NET Rocks!" (http://www.franklins.net) that I personally enjoy downloading and listening to while commuting to customer sites.
There also are a ton of books out there on .NET, but beware as the quality of these books varies widely. The best approach for selecting a title is to go with the recommendation of someone whose knowledge you respect. Another approach is to choose a writer you have read before and enjoyed. Finally, there is nothing as good as going down to your local bookstore, cuddling up with a stack of prospective selections and a triple grande frappe mocha-coffelato, and investing an hour or two making sure you don't waste your time on a book that turns out to be a dud. Good books have the additional benefit of still being there to answer your questions when you try to employ what you learned potentially months after you first learned it.
If reading computer books is a sure-fire path to finding yourself waking up in a puddle of drool, other more interactive and visually engaging forms of self-paced training are available. When I went searching for Web-based and CD-ROM-based training related to ASP.NET, I was surprised at the few options out there. The best I could find was a set of CD-ROM-based courses offered by AppDev (http://www.appdev.com), which has a comprehensive ASP.NET curriculum that is quite good. The set includes printed materials as well as the CD-ROMs for video-based training that resembles the kind of content you would get at a software conference. The fact that you can rewind and replay is definitely a plus, and they come with source code you can review and try out on your own. You can control not only the playback of the lectures, but you also can take quizzes to test your comprehension and retention, look things up in a glossary, and use additional exercises and materials located on the CD-ROM. AppDev also offers a similar course on ADO.NET.
Finally, after you have acquired your knowledge and put it to use for a while, why not get a merit badge for your work? Microsoft certifications often can make the difference between getting and not getting a job or contract, which I can say from first-hand experience. Microsoft already has released an entire curriculum of Microsoft Certified Professional (MCP) exams for .NET that can lead either to a Microsoft Certified Application Developer (MCAD) or Microsoft Certified Solutions Developer (MCSD) credential in .NET (see http://www.microsoft.com/mcp). These tests are conducted either by VUE (http://www.vue.com) or Prometric (http://www.prometric.com), and you can take them in an hour or so. Preparing for these exams takes quite a bit longer, but all the training resources I've mentioned so far will help you along the way. One final resource I would highly recommend is to practice with some exam preparation software such as Self Test Software (http://www.selftestsoftware.com) or Transcender (http://www.transcender.com). These companies offer MCP exam simulations that test you with questions that are extremely close to the questions you will see on the exam, and they will help you identify the areas where you need additional study time and provide you training material and references to beef up your knowledge in those areas.
Keeping up with the pace of change is the key to survival in any industry. Armed with the training tools I've mentioned in this article, you can withstand the frequent technology shifts that pervade this ever-changing work environment.
Mike Young is a .NET consultant working in the greater Minneapolis area. Contact him at [email protected].
A Select Few
There are a lot of training companies out there, ranging from small to large. Some good examples of companies in the .NET arena worth looking into include IDesign (http://www.idesign.net), Wintellect (http://www.wintellect.com), DevelopMentor (http://www.develop.com), and the Richard Hale Shaw Group (http://www.richardhaleshawgroup.com).
Wintellect has gathered some of the biggest names in the .NET world into its company, and it certainly has some of the most professional speakers and consultants in the industry. Anyone who has picked up a .NET programming magazine has heard such names as Jeff Prosise, Jeffrey Richter, John Robbins, and Dino Esposito, all of whom are part of Wintellect.
DevelopMentor got a lot of its visibility and fame from some of its early founders and members, including Don Box, Chris Sells, and others. Some of those original founders have moved on to become Microsoft employees, but DevelopMentor still has a bunch of top speakers and writers, including Aaron Skonnard, Keith Brown, and Fritz Onion, to name a few. As far as I can tell, DevelopMentor is the largest of the companies listed here.
is a consortium of top names in the .NET development world who focus on .NET architecture and design, both for consulting and training. IDesign's members have broad experience covering all aspects of .NET, and each member focuses on particular areas for deep coverage of complex topics. IDesign was founded and is still led by "Software Legend" Juval L wy.
The Richard Hale Shaw Group was founded by its namesake who has been a popular speaker and trainer at conferences and his "Boot Camp" classes for years. This company is smaller, similar to IDesign, and has a select group of trainers teaching courses who are well-known trainers and writers themselves.
Tell us what you think! Please send any comments about this article to [email protected]. Please include the article title and author.