Deep Impact - Why SharePoint Developers are extinct
The StackOverflow Developer Survey results were just released here;
StackOverflow Developer Survey 2018
I particularly enjoyed the 'Most Dreaded Platforms' results where at 71.8% the clear winner was SharePoint. :)
To quote the commentary;
'Sharepoint is the most dreaded development platform for the second year in a row, and many developers say they want to start developing for the Android platform and the Raspberry Pi.'
As a long time champion of SharePoint I suppose I should start to disagree with this right? Well indeed there is one part of it I disagree with, did you notice that phrase 'most dreaded development platform'?!?
The whole SharePoint as a development platform thing was put to bed at least five years ago (as a crock). Depending on the conversation I might call SharePoint a collaboration platform, a content hub, a pillar of Enterprise Search, even a Social platform (though I tend to be drinking by then). No way is it a Development Platform.
That's not to say that it has nothing to offer developers. We can still develop Full Trust Solutions (for on-prem!), SharePoint or Provider hosted Apps, and for O365/SharePoint 2016 FP2 we have SharePoint Framework to roll client side web parts. This all has rich possibilities.
So, all is well in the land of the SharePoint Developer then? ... Absolutely not! If that's the job title you use, you might want to reconsider...
The leaps and bounds in the IT Solution Sphere should not have been lost on many (though I'm still having plenty of chats with folks who haven't heard the news). The Cloud is well advanced through the hype cycle and proving itself to business. AI is becoming more and more capable, and the respective vendors are packaging those capabilities as PaaS and SaaS offerings that make it VERY accessible to people with no particular expertise in the field.
At long last tools such as PowerApps and Flow are allowing us to stitch together all the services in Office 365 and many beyond without any code at all.
Since the release of SharePoint 2013 (when it became clear which way this was all going) I've been bending over backwards to produce SharePoint solutions that didn't live anywhere near SharePoint Servers and could interact with other services and systems at will. My main dev language since 2004 had been C#, but frankly if I dust that off these days it's more likely to be to create a custom web service that'll be invoked by a Webhook... or whatever.
If you're still heavily invested in SharePoint on its own, [and I show my age by quoting Tyler Durden here] you are "polishing the brass on the Titanic. It's all going down, man."
I'm not saying SharePoint is going away. It will remain the [non-relational!] Content Hub at the center of a constellation of bright shiny services in Office 365. However in isolation it's done. If your org has an on-prem install without Hybrid to O365, or God forbid a 'no-cloud policy' (does happen) then they've cut themselves adrift from the future and it's time to get in the lifeboats.
Now we're in a development world of using industry standard techniques, protocols and languages to stitch our multifarious solutions together from a host of services. That's where the Developers formerly known as SharePoint need to be heading.
Expand into Azure, where you'll be wanting to setup a bunch of your solution fabric anyway. Ensure that you're up to date with what the no-code champions of Flow and PowerApps can do across all of O365 and beyond. Understand OneDrive, Teams, Delve, Power BI. Get to grips with traversing all these resources through Microsoft Graph as well as the legacy interfaces.
Then the real fun begins. Azure Cognitive Services awaits. You can use BotFramework to introduce a fresh new communications channel (e.g. Chat) into SharePoint or your other Apps. You can use Vision Services to read your SharePoint (and other) content to tag it without human intervention. (I prove that here; SharePoint auto-tagging with AI and Flow). The sky is the limit.
Do you find that the Vision Services from another vendor are more suitable for your business problem? Guess what? They will be returning JSON from a REST service just like the Microsoft offering, so just integrate it!
SharePoint today is just a piece of the much larger Office 365 Cloud Productivity stack, which is a significant offering amongst a host of other platforms and services. Your development skills need to concentrate on building integrated business processes and digital experiences across this whole range. The glue that can tie these capabilities together is more important than knowing when to set AllowUnsafeUpdates = true;
The new wave of software talent who answered the StackOverflow survey don't like SharePoint as a development platform because it isn't one, and in isolation it allows a fraction of the innovation the true ecosystem enables.
This is why Sharepoint Developers are extinct. Pretty much until 2013 it was The Ecosystem. Now it's just a [significant] player in a much wider world. You better be ready!