My First Blog? First Post? Really?
Yep… I’ve been learning about SharePoint development for over a year now and I figured it was time to stop sponging off the SharePoint community and give something back, especially if it can help any newbies out there avoid the same frustrations that I’ve encountered. SharePoint is SUCH a beast and is so different than anything I’ve encountered before. So, hopefully everyone can get something out of this. I welcome any feedback or corrections. I’m more than happy to look like an idiot if it helps someone out there learn something. So! Let’s begin…
Is SharePoint development really THAT different?
In a word… Absolutely. I have been writing code since I got my Comodore sx-64 back in 1983. I would go through the code magazines and modify the programs to do what I wanted (I was 10 years old at the time). My professional background is pretty extensive as well. I’ve worked for start-ups, semiconductor companies, consulting firms, software companies, window manufacturers (the glass things that you look through, not the OS). My technology resume is equally vast:
- BIOS code
- Windows Device Drivers
- Windows NT Ring 0 (custom file system)
- I designed and wrote the software for the prototype for http://www.ion-kids.com
- Windows Applications
- Web Applications
- I know Fortran 77, 8086 assembly, Visual Basic, Pascal, C, C++, ASP, .NET, C#, Java, Tcl/Tk (among others)
- I designed and developed (as well as host on a computer at home) every aspect of http://www.soyouknow.org (I SO need to update the site, but someone please tell me where to find the time?)
This is not meant to sound like bragging and it’s not really that impressive, but I’m just trying to point out that I’ve been around the block with different technologies. I have NEVER asked for training before. NEVER… until SharePoint. THAT is how different SharePoint is for me. Of course I also suffer from being a Jack-of-all-trades, with my breadth of knowledge it is difficult to have depth of knowledge in all aspects.
SharePoint and the 5 Stages of Death and Dying
One of the first things I discovered is that the stages of learning SharePoint mimic the 5 Stages of Death and Dying:
- Denial – “They aren’t really going to make me learn this. They’ll forget all about it in the next few months and move onto something new.”
- Anger – “This is SO stupid! I can’t believe they are making me learn this! It’s impossible!”
- Bargaining – “Okay.. How about this, I’ll do support 24/7 for the rest of my life, just don’t make me learn this!”
- Depression – “It’s hopeless. I’ll never learn this. I wonder how much it would cost to rent Andrew Connell by the hour?”
- Acceptance – “Well, it looks like I have no choice… maybe it won’t be that bad? Hey! At least it will look good on my resume?”
There is actually life after the Acceptance stage though. I still get frustrated often, but as I will keep saying, the online community is amazing and the most helpful people I’ve ever met. It is true that misery loves company.
Okay, I’m going to bite the bullet and learn SharePoint development. Now what?
Now that I have you totally depressed and at rock bottom, allow me to pick you up a little. If you are just learning SharePoint development you have NO idea how lucky you are. Even a year ago when I started learning the online resources and training were pretty pathetic and I was not connected to the online community at all. So, to say I was frustrated and stressed and pretty much hating all things SharePoint is an understatement.
So, here is a quick list of things you MUST know to get you going on your way to becoming a master SharePoint developer:
- Virtual Machines – All custom development for SharePoint MUST be done on a Windows Server machine that has SharePoint and Visual Studio installed. I’m not making that up. When I first heard this and told our infrastructure folks of this requirement they laughed at me, but it’s true. In an effort to help with this Microsoft has created a time-bombed VHD that you can download along with Virtual PC. Both of these are free and excellent help to get you started. It is also recommended that you put your VHD on an external HDD.
o Virtual PC – http://www.microsoft.com/downloads/details.aspx?FamilyID=04d26402-3199-48a3-afa2-2dc0b40a73b6
o VHD - http://www.microsoft.com/downloads/details.aspx?FamilyID=67f93dcb-ada8-4db5-a47b-df17e14b2c74&DisplayLang=en
- Free Online Training – There’s lots of online training out there. Some of it free, some of it quite costly. One of the newer offerings is a Ramp Up course from Microsoft: http://msdn.microsoft.com/en-us/rampup/dd221355.aspx
- BLOGS – BLOGS –BLOGS – Take advantage of the geniuses who have gone before us! There are a ton of brilliant guys out there. Here are a few of the ones I see mentioned most often:
o Andrew Connell - http://www.andrewconnell.com/blog/
o Eric Shupps – http://www.sharepointcowboy.com
o Joel Oleson -http://www.sharepointjoel.com/default.aspx
- Twitter – Stop what you are doing right now and get yourself a twitter (http://www.twitter.com) account and start following the SharePoint people (http://search.twitter.com/search?q=SharePoint )! These guys are ready to help and always keep me updated with the latest SharePoint news. Seriously, everyone I’m following rocks.
- CodePlex – There is a TON of good stuff at http://www.codeplex.com/ I’m sure I could post a whole blog about what you will find there… but hopefully someone else already has? I’m not QUITE that ambitious.
I could go on and on and on about all the online resources but this list should be more than an excellent start.
So now what???
I really don’t know at this point. I will definitely keep this blog updated with all the little quirks and idiosyncrasies I discover along the way. Maybe I’ll even be able to teach the guru’s a thing or two. When it comes down to it, if you want to learn SharePoint development it is going to take work, you are going to get frustrated, it won’t make sense and you are going to break things. Accept it… embrace it… back up often. Welcome to the stress filled world of SharePoint development. It’s coming whether you like it or not, so ride the wave and enjoy it or go build iPhone apps.