Guest Opinion

Your Training, Your Responsibility

You have a lot of training options as a developer, but it's on you to make sure you get the training you need, regardless of whether you're an independent contractor or work for a large company that pays for your training.

It doesn't matter whether you're a self-employed consultant or you work for a large company that covers training costs for its employees: Training is your responsibility. In either situation, you'll need to put in time and effort to keep current, and that means some unpaid hours.

Keeping up to date in technology has never been easy, and today's accelerated pace of change makes it more difficult. The cumulative effort required to stay current threatens to strangle our industry, but that doesn't change your responsibility as a developer to know how to use technologies effectively.

Staying in old languages is at best a temporary strategy because new languages and versions are better. You'll move forward whether you need OOP, event management, better security, an updated UI look, or specific features such as reflection—not just because you need the features (and you do), but because businesses will demand these improvements. The demands of evolving technologies makes training important, whether you need to bridge the chasm between VB6 and .NET, jump from .NET 1.1 to 2.0 (Whidbey), or learn the latest techniques. The more passionate you are about learning and applying new ideas, the more you'll improve as a programmer—if you've got the tools.

If you're an employer, remember that efficiency and quality in development depend on how well your staff is trained. Training tools are expensive, but not as expensive as not staying up to date. High out-of-pocket expenses mask the greater cost of time and the importance of quality training. It's a losing proposition to skimp on the quality or efficiency of training in order to lower direct costs.

If you work for yourself or your employer isn't going to support your professional growth, it's harder to set priorities because a week's training can cost as much as taking your best friend to Tahiti. Many programmers who still work primarily in VB6 face this situation. I wish I had easy answers. Upcoming Express versions and cheap PCs give you the equipment. Stay on the latest or beta versions, treat your time as valuable, and focus on building a support system for guidance. A support system goes both ways, and you'll learn as you help others.

There is a wide spectrum of training available. At one end of the spectrum, curriculum-based training classes are available on-site, online, and at training facilities. Any curriculum is a one-size-fits-all approach bound to teach some things you don't need. On-site trainers can customize their non-Microsoft curriculum; but it's tough to know what customizations you need. For convenience, curriculum-based training generally occurs in a dedicated week. Returning to your office, last week's emergencies grab your attention and by the time you shift what you learned in class and samples to your own work, you're probably struggling to remember it.

At the other end of the spectrum is learning on your own. You'll need a support system along with resources such as books, magazines, and Google, because .NET can be complex and frustrating. To create a support system, combine online communities, real-world user groups, and personal networks. Webcasts, white papers, articles, and samples abound on the Internet, and the challenge becomes separating the gold from the sand. Interactions with other people are a sluice box for finding appropriate material and summarizing known issues.

Other approaches to training can work. I've had success with leading custom training while using the team's own project, teaching the team precisely what it needs in context while moving the project forward or kick-starting it. On-site training is surprisingly cheap if you have the facility. You can also create study groups within your organization or as an offshoot of a user group. Conferences often have tracks covering fundamentals. You can task one programmer that has good communication skills to teach other programmers as he learns himself.

Make training a priority. Shut down the cell phones and don't allow interruptions. If you're a developer, take advantage of the best tools available, whether or not they occur during normal work hours. If you're an employer, provide the best tools you can afford to leverage your programmers' own efforts, along with appropriate encouragement and incentives. Whatever tools you use, training is a core part of today's development experience. You cannot remain relevant without ongoing attention to your training strategy.

About the Author

Kathleen is a consultant, author, trainer and speaker. She’s been a Microsoft MVP for 10 years and is an active member of the INETA Speaker’s Bureau where she receives high marks for her talks. She wrote "Code Generation in Microsoft .NET" (Apress) and often speaks at industry conferences and local user groups around the U.S. Kathleen is the founder and principal of GenDotNet and continues to research code generation and metadata as well as leveraging new technologies springing forth in .NET 3.5. Her passion is helping programmers be smarter in how they develop and consume the range of new technologies, but at the end of the day, she’s a coder writing applications just like you. Reach her at [email protected].

comments powered by Disqus


  • AI for GitHub Collaboration? Maybe Not So Much

    No doubt GitHub Copilot has been a boon for developers, but AI might not be the best tool for collaboration, according to developers weighing in on a recent social media post from the GitHub team.

  • Visual Studio 2022 Getting VS Code 'Command Palette' Equivalent

    As any Visual Studio Code user knows, the editor's command palette is a powerful tool for getting things done quickly, without having to navigate through menus and dialogs. Now, we learn how an equivalent is coming for Microsoft's flagship Visual Studio IDE, invoked by the same familiar Ctrl+Shift+P keyboard shortcut.

  • .NET 9 Preview 3: 'I've Been Waiting 9 Years for This API!'

    Microsoft's third preview of .NET 9 sees a lot of minor tweaks and fixes with no earth-shaking new functionality, but little things can be important to individual developers.

  • Data Anomaly Detection Using a Neural Autoencoder with C#

    Dr. James McCaffrey of Microsoft Research tackles the process of examining a set of source data to find data items that are different in some way from the majority of the source items.

  • What's New for Python, Java in Visual Studio Code

    Microsoft announced March 2024 updates to its Python and Java extensions for Visual Studio Code, the open source-based, cross-platform code editor that has repeatedly been named the No. 1 tool in major development surveys.

Subscribe on YouTube