40 Tips to help you improve as Dynamics developer

You shouldn’t write code, you are not willing to test #HoskWisdom

I have compiled a list of tips to improve as a Dynamics developer made up of blog posts I have written and blog posts I should have written.

  1. Get certified to broaden Dynamics knowledge –The benefits of Dynamics certifications
  2. Answer forum questions Microsoft Dynamics 365 Community Forums, CRM forum
  3. Know what value to set entity ownership to, Dynamics 365 Entity ownership — How do you decide?
  4. Don’t put code in the plugin class, create separate objects and code properly and unit test.
  5. Understand the activity entity and ActivityParty and ActivityParty Lists
  6. Read blogs daily to stay up to date and keep learning
  7. Automate builds to raise quality, release more often, which reduces errors and boredom — Dynamics 365 and ALM/DevOps Information to get you started
  8. Don’t deploy manually, it’s boring, error prone and you shouldn’t do something you can automate. Dynamics 365 — The cost of manual deployments activities
  9. Master the fundamentals of coding, you will use those skills every day. Start with SOLID Principles.
  10. Use the solution checker to delivering high quality code (not adding to technical debt) — What the solution checker does and why you should use it
  11. Solve own problems by explaining them to a cardboard developer
  12. Understand the business purpose of the solution you are creating
  13. Push back on requirements that need complex customisations
  14. Why Dynamics Developers should always start with the SDK/Web API and learn how it works, rather than google the answer and learn little
  15. Read books for deeper learning and bring fresh ideas to Dynamics development
  16. Not all solutions should be done in Dynamics 365, Just because you have a hammer it doesn’t mean every problem is a nail.
  17. Read the what’s new, depreciated functionality and release guide
  18. Use the XrmToolBox because it saves time and someone has already faced and solved the problem you are wrestling with.
  19. Show users out of the box before getting their requirements and guide them to an out of the box solution
  20. Don’t copy and paste code, it skips the learning phase and can’t adjust your code when the requirements change
  21. Being prepared helps you write better code — The prepared developer writes better code
  22. Avoid taking work home with you, come to work recharged and ready to go — Let go of thoughts, emotions and actions that weigh you down
  23. Team player because IT projects are a team game — Why you need a great team to deliver an IT project
  24. Uses no code solutions before code because it’s easier to maintain and upgrade. To deliver a project on time, stick to out of the box (if you can)
  25. When you write code make it simple, it’s easier to understand, maintain and extend — Simple code is worth the time it takes to create
  26. Write your code, do your job, focus on the details, predict problems
  27. Don’t take shortcuts they create technical debt and you don’t learn anything — No shortcuts to becoming an awesome Dynamics 365 developer
  28. Don’t move job for money, move for role and opportunity. The more you know and the more value you bring, the more you get paid.
  29. Use early binding in your code because it’s easier to understand and it brings the bugs into development not production (e.g. errors found in code, not a plugin running in Dynamics 365)
  30. Uses the plugin profiler to debug as a last resort because you should be writing unit tests which everyone can use over and over. The plugin profiler adds dependencies to solutions and causes solution import problems. It can affect everyone using an environment.
  31. Don’t use the System administrator to test their customisations — The System Administrator role is a benefit and a curse to Dynamics developers
  32. Think in entities
  33. Don’t reuse out of the box fields because it confuses everyone to have a field name and label different. (they also get overwritten when the solution is re-imported)
  34. Organise your solutions to minimise change, speed up deployment and organise the customisations. What’s the best way to organise solutions in Microsoft Dynamics 365
  35. Reflect on what you doing, how you are doing it and how you can do it better. What I learnt in my last role
  36. Write your code, do your job, focus on the details, predict problems
  37. Continuously keep improving
  38. Name your code and customisations so it’s obvious what they do and they don’t need comments. Code should be the one version of the truth, don’t add comments
  39. Think long term and create code you can reuse — Why isn’t code reused in Microsoft Dynamics projects?
  40. Remove code you don’t need, it gets in the way and confuses — The code you take away as important as the code you write
  41. Don’t overestimate your skills and underestimate the task — One simple tip to improve your development and project estimates
  42. Time is a tool, use it to think about the problem when you have time, so you can react quickly when you don’t. 10 books to improve your thinking and decision making