The Technology Deluge Continues

1. May 2007 10:00

Over the last year or so, there has been a continuous wave of technologies released from Microsoft.  We witnessed the official release of .NET Framework 3.0 in which WCF, WPF, WF, and Cardspace made their official debut.  To expand the reach of WPF, WPF/E came into existence.  Microsoft Office 2007 also became a reality with new potential for Office Business Applications.  Sharepoint adoption is also surging.  (It was just last week that I received an email from a recruiter looking for someone to fill a MOSS 2007 position that pays in excess of 100k!)

Well, this week the wave continues.  Mix07 is in full swing this week.  As expected, there has been a flurry of announcements that came with it...and it was only the first day!

And, I'm sure there are others that I have failed to list.  Besides, don't forget that the Orcas release is still coming late this year as well.

(On a side note, I'm very intrigued by Project Jasper and Project Astoria due to to recently developing a keen interest in ORMs.  I will likely be downloading those bits to take a closer look. )

From a developer's perspective, it has become a daunting task to even keep up with the rate of announcements about new technologies.  You can forget actually attempting to learn them all.  One can't help but wonder where is the industry headed with such a large number of diverse technologies.  It is especially concerning when there is no end in sight to the rapid release of new APIs.  If anything, it will likely accelerate over the coming years. 

I have read varied opinions about this topic in the recent months.  Back in early March, Rocky Lhotka posted an excellent piece about this situation and compared it to specialized fields in the medical industry.

Envision a computer industry that works like the medical industry. “Developers” employed in corporate settings become general practitioners: people who know a little about a lot, and pretty much nothing about anything. Their role is primarily to take a guess about the issue and refer the customer to a specialist.

These specialists are almost always consultants. But those consultants have comparatively low utilization. They focus on some subset of technology, allowing them to have expertise, but they’re largely ignorant of the surrounding technologies. Because their utilization is low, they are hopping from client to client, never focused entirely an any one – this reduces their efficiency. Yet they are experts, and they are in demand, so they command a high hourly rate – gotta balance the lower hours somehow to get the same annual income…

Many projects require multiple specialists, and the consumer is the only one who knows what all is going on. Hopefully that “general practitioner” role can help – but that’s not the case in the medical profession. So we can extrapolate that in many cases it is the end consumer, the real customer, that must become tech-savvy enough to coordinate all these specialists as they accidentally conflict with each other.

Sahil Malik also commented on that very post that Rocky made. 

Earlier last year, Smoky Rocky posted another thoughtful post, in which he basically said that some guy gave up a job, because it involved a platform change. Rocky insisted that, that guy was a damn fool. Being the trouble causer that I am, I immediately posted a retort in complete disagreement with Rocky, insisting that if I was given a java job, I would leave - even if that makes me a bludy damn fool. Atleast I'd be a damn fool who is good at the MS Platform. In fact, at a recent conference in Bulgaria, I insisted -

Pick one platform, and be damn good at it.

I think Sahil did an awesome job of summarizing my point of view about this subject.  With such a diverse number of technologies that will only continue to increase, it is very important to choose one (or more) that really interests you and learn every detail.  This is why I have been spending so much time on WCF.  I have never been a UI kind of guy.  Instead, I enjoy digging into the details of system processes, distributed computing, etc.  So, WCF was a natural fit for me.  Now, this doesn't mean that I don't work with other technologies as well.  However, I don't attempt to master all of them.  To borrow a phrase from Wally McClure, "it's all about choosing horses to ride" or something like that (sorry if I butchered your catch phrase, Wally).  The point that I am trying to make is that you should focus on something that you naturally tend to enjoy.  It will be that much easier to master the domain.

I also think it is imperative to avoid becoming completely closed off in any given technology specialization.  Given the rate of change in the industry, it could potentially turn into career suicide.  To be truly successful in this industry, you have to be fluid and willing to adapt as necessary.  Anyone that becomes too rigid and unwilling to learn something new will eventually find themselves out of a job, or, at the very least, you will be facing some seriously limited options.

However, I don't like to think of all these advancements as being completely negative.  It is a very exciting time for our industry.  Just think about how many advancements there have been in just the last ten years.  Can you imagine where we will be in another ten? 


Comments are closed

About Me

I'm a passionate software developer and advocate of the Microsoft .NET platform.  In my opinion, software development is a craft that necessitates a conscious effort to continually improve your skills rather than falling into the trap of complacency.  I was also awarded as a Microsoft MVP in Connected Systems in 2008, 2009, and 2010.

Can’t code withoutThe best C# & VB.NET refactoring plugin for Visual Studio
Follow jeff_barnes on Twitter

View Jeff Barnes's profile on LinkedIn


Shared Items


Anything you read or see on this site is solely based on my own thoughts.  The material on this site does not necessarily reflect the views of my employer or anyone else.  In other words, I don't speak for anyone other than myself.  So, don't assume I am the official spokesperson for anyone.