Now and again I get asked how to become a better CRM Developer, so I thought I would create a blog to point people towards and here it is.
1. Decide you want become a better Developer
Improving and becoming a better CRM Developer is a state of mind/attitude, you have to want to get better, you have to strive to be better every day.
It’s like trying to get someone to read a book you like, you can’t make them read that book no matter how good you say it is, it’s only when the person wants to read it.
2. Make a plan
A plan is like a map, if you don’t use a map it’s very difficult to get to where you want to go. A plan is the same for careers and learning skills, you need to identify the skills you want to learn and make a plan to learn them
What areas do you need to improve in?
- CRM 2013 new features
- CRM 2015 new features
- WCF webservices
- reports (Bids and SSRS)
- Data import (Scribe, SSRS)
Make a plan to start learning and getting experience with the above areas.
3. Read Blogs
I believe all CRM developers should have a selection of blogs on CRM. These links have some great blogs
Twitter is also a great way to find interesting CRM blogs.
CRM blogs provide technical knowledge and examples of new functionality and CRM development usually written by a CRM expert.
4. Write blog posts about CRM Development
A great way to learn CRM Development is to write blogs and teach others CRM functionality. This will not only increase your profile and brand in the Microsoft Dynamics CRM community but you will also understand the functionality better by explaining it.
Clearly explaining how functionality and technical ideas will involve you understanding the topic in greater detail and analyising it before expressing those ideas on your blog.
As an added bonus you will easily be able to find your notes on the subject, I often search my blog solutions to problems and quite often find articles/solutions I forgotten I had written.
Writing about CRM Development reinforces the knowledge, increases understanding of what didn’t work and what did work.
5. Create Customizations – Write Code
You cannot learn CRM development purely by reading, you have to get your hands dirty and do the development yourself.
One reason practical experience is so useful is getting things to work is a major hurdle in development and until you do you can’t be sure you can or how difficult it is. The process of getting code to work is usually going through many iterations of the code not working and you learning from your mistakes until you get it working.
Understanding how code doesn’t work gives you a great understanding of how CRM code does work.
The experience of getting an example to work will give you confidence and a working example when it comes to using the functionality in a CRM project.
6. Learn from your colleagues
All CRM developers have individual areas of expertise their colleagues do not have and you can learn new techniques and skills from your colleagues. CRM Development and coding is a world where there are millions of classes, methods and functions which it’s impossible to know about all of them, good developers will sniff out the really useful ones but often someone will tell you a technique/method you have never heard of which could make your life loads easier.
You can learn from
- Peer reviews
- Reading code written by your colleagues
- Talking about CRM development
7. Never stop learning
Becoming a great CRM Developer is a journey which never ends. There is always
- New functionality to learn
- Better techniques
- New tools
- New technologies
- Teaching others
- Learning from your mistakes
- Learning from your successes
- Loads of other things I haven’t mentioned or don’t even know about yet
8. Stop to think – analyse what you have done
An important step in CRM Development is making sure you stop and think about the CRM development/customizations you have done.
A good time to think about things you have worked on is during a lunch time walk. Think about how you could have done things differently, the good and bad points.
Analysing your development can help you identify weaknesses in your code and understand why.
For every bad line of code you avoid writing the increased chance of a good line of code taking its place.
Sometimes getting better is not making as many mistakes as the project before.
9. Don’t take the easy option
If you want to get better you have to constantly push yourself to be a better CRM developer. This means getting involved in difficult projects and tricky customizations.
Keep up to date with the new functionality in Microsoft Dynamics CRM and try to work on projects which are delivering the latest releases.
Don’t let your standards drop and don’t check in bad code with a promise to refactor it later.
10. Create free tools – Give yourself a project
Not only will you create something useful for yourself and others, hopefully more useful than this
You will learn skills, overcome many problems, get some great experience and learn new skills.
If you are not sure what tool/solution to create then think if there are any things which could be automated in your company or if there something which could be automated or improved in CRM.
It could be Access Team template import/exporter to solve the problem I discussed in the blog post CRM 2013 – Why are access teams marooned?
11. Read Books
When I say read books, I don’t mean just read CRM or Developer books but you should read all types of books. Great ideas can come from all areas of life and reading books are a great way to switch off from CRM and focus on something different, you will get ideas/thoughts which will enable you too look at CRM from a different view point.
Some good developer books, which aren’t really about Development I talk about here
The coding horror list is a great list of books, most of them focus on people and processes rather than writing code, which is logical because you will spend as much time interacting with people as you will writing code
If you don’t like reading then I would suggest listening to some audio books during your commute or when you are doing the cleaning.
On a personal note, I love science fiction books and have been working my way through the SF Masterworks list
12. Have other hobbies
Remember, there is more to life than CRM Development so make sure you are spending time with your family and loves ones and get yourself a hobby or a sport, you have to switch off and get your life in balance.
CRM development is great fun, don’t forget to enjoy yourself.