Recently, I was challenged by a prospective client to explain why I should get the web application project when I only had 3 years of ASP.NET experience. I'll admit I was unprepared for the question. My hesitant, but entirely valid, response was about how software development projects are made up of many important pieces including business analysis, project management, application design (i.e. middle tier), user interface, testing and maintenance.
This really got me thinking about the history of .NET, and therefore ASP.NET, and what is the best level of experience to have when working on solutions in 2008. You see, .NET was originally released in version 1.0 in 2002. As a matter of fact, the first demo of ASP+ was here in Phoenix at PDC (Professional Developers Conference) in 2000. The .NET framework 1.0 (and 1.1) was easily dismissed as typical Windows development, i.e. you had better wait until the first service pack before developing anything really important on top of it.
I distinctly remember 3 weeks of experimentation with .NET 1.1 while I had some bench time in 2003 after .NET 1.1 was released. Back then I wasn't much of a web developer, I was more focused on Windows applications and SQL Server. I didn't know what I had. ASP.NET 1.1 had real promise while the Windows Forms portion of the framework was very crashy. Given that I developed (then and now) robust applications that my clients depended upon day in and day out to run their business, I dismissed .NET Framework 1.1. I don't regret it either.
The .NET 2.0 framework released in 2005 is when most developers, including myself, finally came on board. Ask any developer (today), what their favorite version of .NET is and the response will be 2.0. The introduction of master pages, web parts, personalization and declarative data access really made developers job easier.
So, given some time and perspective...my 3 years of .NET experience are right on track with the release of a stable version of the framework. You can make the point that I might be a better .NET developer if I had those additional two or three years of .NET experience, because I would have experienced more pain and thus learned harder lessons. I'll agree with that if you'll agree that, during that same period, I was providing my clients with robust software built on proven platforms (rather than working in immature tool-sets/frameworks just to advance my own knowledge). I won't even bring up the 6 to 10 new business models I learned in that same time-frame that might provide benefits to the business a prospective client would like me to learn today.