How does a .net developer start developing on Dynamics CRM
Recently someone reached out to me on social media with the following request:
“I am looking to cross skill and eventually certify into Dynamics CRM 2013 having extensive experience in .Net consulting & development, Biztalk etc and would appreciate any advice you might have. For example training courses (online) and resources etc.
Thanks in advance”
Requests like this excite me for a few reasons:
- Someone else has decided to make Dynamics CRM part of their career
- It gives an opportunity to share what I have learned over the last 15+ years in this line of work
- It forces me to write another blog post 🙂
I have been a Microsoft Certified Trainer (MCT) for quite a few years and having helped launch many people into their Dynamics CRM careers I have found that it is not a one size fits all process.
This post will be focused on Developers that want to extend their skills into web app development.
Note: I am not a .net developer
Many years ago I attended a session on using Dynamics CRM in government delivered by Jason Hunt who was one of the original developers on the product we now call Microsoft Dynamics CRM. He said something that stuck with me at that event. He said that desktop application was in decline and the future of development was in developing web application. His recommendation was that developers should consider adding to their skills in this area.
Before I list my recommended training material let me be clear on one thing. Just because Dynamics CRM is built on the .net platform, it does not mean any old .net developer can start building outstanding solutions on it. I have seen many projects where .net teams have taken Dynamics CRM without understanding the application Architecture and just started developing functionality. Often that functionality was already available Out-of-the-box (OOTB) or they built solutions that had been written in such a way that it conflicted with the Architecture of Dynamics CRM.
So if you plan to take your .net skills and build applications, solution and plugins on Dynamics CRM, please consider the following resources, if you know of others that are missing please add a comment below and I will update this list.
- Most developers hate that I say this but the very first thing you need to learn is what is available OOTB. You need to know the 3 main modules of Dynamics CRM in detail. That is Sales, Marketing and Customer Services as well as the functionality of the Admin area of Dynamics CRM. I recommend that you sit the Application Exam for Dynamics as the study will refine your knowledge of what you get when you set up a clean Dynamics CRM environment, as well as what entities are available to use and customise. Also consider reading at least one of the following books:
- Next you need to understand what Dynamics CRM customisation you can do without code. Dynamics CRM from within the application has a set of tools that allow you to create entities, customise forms, create workflows, chart objects, reports, dashboards, templates, activities, and business rules. These can be combined to create solutions. To get a thorough understanding of this area of Dynamics CRM you should sit the Customisation Exam and thoroughly understanding the courseware that is associated to this exam. You should also consider reading the following resources:
- Finally, you need to study and understand the ability to extend Dynamics CRM, it is here that your .net skills come into play. Extending is about integrating Dynamics CRM into other solutions, taking the API’s and developing against them, manipulating the interface via client side script, connecting via web services, using OData and developing advanced workflows. Resources in this area are as follows:
- Extending Exam and eLearning (note with the extending exam it is a given in that you know .net).
- You need to know the SDK inside and out, it is updated often and is well worth keeping up with the changes.
- Get a copy of the Dynamics CRM 2011 Developer Training Kit It covers the following: WCF Web Services, LINQ, OData, Plugins, Processes, Client Programming, SharePoint and CRM. Azure, Java and PHP.
- Keep up to date on the content in the MSDN Developer Center for Dynamics CRM here you will find out about how to build Solutions, Plug-Ins, Custom Reports, Client Application Extensions, Application and Server Extensions. It’s your one stop shop for Developers wanting to work with Dynamics CRM.
- MSDN Dynamics CRM starting point.
- White Papers, Microsoft publish many white papers that do deep dives in to specific subject areas, here is where you will find Dynamics CRM White Papers.
- Books to read are: Microsoft Dynamics CRM API Development for Online and On-Premise Environments: Covering On-Premise and Online Solutions AND Microsoft Dynamics CRM 2011 Scripting Cookbook AND Microsoft Dynamics CRM 2011: Dashboards Cookbook.
- If you want hands on training check out Enterprise Academy Training from Microsoft. It is 4 days of deep dive on developing on Dynamics CRM.
As I think of more content to add I will update this post. Also if you feel that I have missed something please give me feedback below.