Here are some of my favourite quotes from my blog posts, they are original #HoskWisdom
The company that needs Microsoft Dynamics CRM, and hasn’t bought it, is already paying for it – Hosk
Creating code is like creating a baby, the creation is fast and fun but you have to look after the code for years – Hosk
It’s easier to like you know about Microsoft Dynamics CRM than to talk wisely about Microsoft Dynamics CRM – Hosk
When gathering requirements, listen more than you talk – Hosk
Never ask a CRM reseller if you should buy Microsoft Dynamics CRM – Hosk
People are born, CRM developers are made through knowledge of the CRM SDK and CRM project experience – Hosk
With boring repetitive developer tasks – share the pain, share the knowledge – Hosk
Simplicity should always be a primary goal in CRM Solution design. Complexity should be broken down, simplified and avoided – Hosk
Mistakes are caused by individuals but it’s often the lack of processes where the blame really lies – Hosk
When gathering requirements, question what is really being asked because it is not always what is being said – Hosk
I try to avoid putting in simple bugs and only put in really tricky ones – Hosk
Poor quality and inconsistent data in your CRM database = bugs and odd behaviour out of CRM customizations and CRM demo’s – Hosk
Writing code often leads to errors, and errors leads to learning. Learning leads to understanding – Hosk
CRM Solutions which don’t anticipate change, risk significant redesign in the future – Hosk
Legacy projects full of spaghetti code always seem to have been written by developers who have left the company? coincidence? – Hosk
You can’t change the CRM SDK, you must change to use the CRM SDK to develop the most suitable customizations for the customers requirements – Hosk
Fear is before, Difficult is during, achievement is after – Hosk
Reading books expands your knowledge and understanding of the world. Seek out new ideas, theories, thoughts and make them you’re own – Hosk
CRM is a place where only dirty entities and fields are saved! The clean fields are ignored. Hosk
understanding of business logic fades but the code remains – Hosk
The earlier you admit making a mistake the more time you have to fix it – Hosk
Are your CRM plugins creating technical debt?
Understanding bad code is is like trying to find things in a messy teenagers bedroom, stuff everywhere and in an order only known to the owner of the room – Hosk
Changing bad code is like playing Jenga, changing one bit of code could bring down the whole tower – Hosk
Bad code is like a virus, don’t get infected
Bad code is like a virus, once it infects a code repository it starts duplicating itself everywhere until the all the code is corrupt – Hosk
As the cost in time and effort of refactoring goes up, developers will add more bad code because it’s easier and quicker. The result is the bad code in a project is like a snowball being rolled in snow, it just gets bigger and bigger – Hosk
The problems with Complex Code and complex CRM customizations
Complex code is hard to understand code because classes and methods do so many different things it’s impossible to understand how it works without stepping through the code to understand exactly what is going on. – HoskWhen writing code you need to keep in mind – Will I be able to understand this code 6 months later when I have forgotten the business logic – Hosk
Why .NET developers struggle with CRM Development
Experience is important for a CRM Developers. You have to learn how things don’t work first 🙂 no shortcuts – Hosk
Why Code Readability is important
If you struggle to read the code, how the hell are you meant to fix it – Hosk
You are not the end user
The CRM Developer needs to collaborate with the end-user, not deliver what he thinks the end-user wants or should want – Hosk
Sherlock Hosk and the Case of the Annoying bug
When debugging, eliminate what isn’t causing the problem and whatever code or customization is left must be the culprit. – Sherlock Hosk
Making a mistake on a CRM project is the best way to ensure the same mistake doesn’t happen on future projects – Hosk
The CRM Advanced find is a CRM Developers best friend. Which is better than .NET developers they have no friends – Hosk
If you fail to design your code, you are choosing to design it badly – Hosk
code reusability in CRM projects is seen as often as bigfoot or the loch ness monster – Hosk
Everyone makes mistakes. What you need to do is try to make fewer mistakes, learn from those mistakes you make and don’t repeat them – Hosk
You must control code complexity. Uncontrolled complexity will drag the code down until no one wants to touch it – Hosk
One consequences of creating rushed code, is any further enhancements or code interaction will take more time and resources –Hosk
How to cope when you are out of your Developer comfort zone
Don’t be afraid to say you don’t know something, you will always know less than there is to know. All you can do is to keep learning every day – Hosk
Experience is doing something new, making mistakes and not repeating those mistakes next time you do it – Hosk
CRM projects do not seem like the place to want to cut corners and reduce the quality of the end CRM solution by rushing the project to shorten delivery times. Particularly if the company plans to use the CRM solution for many years to come. – Hosk
Good CRM developers do not like creating rushed code of reduced quality. It feels wrong at the time and hard to use later on. Hosk
Gathering requirements for a CRM solution is like trying to herd cats. when you think you have got them all, you notice some out of reach – Hosk
It’s important to understand business terminology as quickly as possible, this enables you to talk to the customer using their own language. – Hosk
Good developers reuse code, poor developers just keep on creating more code to do the same thing – Hosk
The CRM database can be viewed and the data used but never changed directly – Hosk
Finish work a litter wiser about CRM than you when you started work. – Hosk
CRM Code and CRM queries should be as simple as possible but not simpler – Hosk
Junior developers see code in terms of it working/not working
Senior developers see the code as working/not working, structure, design and complexity
Hosk
Good CRM design should not make users think
A well designed CRM system is where users use the system instinctively without needing to stop and think – Hosk
The brain is a mystery, tucked inside a riddle, riding on the back of a conundrum, poked in the ear of a problem – Hosk
Unit tests to CRM developers is a Marmite question. Some developers love unit tests other developers dislike writing unit tests – Hosk
The System Administrator role is a benefit and a curse to CRM developers – Hosk
I get the feeling people are expecting some kind of CRM magic to fly out of my fingertips. That’s the life of a CRM developer 🙂 – Hosk
The CRM SDK is the CRM Developers bible. They should be reading it on a weekly basis and shouting out the best bits to groups of developers – Hosk
Always start with the CRM SDK, you will find the answer to your current problem and solutions to your future CRM problems – Hosk
It’s impossible to search for Dynamic CRM without my blog coming up, it even surprises me with posts I don’t remember writing – Hosk
If you catch a whiff of duplicate code in your project, you should refactor it quick, Otherwise the code will continue to duplicate itself – Hosk
CRM 2013 – Understanding Status and Status Reason and be careful deleting them
Customize CRM in haste and take half a day to tidy up CRM – Hosk
CRM 2013 – How add a status reason using the CRM SDK
Don’t even think about making unsupported changes in CRM because Microsoft will un-support your CRM if they find out – Hosk
Don’t do unsupported CRM customizations, 99.9 percent of the time there is another way. For the 0.1, tell the customer its unsupported – Hosk
Code complexity = When no one really knows what the code does or how it does it – Hosk
It’s difficult to be critical of your own work which is why is vital to get second opinions for you code and solution designs – Hosk
Code is made up of numerous simple repetitive actions, which become very complex if you put them in a few big classes and methods – Hosk
A career without direction cannot be steered down the path of success – Hosk
A career without purpose is like trying to travel to a unknown destination without a map, you have little chance of arriving there and if you get there you will have probably taken the long way – Hosk
If CRM developers are not creating classes they are creating legacy code. Don’t put all the code in the plugin and create a monster method – Hosk
Don’t let bugs get into production environments
Bugs are lazy, good for nothing trouble makers. They are too lazy to walk to production environments so they wait for you to change some code and jump on board and let you take them all the way to production before they pop out and blow a raspberry at your customers. – Hosk
CRM plugins who don’t use classes are creating legacy code
Creating CRM plugins without using classes creates a project with lots of technical debt. Technical debt is increased with the creation of every new plugin. – Hosk
Creating plugins with classes or using OO principles will lead to CRM project code reaching a legacy level almost before the project is released to the customer. – Hosk
A CRM system without data is as useful as car without petrol, it won’t do anything. – Hosk
Unit tests – tell you if code changes have introduced an error. End users – tell you this if you don’t have unit tests – Hosk
Why CRM Developers should always start with the CRM SDK
The CRM SDK is a cruel mistress to those who do not show it respect but if you play nicely and tickle CRM SDK’s belly it will deliver untold development riches – HOSK
A parody of the Full Metal Jacket scene
CRM developers: [chanting]
This is my CRM SDK. There are many others like it, but this one is mine. My CRM SDK is my best friend. It is my life. I must master it as I must master my life. Without me, my CRM SDK is useless. Without my CRM SDK , I am useless. I must development with my CRM SDK true. I will.
Before Hosk I swear this creed: my CRM SDK and myself are defenders of my CRM Solution, we are the masters of the CRM Solution, we are the saviours the CRM Solution. So be it, until there is are no bugs, but peace in CRM dev land. Amen.
There is no quick easy way to become a good CRM developer, it takes a plan, experience, hard work and the CRM SDK. – Hosk
Solutions in Microsoft Dynamics CRM give with one hand and bash you over the head with the other – Hosk
Most first drafts of code can be de-cluttered, refactored and reduced without losing functionality. – Hosk
The first tool a CRM developer should use to deliver required features is out of the box functionality. Hosk
CRM insanity is doing the same thing over and over again, when there is a quicker way – Hosk
31 thoughts on “HoskWisdom – Hosk Developer Quotes”