Give a Little, Get a Little
Help your community - or just help yourself - with your next ASP.NET project.
By Jonathan Goodyear
With the release of ASP.NET version 1.0 (as well as service pack 1) several months behind us, many companies are beginning to give their developers the keys to the .NET cupboard. Unfortunately, a lot of other companies are still in a big holding pattern. If you are a developer at one of these more "cautious" companies, you might feel stalemated in your quest to learn ASP.NET. I'd like to tell you about two different ways you can get some real-world ASP.NET experience while waiting for your employer to catch up with technology.
One of the biggest problems with learning a new technology on your own time is you typically don't get experience building a larger system. Tackling a large project on your own can be daunting. The Florida .NET user group (see References) recognized this problem and hatched an effective solution: band together and take on a project for a nonprofit or charitable organization. The developers spearheading the project, Shervin Shakibi, Dave Noderer, and David Silverlight, felt they could forge a symbiotic relationship between developers motivated to learn ASP.NET and nonprofit organizations that had little resources to pay for quality developer talent. So they created a Web site named Non-Profit Ways (see References).
Non-Profit Ways' first volunteer ASP.NET project is to build a Web site for a Chinese-American cultural association that works with children. The organization will use the Web site to allow table tennis players to sign up for a tournament it is hosting as a warm-up to the U.S. Open of Table Tennis. The site also will highlight information about the tournament and its participants.
This site could achieve several desirable outcomes. The developers will get to experiment with new technologies (particularly ASP.NET). The development community will be able to download the source code for free. It will open discussions to debate the techniques used (both good and bad) to build the site, which will then provide valuable lessons developers can take to their next project, whether for charity or their full-time job. Developers also will get a real-world forum in which to demonstrate their talents not only to their peers, but to prospective clients and future employers as well. Best of all, a worthy organization will benefit from developers giving back to their community.
I hope the nonprofit project idea catches on. Florida .NET is a member of the International .NET Association (INETA), so other .NET user groups are likely to start looking into giving back to their own communities by building Web sites for organizations that need their help. Contact your local .NET user group to get involved (see References). In the end, everybody can win.
The second way you can get real-world ASP.NET experience is a more capitalistic approach to learning: Build and sell your own .NET components and source code. When Visual Basic was first released more than 10 years ago, its features were limited. Many component companies that exist today built VBX and OCX controls to enhance the Visual Basic feature set. Back then, developing custom components and controls was difficult and time-consuming. But the .NET Framework's classes are built in a hierarchical manner using inheritance. This includes ASP.NET's server controls. Therefore, you can use existing server controls easily as the basis for more enhanced server controls. You also can get a lot of free help online to get started (see References).
Building and selling your own server controls has several benefits. First, you definitely can leverage your business domain knowledge. For example, if you work for a health-care company, you could build server controls to help streamline health-care Web site development. Developing server controls for your employer's industry also can come in handy when your employer finally lets you develop in ASP.NET. Second, if you plan to sell the final product upon completion of the project, you'll probably put more effort into ensuring its quality. You also must think about phases of the product development lifecycle you might otherwise forget about, including distribution, documentation, and support. In the context of .NET, mastering these other phases is as important as learning the pure development phase. Finally, with a little effort, you can build a nice secondary revenue flow. People can - and will - buy quality ASP.NET server controls, whether to use them or learn from their source code. This might not happen on your first attempt, but keep at it. I know of at least one developer whose ASP.NET server control development was successful enough for him to leave his full-time job and go out on his own. If you don't want to go through the hassle of setting up a credit card merchant account right away, you can use the PayPal payment service, combined with ComponentOne's free PayPal eCommerce for ASP.NET component (see References).
I outlined two possibilities you can explore to get involved in ASP.NET development if you haven't already. The great part about them is they both have benefits beyond the accumulation of ASP.NET development experience. You either can help out your community or make some extra cash for yourself. Some other ideas you might try are building an ASP.NET Web site for your community, starting your own .NET user group, building a Web site in ASP.NET for your family, or rebuilding a Web site you built before (this time using ASP.NET). The key, however, is to actually get involved and build something. Reading about ASP.NET in books, attending conferences, and surfing articles on the Internet alone are not going to give you the exposure and experience you need to tackle full-time ASP.NET development when the opportunity presents itself.
- ComponentOne PayPal eCommerce for ASP.NET: http://www.componentone.com/cmd.boa?product=ESD-AN-PAYPAL
- Florida .NET: http://www.fladotnet.net
- International .NET Association: http://www.ineta.org
- .NET 247 (building server-side controls): http://www.dotnet247.com/247reference/guide/81.aspx
- Non-Profit Ways: http://www.nonprofitways.net
- PayPal: http://www.paypal.com
Jonathan Goodyear is president of ASPSoft (http://www.aspsoft.com), an Internet consulting firm based in Orlando, Fla. He's a Microsoft Certified Solution Developer (MCSD) and is author of Debugging ASP.NET (New Riders). 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.
Tell us what you think! Please send any comments about this article to [email protected]. Please include the article title and author.