Warning! This is one of those, and I think my first, philosophical posts.
As I see it there are two types of SharePoint developers (OK, maybe not but…):
- The pure SharePoint developer that has worked with 2001-2003 and so on.
- The ones that have a background in some other “CMS” (I know SP is more than that) system like EpiServer or MS CMS and has “stumbled” into SharePoint beginning with the 2007 version.
I am in the 2nd category if you wonder.
The difference between these two types of developers is, as I see it and not always the case, the amount of .NET knowledge.
When I started working with SharePoint I came from .NET 2.0/ASP.NET 2.0 and I was already accustomed to things like master pages, themes, skins, and AJAX.
My SharePoint story
The things that struck me, not taking into account the insane amount of xml, was that things worked kind of the same but not entirely.
Take master pages for example, they work but they don´t work in the same manner. Like we don´t get any intellisense since the page layouts only reference them “virtually”. Skins didn´t work, themes worked another way, no AJAX (OOB), we couldn´t see our changes in markup straight away (had to deploy to something called the 12 hive), no F5…and so on.
I was also used to user controls and had a very hard time understanding why we had to write our entire markup through code in those web parts.
So, I finally got my head around some of these things and started to enjoy my time as a SharePoint developer (with the help of some wonderful community tools I should say).
I started to incorporate my ASP.NET skills into SharePoint, like using user controls and the UI and then hosting them in a web part (if needed I should say).
Also starting each new Visual Studio project with Web Application project with “real” aspx pages with a code behind and a code beside .cs file, not with .cs files scattered in another location or project (as some of the projects I have seen do).
Then came .NET 3.5 and with it things like LINQ and some other stuff. I embraced that, since I am first and foremost a .NET developer with skills in ASP.NET and SharePoint.
To my surprise, many colleagues around me had no idea what that was and how to use it.
This struck me as odd. And this is kind of my point with this post, can it be that the developers in the 1st category have forgotten that they are .NET developers and should know and be interested in these things?
What I have also seen a lot of since 2007 are that “new” developers are tossed straight from school into SharePoint thus missing that they should know .NET and ASP.NET to be skilled in SharePoint.
I have had many of these “newbies” asking me about things like viewstate and postbacks etc…something you should know and master, right?
Another “trend” I have seen as consultant is that when I seek new assignments the technical skills that my customers enlist as mandatory are SharePoint skills but they almost never seek skilled .NET, ASP.NET and web developers.
So does this mean that my .NET skills doesn´t matter?
The SharePoint 2010 story
A lot of these obstacles that I have talked about are “going away” in 2010 since MS has finally realized that we are .NET developers and want the experiences to be the same.
To some degree MS has come a long way with 2010 but there are stills missing I think.
I can´t begin to understand why we still have to retract/delete/add/deploy (the so-called F5 experience) when all we did was change some markup.
Save, press F5 (in browser) and there it is…how hard is that?
Thank god for the community that has “fixed” this for us.
Then we have the whole “Windows 7” installation thing which I´m not going to go into here, but there is a reason why I use VMWare I can tell you that…
So with 2010 we have a new “bag” of goodies to choose from, like:
- RIA Services
Note: I still think it is sad we can´t use ASP.NET MVC OOB in SharePoint, why?
If you look at these “skills” they are mostly things a .NET developer would master, right?
To the 1st category of developers, these are mostly new things…hmm.
So to answer my own question, is SharePoint development dead?
Hell no, I think (and hope) that many more of my further experienced .NET colleagues will take a stroll into to the wonderful world of SharePoint. I think we (the community) will benefit from their knowledge and input.