The cry is getting louder and louder and is even starting to come from gurus everywhere, including the likes of Billy Hollis, Jon Box, and Clemens Vasters.
"What the heck am I supposed to focus on here?"
There is so much great technology coming out of Redmond that we just can’t keep up any more. I wrote a blog post in September called “The Inevitability of Specialization,” which I was inspired to write by a post that Clemens had written in his own blog. It’s a huge problem for so many of us who think of ourselves as “generalists” and have been able to make a living this way. Clemens has given in and gone to work on the Windows Communications Foundation team at Microsoft (and we are thrilled about this turn of events).
But here I sit trying to roll out client applications in Visual Studio 2005 while watching issues of CoDe Magazine pile up on my desk with articles on Avalon, LINQ, and AJAX, and an upcoming series on WCF. And I desperately want to learn every single one of those technologies. They are all fascinating! It's not just developer tools that are coming down the fire hose. I have a Toshiba Tecra M4 sitting on the coffee table in my living room that has the December CTP of Windows Vista installed (something that took me days and days to accomplish) and the Office 12 Beta. The new Vista CTP is rumored to be available in the next day or two.
Personally, I am going to approach this problem as any good (indecisive) Libra who exhibits ADD-like behavior would do. I am not going to just pick one technology and focus on it and try to be a guru. Instead, I will continue my jackrabbit behavior and do the best I can to juggle and go where my needs and my heart take me. I know I will never be a guru and may even just go insane, but at least I’ll have fun doing it.
Being self-employed gives me the ability to make these choices for myself. What about developers who don’t have that option? Perhaps those even working for a company that still uses Visual Basic 6? Keith Barrows, who is a contractor and one of the ASPInsiders, says that he focuses on the parts that impact his job and then learns them quickly.
What drives you to a technology? Most developers probably have two motivations. The first is real-life (billable or salaried) problem-solving and the second is innate curiosity. As an independent contractor, I am called on to work with myriad technologies. I have a client for whom I have been writing software for years and sometimes his needs call for a smart client, sometimes an ASP.NET application, sometimes he needs ink capabilities. Most solutions call for mobility, which is how I got involved with Web services, and everything needs to be secure, which forced me to learn more than I wanted to about cryptography.
I do have my limits though, which is why I will be passing a SharePoint project that I created for this same client on to a SharePoint guru. This is a big step for me and my client.
Even if I were able to shed responsibilities for technologies that I’m not interested in, this does not reduce the number of things that I want to work with. Still, there is no question that focus is required. It is absolutely necessary to be very good at some things even without being a world-renowned expert. It is equally important to be aware of your limitations.
As to keeping up with all of these technologies, probably the best bet is keeping abreast of them and knowing enough to be ready to dive in when necessary. This seems to be Jon Box’s plan. By reading blogs and articles, he says he’ll hopefully “have just enough conceptual knowledge to make the learning survivable.”
And don’t forget that there are already people who have made these choices and are forging the way for us. For example, the authors of the upcoming WCF series in this magazine-Juval Löwy, Michele Leroux Bustamante, and Christian Weyer. I can paddle around the perimeter of WCF while those three dive around into the deep and still very murky waters. Such martyrs!
Dan Wahlin, who is a consultant, author, and conference speaker, is a fan of the short demo videos that are starting to surface. The MSDN Regional Directors did a series of these called GrokTalks at TechEd 2005. DotNetRocksTV is another source, and I have learned from others as well. Listening to them is a great way to get the basics on how to use new tools.
Billy Hollis, whom we already know as a Windows forms guy, is planning on focusing on WPF, a natural transition. But I was surprised to discover that he is chomping at the bit to learn WCF, too. Charles Petzold is head-down, working on a WPF book. I watch as many of the ASPInsiders focus on IIS7 and Atlas: the former I have never touched and the latter I played with in the fall but have not kept up with its evolution.
Alex Homer and Dave Sussman, who have made their names as a team with books on ASP.NET and ADO.NET, are feeling this crunch as well. Although they are focused on only two technologies, even within those relatively narrow areas, they tell me that they are equally overwhelmed by the amount of what there is to learn and are trying to figure out how to tackle it.
I never even installed .NET 1.0 until after it was released. Now I find myself worried about getting behind on technologies that aren’t out the door yet.
Are there really more new things coming down the pipes than ever before? Perhaps this fear of the fire hose is a result of Microsoft’s new transparency and the explosion of developer blogs.