Coding on the Edge

As of December 2011, this topic has been archived. As a result, it is no longer actively maintained. For more information, see Archived Content. For information, recommendations, and guidance regarding the current version of Internet Explorer, see Internet Explorer Developer Center.

Robert Hess
Microsoft Corporation

February 12, 2001


Who Trains the Trainer?
Expect the Unexpected
Peer to Peer
At Journey's End
For More Information

Advancements in computer technology and programming show no sign of slowing. Daily there is some announcement from some company about how a technology it is working on will revolutionize the computer industry. Programmers eagerly pour through these news releases and technical articles with a sense of pride, knowing that this is their adventure, their brave new world.

But who among us will be the explorers who take the first steps?

What sort of programmer are you? Do you prefer the safety of established technology, where you can be assured of finding a wealth of information and training material? Or do you hunger for the excitement of blazing new trails, and uncovering new and uncharted territories? While the dangers of this frontier before us provide fewer physical risks than did the travels of Lewis and Clark, the excitement and the rewards of the journey are every bit its equal.

Many of us are looking out on the wide landscape of .NET, and trying to understand what it offers and how we can tame it to do our bidding. Like any new technology along these lines, there are countless opportunities hidden within its folds, and some of us will be among the first to check them out. Are you such an explorer?

I've been dealing with new technologies coming out of Microsoft for many years now, so I thought I'd spend this article providing some guidelines and pointers that might help some of you budding explorers.

Who Trains the Trainer?

One of the things that amazes me when I see a beta version of a technology being rolled out is that there are always people clamoring for training materials or books, or bemoaning the lack of quality samples. Something tells me that they just don't get it. Lewis and Clark might as well have asked the president for detailed maps of their expedition route.

For any new technology, there is always going to be a time when hardly any "training" material is available, and whatever such information is available would often be better used as kindling. Before you even consider getting involved in a beta program for a new technology, you need to figure out whether you feel comfortable doing your own training and discovery as you move forward.

I always find this challenge to be exciting. It reminds me of when I used to play Adventure or Zork back in my formative programming years. Everything was in the form of a puzzle that needed to be solved, and relying on others to tell you the solution just ruined all the fun.

Expect the Unexpected

It is important to remember that a beta program is intended as an early look at a program or platform before it is ready for release. The reason it is not ready is usually because there are still deficiencies in its functionality, missing features, performance issues, compatibility problems, or all of the above. In other words, be careful. You should never install a beta program onto a production system. If you have only a single computer at work, and you depend on its functionality to get your job done, you probably shouldn't be getting excited about beta programs.

A properly outfitted explorer will have at least one spare system for experimenting on. Perhaps not a speed demon, perhaps not loaded with the latest hardware devices and such, but a good sacrificial lamb for installing betas.

Peer to Peer

When dealing with new technologies, I don't mean to say that there is no recourse for getting answers to some of your probing questions, only that your standard avenues for support probably will not work. Instead of relying on normal product-support channels, you'll often need to use peer-level support. This means getting in contact with other explorers like yourself and sharing thoughts, ideas, and discoveries that you've encountered while working with this new technology.

There are various channels available for this. Often, folks from Microsoft and other firms that are releasing new technologies will set up newsgroups or similar forums to help developers contact each other. Sometimes, you'll have to scout on your own to discover gatherings of your peers, or perhaps even set up your own forum.

In many cases, these sorts of peer-to-peer support channels are the most effective way to learn the ins and outs not only of emerging technologies, but also of established and well-understood technologies.

At Journey's End

Over time, as the beta cycle moves to release cycle, and on to actual product availability, you'll find that information becomes more common. You'll be walking down the aisle of some bookstore and see a book that explains in exquisite detail everything that you were having so much trouble with only a few months before. The Web is filled with sample programs. Your mother is installing the technology on her system without any problems. And even your little brother is talking about it as if it were second nature.

Finally, you can sit back and relax. You can install the released version of the technology. Program it with easy-to-use tools. Find any information about it right at your fingertips. No more stress, no more pressure, no more sleepless nights staring at the monitor hoping that the bug that is breaking your code will suddenly reveal itself. You can now rest.

Why then do you find yourself filling out another beta request form for yet another new technology? Are you a glutton for punishment?

No. You are an explorer.