The introduction of Office 365 and SharePoint Online has completely changed the skill set required to be successful in the marketplace. As a SharePoint developer myself, this sent me on a journey to reinvent myself as a front-end web developer and I know that I'm not the only one out there in this situation.
What caused this change? Are your current skill sets in danger of being obsolete? What are the opportunities in SharePoint Online? What can you do to re-tool your development skills to take advantage of the new development landscape?
I invite you to follow along with my journey as I attempt to structure the insight and experience I have acquired so far. My goal is to help you make a successful transition yourself, as well as provide you with the training and resources that will make it possible.
Prior to 2007, I was an expert in .NET development and notably ASP.NET. I was already a Microsoft MVP in C# for several years and a Microsoft Certified Trainer for almost 10 years. With the launch of SharePoint 2007 my specialty turned to development and training on this product, and I've specialized in SharePoint exclusively since then.
There have been dozens of SharePoint projects over the years with many public facing web sites to my credit. I'm into my 11th year as an MVP for SharePoint Server. I regularly give talks at SharePoint Saturdays, user groups and conferences internationally. I've also written two books on SharePoint development.
I say all this not to boast about my accomplishments but to underscore the saying "the bigger they are, the harder they fall." One day, we had to pitch SharePoint Online work for our company, and they sent me in as one of the top guns. The client responded, "Sorry, this job in SharePoint Online requires that you know Angular JS."
Not only did we not win the project, but in an instant, I became a dinosaur. My skills were suddenly dangerously close to becoming irrelevant and obsolete. I left the pitch humbled and wondering what had just happened.
In fact, I had already seen this coming. I knew that Microsoft was pushing its Office 365 cloud offering, and knew this was primarily a front end web development play. I had seen my colleagues diving into the technology and into the SharePoint REST / Office 365 APIs while I continued to develop solutions and perform migrations for on-premise customers. I had just postponed the training I was supposed to be doing already.
Fortunately, I subsequently had the opportunity to lead a large development team on a custom publishing portal to deliver search-driven knowledge management content to 40,000 front-line employees. While still an on-premise project, the directive was that this application had to be able to migrate and run in SharePoint Online with no changes.
We had middle-tier services written with Web API, which called SharePoint services, and the front end was done entirely in AngularJS calling both Web API and SharePoint services. The SharePoint customizations were packaged and deployed with declarative sandbox solutions. Unfortunately, I was middle tier / back end / deployment focused, so I did not dive into Angular this time. But the experience showed me what was possible and gave a clear direction for me going forward.
In terms of your existing skills and knowledge, it's not all bad news. A deep understanding of how SharePoint works is still relevant going forward. This is the key existing knowledge I have and something for those newer to SharePoint will need to learn:
So I have come to realize what SharePoint skills I need to stress in the current marketplace, and what value I can offer, even without the current strengths in front-end web development.
Given the above, I created the plan and timeline for accomplishing my goal of transitioning my skill set to that of a front end web developer. As part of this process, I will be writing a series of articles documenting my learning by providing examples, guidance and resources. Office UI Fabric, AngularJS, Kendo UI, and the upcoming SharePoint Framework will form the core elements I will be expanding upon.
Here are the (primary) development technologies I consider must-know for entering the future of SharePoint development, in roughly this order:
There are numerous other smaller frameworks that will include themselves along the way – for example responsive design with Bootstrap and needing a task runner such as Grunt or Gulp.
Learning resources? Beyond each technology's primary website (which all provide excellent resources), I will be looking to online courses in PluralSight and Udemy. I'll look to the blogs of my fellow MVP colleagues, notably those that specialize in Office 365 development. Finally, I will look to expert author resources such as those provided in the O'Reilly book series. I will endeavor to share my specific links and resources along the way so that you can benefit from them as well.
My journey is far from over. I am under no illusion that to gain proficiency across all of my chosen technologies will take six months to a year or more. But even the longest journey begins with the first step. I invite you all to follow along as I post milestones and updates along my quest towards becoming a front-end web developer. Please share your own experiences, insights, and resources so we can all help each other get there faster.
I will share my learnings by providing detailed "how to" technical articles that show all of these technologies in action in SharePoint Online.
Related Resources