What Every SharePoint Developer Must Know

SharePoint is a wide-range product. To become a good SharePoint Developer, you need talents as much as network as people who can help you when you encounter tough problems. Believe me, you have encountered or will encounter it in the future.

Wherever I've met and talked to people I always complain and like this awesome product. It's not that it's a bad or imcompetent product, it's because of the depth of product itself. SharePoint is like a huge ocean and it improves itself in every version, not to mention SharePoint is one of Microsoft's top and most licensed products.

"How to start SharePoint Development?"

There are a couple of SharePoint Development tutorial sites, but C# Corner currently has one of the most SharePoint resources, so I would advice you look here: http://www.c-sharpcorner.com/1/183/sharepoint.aspx


Other resources are of course:
and there are many more awesome sites/blogs regarding SharePoint Technology

Since we talked about how you can learn about SharePoint, it's time to talk about which tools/technologies are in high demand in a SharePoint Developers pack.

Tools

SharePoint Management Shell

This is what every SharePoint Developers must learn to use. Because all the deployments and SharePoint System Administration is being controlled here.



To learn this tool is easy and Microsoft helps you there. You need to learn the commands this shell provides:

https://technet.microsoft.com/en-us/library/ff678226.aspx

ULS Viewer 

This tool is a life-saver. Whenever your portal gives exceptions or Correlation IDs, the ULS Viewer tool is the way to go.



You can get it from here: http://www.microsoft.com/en-us/download/details.aspx?id=44020

CAML Designer 2013

This tool simply helps you connect your server and provides drag and drop functionality while you query SharePoint Lists and Libraries. As if it's not enough, developers of this free product also provide you the source code in the Server Side, Client Side, .NET, CSOM REST, WebServices and PowerShell.
It's one of the best friends of a SharePoint Developer.



This free tool can be downloaded from here: http://www.biwug.be/resources

SharePoint Designer 2013

This is a free tool from Microsoft. It helps you to edit/create workflows, create/edit layouts, masterpages and many more features!




It can be downloaded from here: http://www.microsoft.com/en-us/download/details.aspx?id=35491

SharePoint Manager 2013

This tool is also an open source project and totally free to download from here: 
https://spm.codeplex.com/

It helps you manage many SharePoint entitites such as Event Receivers, Features, Fields and Properties.



SharePoint 2013 Search Query Tool

This free tool helps you to make search queries using the REST API. Absolutely necessary for SharePoint Search customizations.



It can be downloaded from here: http://sp2013searchtool.codeplex.com/
 
Now that we talked about what tools needed, here are some web/system technologies I've dealt with during SharePoint Projects.

Technologies

jQuery/JavaScript/CSS/AngularJS

Since SharePoint is also Web Applications, a knowledge of jQuery, JavaScript and CSS will help you become a good developer. Especially many SharePoint Front End Developers use Google Chrome with Developer Tools, where they can easily hack the visual art of SharePoint portal.

Having these talents will make your job so easy. Not to mention JavaScript MVC framework AngularJS is known best MVC framework to work with SharePoint 2013. 

SQL Server and TSQL Knowledge


Building SharePoint applications doesn't differ from traditional web application development. Accessing a datasource and using them as you see fit does also work for SharePoint applications. Whether you build an app or SharePoint webparts/custom user controls, you need to access some datasource and get information and display them on your portal. Since SharePoint requires SQL Server, having knowledge in SQL Server management and writing TSQL queries will make your job easier since information is critical in Portal projects.

SharePoint-Specific Structures


Event Receivers, Timer Jobs, List Definitions, SP Workflows, Business Data Connectivity are all but one of the SharePoint-Specific structures that every SharePoint developer must understand. These structures will be used in nearly every project, so learning and experiencing them is huge plus for you.


System Administration


SharePoint is a wide product. It's like a Pandora's Box where you don't know what happens when you crack something up or ruin configuration settings. So having System Administration such as web.config, machine.config, IIS Settings, Active Directory, Services.msc, PowerShell Scripting, Event Viewer knowledge, even SQL Server Management is also system administration. One must have experience in system administration if they don't want extra work hours or ruined weekends. And if you don't have a system administrator working with you then, well, you'd better start learning.


That's it folks! SharePoint has a long-term learning curve, you'll get bored at first but when you get used to its structure and development advantage, you will get along well with it :) 

This article will be updated as SharePoint and related web technologies always improve.