Experiences and Experiments in Programming

 Tuesday, October 28, 2008

They just announced the release of the Silverlight Toolkit at PDC08.  The toolkit is an out-of-release-cycle set of controls and components for Silverlight 2.  Full source code is available.  Check it out here.

Tuesday, October 28, 2008 11:31:03 AM (Central Standard Time, UTC-06:00)
 Friday, October 24, 2008

Last night I went to dinner with Aaron Skonnard from pluralsight, Jeff Barnes, and Robert Cain.  Aaron and Jeff talking services, Robert covering Database, and me on the UI, we had the conversation covered from all angles!  One of the things we talked about was the limitation on the breadth of material you could precisely cover now, effectively specialization.  On the other hand, we have the need to know things outside of our specialization in order to make good decisions about the use and application of our specialized area of knowledge.

This morning, in trying to get caught up on some reading, I read Jesse Liberty's blog entry about specializing.

So the question blazed even more in my mind.


My story, as I imagine is the story of many of us that have been in this industry for 20 years or more, is similar to Jesse's.  I remember a day when you really could know everything about the technologies around you.  I remember being an expert (whatever that really means) in ColdFusion, ASP, JavaScript, Windows Development, SQL, and more.

As time has gone on, it has become increasingly difficult to keep up with all the changes.  At first, it was very difficult for me to give up technologies.  I liked knowing all the things I needed to know to accomplish any task asked of me.  One at a time, I quit trying to keep up with the latest changes in certain technologies.  I started moving more toward a web technology focus, then to a more UI technology focus.  And it continues to this day.  I still try to keep up with ASP.NET, AJAX, etc.  I also have been keeping up with what I call the "XAML technologies", being WPF and Silverlight.  But even this becomes increasingly difficult as all three of these areas, ASP.NET, WPF, and Silverlight, explode into new realms of capability and, thus, possibility!

So what are the implications of specializing in these technologies and why can it be so difficult to specialize and still be effective?

Take Silverlight for example.  It would be possible to narrow your scope to XAML as it relates to Silverlight.  You could dive into the controls, styling, binding, usercontrols, the visual state manager,etc and never even have to use C# or VB.NET (or JavaScript in the case of Silverlight 1).  So do you become a XAML expert and not keep up with the changes to the C# and VB.NET languages?  Possible, but would you be or become an effective Silverlight developer?

So, perhaps that is a bit of a microview example.  So let's get to the real question that is on my mind.  Staying with Silverlight as our example technology, how far do you go and how deep do you go into WCF and REST-ful services?  While "services" is definitely a completely different technology focus than Silverlight, it is my feeling that Silverlight, WPF, and ASP.NET, will be most effective when services are a part of the picture.  This is especially true with recent and soon to be announced advances in the "services" space.  As an example, just think about how "services in the cloud" are going to affect UI development (or at least it's integration with business logic and data).

Specialized Generalist?

I'll admit, I am way behind on the advances in the "services" space and have to get caught up soon.  I imagine next week's PDC may be the fire that ignites my getting back up to speed.  But how far should we go in the technologies that are not our chosen specialization.  Is it possible to become a generalized specialist? or perhaps a specialized generalist?  Perhaps the definition of specialist, or how we define specializing, has to change.

I imagine it won't be long before these questions are answered out of sheer natural progression; given the rate at which new technologies, perhaps we could call it "integration technologies", are emerging and evolving.

What do you think?

Friday, October 24, 2008 8:54:03 AM (Central Standard Time, UTC-06:00)
Who Am I - Todd Miranda
MVP Visual Developer - ASP/ASP.NET
On this page....
<November 2019>
Aggregate Me!
RSS 2.0 | Atom 1.0 | CDF
Contact me
Send mail to the author(s) E-mail