Recommended reading for software engineers

In my whole life, I have known no wise people who didn’t read all the time – none, zero. Charlie Munger

Books allow you to delve deep into a topic, stop focusing on doing and think about your situation, your approach and effectiveness.  Spending time on design before writing code creates better quality code, thinking about how you code, run a scrum team, deliver a project, work with people helps you do these things better.

Reading a book is conversing with an expert on that subject, you learn from their mistakes, success and experiences.  You get that knowledge and apply your adventures and conclusions on top.

Read why developers should read books if you are still not sure. If you don’t like reading it’s because you haven’t found a good book but you have come to the right place.  Those who read books, get wiser.


Coding is a fundamental skill software engineers should try to master.  Improving your coding will have a significant impact on your career.

It shocks me the number of developers who don’t learn how to design, write, test and refactor  code to a high standard.  They are paid cash money to write code, so be an expert in it.   Not being a great coder is like a chip shop that doesn’t make tasty chips, it makes no sense.

Let’s start with books to make your code shine brighter than a full moon

Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin)

I love this book, it’s short, concise and focuses on the fundamentals of coding.  Every developer should read this book and earlier the better.  Master the fundamentals and you have a solid foundation to build on

Code Complete (Developer Best Practices – Steve McConnell

This is a monster of a book at 960 pages and it goes deep into the details of coding.  When you read a chapter on how to write a method, it helps you realise the skill that top programmers have.

The Pragmatic Programmer: From Journeyman to Master

Great advice for programmers with common sense, down-to-earth advice.  Less technical than Code Complete but still a great book.  Everyone software engineer who reads this will learn something, it improves your code and your approach.

The Art of Unit Testing: with Examples in .NET

Unit testing is an art, you need to write your code in a testable way but writing unit tests isn’t straightforward but it reduces the feedback loop, allowing the developer to test their code.  Unit testing is something you should master and this book will help.

Head First Design Patterns

This helped me understand Design patterns, I still admire the simplicity of well design code and the patterns featured here are beautiful.  Design patterns are great for seeing examples of well-designed code and giving you a common language to use with other software engineers.

Design patterns are common solutions to common problems, it’s worth the time to read up on them.  Without unit tests changing code becomes risky because without unit tests you can’t be sure you have not broken any code.

Refactoring: Improving the Design of Existing Code

All software engineers will spend time on legacy projects and looking after other developers dodgy code.  This book gives you a way to bring order to a legacy project and improve it.

Projects, Scrum and People

The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win

A story about a company who bring DevOps into their business, solving problems and adding drama with characters.  It’s useful to view a project from a different perspective because most people see little in their own projects because they are so focused on delivering the project.

The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity

An interesting look at the insanity of IT Projects, teams, offices and all aspects of being a software developer.  You may have had an inkling you must be mad to be a software developer, this book will help you understand why you feel that way.  It’s funny and enlightening.

Scrum Mastery: From Good To Great Servant-Leadership

Scrum and agile is a tool, it’s great or terrible depending on who is using it and it won’t be going away soon.  They will use it on many projects you work on, so spend time on understanding how it works and the theory behind the concepts.

Agile projects done well are effective and enjoyable to work on but few people understand the theory behind Scrum\Agile.

Read it, master it, it will help you deliver scrum/agile projects to a high level.

Radical Candor: How to Get What You Want by Saying What You Mean

The driving force behind any project is the people on it.  If you lead anyone, then this book will help you be honest with them and work more effectively.

Never Split the Difference: Negotiating as if Your Life Depended on It

This book contains great practical advice for communicating with people and using emotional intelligence.   The writer was an FBI hostage negotiator, so has experience dealing with pressure situations.  This was my favourite book from 2018.

Mastery – Robert Greene

This book gives many examples of people who devoted their lives to mastering something, it’s inspirational and motivating.

Being a software engineer needs people to master it with constant improvement, study, reflection.

Other recommended reading lists

Time is not wasted if you are reading a book

Why developers should read books

Those who read, get better #HoskWisdom

Reading is to the mind what exercise is to the body – Joseph Addison


Yesterday was world book day  #WorldBookDayUK #WorldBookDay, its like an extra birthday for me because I’m allowed to buy a book without being told I already have mountains of books to read.  it’s a big event where children go to school dressed as their favourite characters (see mini Hosk’s above).

I believe people should read more books, I will outline the benefits of reading to try and persuade developers to pick up a book

Below are reading numbers, it varies between countries, ages and skewed by book worms.

The page from 2016 – How many books does the average person read

The average number of books each person read over the course of a year was 12…but that number is inflated by the most avid readers. The most frequently reported number was 4 books per year


This post from 2016 – How many books does the average British person read per year?

According to a YouGov survey, the mean number of books read for pleasure by adults in the UK is around 10 each year, and the median is around 4


The average person reads 4 books a year (I wonder how many they finish), an impressively low number when you consider the hours watching terrible TV or time spent on social media (I’m guilty of this too).

Why don’t developer read books

The common reasons developers don’t read are

  • People view books as old fashioned
  • They don’t want to invest the time to read a book
  • Easy to search for answers on the internet, you need not read a book
  • Many prefer reading articles
  • Developers watch videos on Youtube, DLP or Pluralsight, etc

Evidence for developers not reading books is in the number of books for developers.  Lots of people earn a living as a developer/software engineer but the number of books available is low.  Not many technical books sell in large numbers (this may be due to them degrading quickly with new versions of software etc)

Developers learn through trying to figure out problems and if they can’t resolve it they search for the answer on the internet. was created because the creators felt developers were reading less, read about the concept here

Programmers seem to have stopped reading books. The market for books on programming topics is miniscule compared to the number of working programmers.

Instead, they happily program away, using trial-and-error. When they can’t figure something out, they type a question into Google.


Jeff Atwood of Coding horror blog (whose book I read Effective Programming: More Than Writing Code) has a good post  Programmers Don’t Read Books  But You Should 

Jeff mentions many technical books are poorly written, uninteresting loaf of bread sized beasts you can barely pick up let alone read.  You can skip the introduction chapter of most of them as they summarise the invention of a programming language or the internet.

Offices are littered with huge technical books squatting on developers desks either elevating monitors or with the goal of making the developer seem more knowledgeable.

You learn how and why

When you copy and paste code, a unicorn dies a slow painful death #HoskCodeWisdom

The common approach for developers is to get a task, search for the answer on the internet, copy the code and go onto the next task.

This skips the learning,  leaving the developer with the answer but not the knowledge and stops the developer from learning.  The approach is inefficient, the developer doesn’t acquire the knowledge to avoid trouble and only able to find solution to problems after they have arisen.  It’s difficult to search for solutions if you lack the understanding to diagnose problems, you can hit many dead ends before finding the solution.

With difficult problems with no solutions on the internet the developer gets stuck, not having the  knowledge or skills to resolve the problem.

Books give  you depth

I would never read a book if it were possible for me to talk half an hour with the man who wrote it – Woodrow Wilson


Reading a book is like conversing with an expert, a 1-1 with the best software engineer you have ever met.

Writing a book involves  thinking and writing deeply on a subject and putting their best ideas in a way the reader can understand them.  Focused concentration allows the writer to get deep into the subject and explain the why behind the subject.

Great programming books are popular and relevant for years because its not writing the code but the design, decoupling, SOLID Principles, design patterns, naming which are important to create simple code.  This advice will be useful as long as humans are writing code.

If you want to improve as a Dynamics developer read this How to improve as Dynamics 365 developer, it has links for designing and writing better code articles

Short cut to success

The misconception about reading books is it‘s a long process,  people don’t have enough time to read and it’s a slow method to learn.  Reading books allows you to learn from the experience, ability and ideas of a talented and experienced developer.

Reading a book is your will use the best practices the author has learnt and avoid the mistakes they made.  Reading a book is working smarter not harder.

Stop to think

Reading focuses your thoughts and your concentration on one thing. You benefit from authors ideas and overlay your experiences and thoughts.

Time spent thinking is never wastedit helps you clarify your thoughts and understand 


Reading is useful tool to improving your knowledge and improve your craft.  You should aim to become craftsman, consistently improving your technique.

Are you a Dynamics Craftsman or a CRM developer?

Reading books on other subjects gives you a different view  of developing and helps you create new ideas by combining different ideas and concepts from other professions

If you worked with great developers you wouldn’t need to read their books because you could talk with them but for most of us reading a book is the nearest we can get.

Good developers read books

The best developers I have worked with read books because they want to learn.  A great way to learn is from someone who is an expert on a subject and reading a book is a method to access an expert.

If we encounter a man of rare intellect, we should ask him what books he reads – Ralph Waldo Emerson


CEO’s read 4-5 books per month according to the article – how many books does the average person read, lists of not technical recommended reading below and reading habits

If you need help to read more books these articles will help

What should developers read

If you want to read the impact on some of some CRM Development books had on the Hosk as a junior developer read this blog post

Recommended Books for Developers

A while ago Dave Berry tweeted an article on the evolution of the windows operating system

It was an interesting read and it reminded me when I started out as a Java Developer

I stumbled upon a list of great books for developers held on coding horror

Looking at the books, most of them are not focused just on just programming but also focus on the areas and processes around developing (all the bits Developers don’t like!)

His life changing book – Code Complete 2, is a monster at over 800 pages.

The books on the list are classic books, which often appear on people’s lists of Programming books I wish I read at the start of my career.

This reminded me of reading the first mind blowing book I read about programming

Effective Java: Second Edition  by  Joshua Bloch

Effective Java to me is similar to the author’s introduction to Code Complete 2.  When I first purchased the book I was a keen Java developer trying to learn to be a better developer.  I remember reading the book and being amazed and the simplicity and genius of the coding advice (to put it into context I was a rubbish developer at the time)

I wrote quite a few articles on developing, for those of you who don’t know I was prolific Java blogger, my blog was called

A Funny Java Flavoured Look at the World

Here are a few of my more interesting Java programming related

The Learning Lifecycle of a Java Programmer

10 tips on writing reusable code

10 presentation tips for developers

My most popular blog post was, which has the solution to a common problem in Java it seems

trouble using | (pipe) with the String.split method

Head First Design patterns

The next book I read was Design patterns and once again it blew my mind that people could write code which was that good.

In some peoples eyes, it’s probably sacrilege to put this book here instead of GOF design pattern – Design patterns : elements of reusable object-oriented software.  I started reading that but I found it hard to understand the design patterns, where as Head First Design patterns wrote in a very accessible way, which at that moment I found easier to understand.

The next book I read was

The Pragmatic Programmer: From Journeyman to Master

I loved the pragamatic programmer and many of the pragmatic book series.  The advice they give is common sense and is similar to experienced developer guiding you to use the right practices.  I found this book very useful when I moved companies because it gave me a good set of programming practices and standards.

Finally in my Programming life changing books I read

Refactoring: Improving the Design of Existing Code

by Martin Fowler  (Author), Kent Beck  (Author), John Brant (Author), William Opdyke (Author), Don Roberts(Author)

Remembering back in the day

Looking at the list of books reminded me of when had the double whammy of learning about design patterns and great coding practices from the effective Java book.  I suddenly realized I had a lot to learn.  Back then I also amazed when I learnt of the term Refactoring, I just thought of it as tidying and improving.

It’s seem bizarre to think I was writing code without knowing some of these concepts, but this stage of learning comes to everyone.  You go from knowing nothing, learning a bit and thinking you are the bee’s knees and then something will happen and you realize you have a lot to learn and it’s going to take you a while to learn it.

This introductory section on coding horror, does a great job of summarizing this

I graduated from college in 1992, and entered the field of professional software development at that point, at least in terms of being paid to do so. I loved it, but I really had no idea what I was doing. I was a young, inexperienced developer working in small business, where there aren’t a lot of other developers to look to as mentors. Nor was the internet a factor; the internet didn’t really hit until ’95 for most people. I was living in Denver at the time, and I frequented the Tattered Cover, a great independent bookstore. Code Complete was originally published in May 1993; I stumbled across it while browsing the computer book section at the Tattered Cover sometime in 1994. I was floored. Here’s this entire book about becoming a professional software developer, written in this surprisingly friendly, humane voice. And it was backed by rational research and real data, not the typical developer “my brain is bigger than yours” chest-thumping.

I had found my muse. Reading Code Complete was a watershed event in my professional life. I read it three times in one week. It immediately became my Joy of Cooking. I didn’t even know it existed, but it showed me that if you loved food enough, it was possible to go from being a mere cook to a real chef.

One of the most striking and memorable things about Code Complete, even to this day, is that Coding Horror illustration in the sidebar. Every time I saw it on the page, I would chuckle. Not because of other people’s code, mind you. Because of my own code. That was the revelation. You’re an amateur developer until you realize that everything you write sucks.


Reading the list of books and remember the positive effects some of the books had on me has made me want to read some of the books on the list I haven’t read.

In fact the author suggests if you haven’t read

The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition (2nd Edition)

Then shame on you.

So with those words ringing in my ears, I have decided to start The Mythical Man – Month and hopefully get round to the other books.

Thinking about the books on the list also reminded me there is more to development and particularly CRM development than just writing code, customization examples.

There are also the processes, procedures, best practices and all sorts of aspects to CRM development.  Thinking about the article I wrote earlier this week

13 signs your CRM project is doomed

The points are relevant to CRM developers and could save them lots pain but there isn’t much of it on coding/customization.

Books on CRM Development

It struck me as I was reading this list of books are there any books/sources which CRM Developers should read, which focus on CRM.

I would certainly recommend CRM Developers read some of the books on the list, many of the books are classics in the developer/programmer world.  Most of the books do not focus just on coding, but lots of different aspects of development.

There has really only been one programming book in CRM I can remember

Programming Microsoft Dynamics® CRM 4.0 (PRO-Developer) 

This book focuses on CRM 4, I don’t think it would be of much value for Developers today (unless you work for a company who has CRM 4) but it was very useful at the time.

This book looks like it might be useful, but I haven’t read it and just looked at the contents page.

Crm 2013 QuickStart

It’s written by CRM MVP’s and seems to focus more on developing and customizing rather than learning CRM.

CRM in the Field is also a pretty good book, with each chapter written by a different CRM MVP. It’s a bit like a longer version of tip of the day.

Most of the other books are focused towards people starting out using CRM rather than starting out developing for CRM.


If you are starting out as a CRM Developer I would probably advise you to do the two Certifications

MB2-703: – Microsoft Dynamics CRM 2013 Customization & Configuration

If you want some study material for MB2-703, check out the resources here

MB2-701 – Extending Microsoft Dynamics CRM 2013

The customization and config certification will go through all the front end/gui customizations in CRM 2013 and give you a good knowledge of all the functionality.  If you are a CRM developer you will have probably used 80 percent of the functionality, so it will be a case of learning the new functionality you haven’t used yet.

The extending CRM 2013 certification will run through the basics of coding in CRM 2013.

The benefits of the certifications is you will get a knowledge of customizations you haven’t used and to pass the exam you will read, learn and repeat the exam criteria that it really sticks in your brain, so you instantly know things like

  • Business rules are often referred to as portable business rules because business rules work in the browsers and CRM for tablets/phone applications (e.g. portable and everywhere)
  • Custom solutions developed using future versions of Microsoft Dynamics CRM cannot be installed into earlier versions without first being ‘down-leveled’ to match the earlier version
  • Only security roles which exist in the root business unit can be added to a solution file
  • Access Team templates are enabled on an entity basis and you have to enable Access Teams on the entity in the communications and collaboration section

If you want to learn plugin development, Hosk CRM Dev has a couple of good playlists to help you get started and each video should have a blog post to go with it.

CRM Development Foundation Playlist

CRM 2013 Plugins Playlist – which features the following videos

CRM 2013 – Setting up Developer Toolkit for Microsoft Dynamics CRM

CRM 2013 – Understanding Solutions and how they work in CRM 2013

CRM 2013 – Create a simple plugin in CRM 2013 using the CRM Development Toolkit

CRM 2013 – Simple Plugin – Redeploying, improving and updating

CRM 2013 Plugin – Step by Step guide for a Post Account Create Plugin using the Developer Toolkit


If you have any classic programming/development books which had a big impact on you, please leave a comment

CRM 2013 Book Review – Microsoft Dynamics CRM 2013 Marketing Automation

This blog will review the book Microsoft Dynamics CRM 2013 Marketing Automation from packt publishing from the authors Alok Kumar Singh Sandeep Chanda 

It’s 128 pages and as you can guess from the title it’s about Marketing in CRM 2013.

To get an idea of what the books about Here are the chapters titles

Chapter 1: Getting Started with CRM Marketing

Chapter 2: Segmentation with Marketing Lists

Chapter 3: Marketing Campaigns

Chapter 4: Campaign Response and Performance

Chapter 5: Marketing Metrics, Analysis, and Goals

Chapter 6: Enhance CRM Marketing with Marketplace Solutions


Who is the book for

This book is targeted at people who want learn how to create successful market strategies using out of the box CRM marketing functionality and some Marketing Automation solutions such as CoreMotives and ClickDimensions. The book offers a step by step guide to using the marketing functionality inside CRM, it also covers some of the basic marketing concepts and ideas. The book would be useful for beginners to the world of marketing and those who are experienced in marketing but haven’t used CRM before. The book says Who this book is for This book demonstrates the capabilities of Microsoft Dynamics CRM 2013 and the associated marketplace products for practical marketing. It is an excellent guide for marketing managers, business analysts, and CRM functional experts. As such, there are no specific skills needed; however, a prior understanding of the marketing domain and CRM concepts would be useful, along with the ability to use the basics of Microsoft Office.

Chapter 1

This covers a lot of the basic marketing concepts in theory and doesn’t mention CRM at all.  This would suggest it’s a beginners marketing book because most marketer would know these concepts.   In a book so small I’m not really sure you should spend so many pages on theory Close looping Close loop marketing is a practice of capturing and relating the responses to marketing messages in order to measure the effectiveness, constantly optimize the process, and refine your message to improve its relevancy. This, in turn, increases the rate of conversion and ROI. This also involves an inherent close looping between the marketing and sales teams who collaborate to provide a single view of progression from prospect to sale

Chapter 2 – Marketing Lists

We fire up CRM and head straight into one of the most well used parts of the marketing functionality, Marketing lists

  • creating marking lists
  • populating marketing lists
  • managing marketing lists

It goes through all the functionality with screen shots and descriptions, straight forward stuff.

Chapter 3 – Marketing Campaigns

Marketing campaigns has a lot more functionality, so this chapter is quite a bit bigger We will cover the following subtopics in this chapter:

  • Quick campaigns
  • Marketing campaigns
  • Creating campaigns
  • Planning campaigns
  • Campaign activities
  • Target lists
  • Sales literature, products, and price lists
  • Executing campaigns
  • Campaign templates
  • Related campaigns
  • Tracking campaign costs

Once again this basic Marketing functionality in CRM and there are lots of blogs on this subject, so far the book is ok but fairly basic in marketing terms. A plus side for the book is it has a lot of screen shots so you won’t find yourself getting lost in CRM  Chapter 4 – Campaign response and performance This chapter covers

  • Capturing a campaign response
  • Managing a campaign response
  • Converting a campaign response to a lead or an opportunity
  • Measuring a campaign response and ROI

Reading this book reminds me of the MOC for application exam because it covers all these areas and once again we are going through the basic CRM marketing functionality. The chapter is well done with lots of screen shots and it’s very functional without much theory.

Chapter 5 – Marketing Metrics, Analysis, and Goals

We will cover the following topics in this chapter:

  • Key marketing metrics
  • Marketing charts
  • Marketing reports
  • Marketing dashboards
  • Goals and Goal Metrics

I found this chapter interesting because I wasn’t sure what kind of things you should be reporting for marketing. The book covers the Lead Funnel, which I found intriguing because I’m not sure I would have associated it with marketing but when you think about it marketing can be responsible for generating leads It covers the out of the box marketing reports, charts and showing these in a dashboards.  It goes into using Goals and setting those up which I thought I was an interesting use of goals.

Chapter 6 – Enhance CRM Marketing with Marketplace Solutions

This chapter covers

  • Marketing automation with ClickDimensions
  • Marketing automation with CoreMotives

This is where things got really interesting because we were stepping outside of the default CRM functionality and into some third party solutions.  I think this is the best chapter and shows some information that is not easily found on the internet or other sources.  This chapter also show the user how to fill in the gaps of the out of the box functionality.


This is really quite a short book and it cost £9.34 for the ebook and £16.99 for the paperback.  I’m not sure it’s great value for money considering the first chapter starts at page 21 and last page (excluding the index) ends at page 122 (out of 128).  The first chapter is also theory. The book was easy to follow and with lots of screen shots it was easy to understand and follow along using CRM.   It does cover some marketing theory but mostly it goes through the out of the box CRM marketing functionality. I would say this book is aimed at people who don’t know much about marketing and what to use CRM for their company’s marketing needs and it does a decent job of covering all the aspects.  My one critiscm would be you could get this information for free on the internet there are many blogs going through the basic CRM marketing functionality. The last chapter shows a bit of something extra going through the Market solutions of CoreMotives and ClickDimensions

Video Review

Free Ebooks from Microsoft Press

if you have started the year eager to learn or perhaps have a new years resolution to improve your knowledge then this list of free ebooks and chapters will help you on your way.

I often find the free ebooks are a good way to get started but they often don’t go into depth, there also doesn’t seem to be any CRM books but Microsoft does have a lot of other resources online for CRM 2013/2011

If you want to learn about CRM 2013/2011 for free then power objects has a free CRM 2011/2013 online book which will help

if you want to buy a CRM book then a good one would be the CRM field guide, it’s a big book but has 25 different chapters all written by CRM MVP’s

Free CRM book from powerobjects

Anyone who has used Microsoft Dynamics CRM 4, CRM 2011 and if they are really keen CRM 2013 will have at some point read an article on CRM by the good people at PowerObjects and the PowerObjects CRM blog is one of the best out there, click the link below to have a look

Recently they have released a CRM book for free, wooohoo.

The book is more like a web resource than your stand PDF/ebook, in fact I will let them describe it, which they did in their blog post here

This isn’t really a “book” in the traditional sense. It’s published entirely online and is constantly being updated and improved. We like to think of it as a living, breathing, comprehensive online guide to all things Microsoft Dynamics CRM.

You might be wondering what possessed PowerObjects to publish such a wealth of knowledge online for free. That’s been answered pretty thoroughly in the book’s introduction, but to summarize:

  • We wrote it because we had the knowledge and resources.
  • We made it available online so we can keep it relevant with regular content updates.
  • We published it for free because it reflects a core value at PowerObjects: Always Provide Value.
  • Finally, it helps us reach our goal of positively impacting 1 million CRM users.

The CRM Book covers a wide range of topics from user basics to CRM system administration and even extending CRM. We’re also working on additional content that’s more relevant to the changes that come with Microsoft Dynamics CRM 2013.

We hope you find this new resource valuable. Feel free to dig in and start reading or bookmark it as your go-to CRM reference!

There is some very interesting parts to the book, what I really liked was how they have described how CRM works and what each different entity does and how to use it.  You can take some of these parts and give them to customers/users to help them understand how to use CRM and familiarize themselves with the jargon which can be an stumbling block to begin with.

The book is split up into


System Administration

Extending CRM

it also have a very useful search feature, so you can just search for the topic you are interested in, this is one area this format has an advantage over traditional books because you don’t have to keep flicking through sections to find the bit you need.

The book seems to be a mixture of CRM logic and knowledge which is non CRM version (e.g. not CRM 4 or CRM 2011 or CRM 2013) and then has some bits which are CRM 2011 and a few which have been updated.  I guess they will continuously update the book as they go along.

There are some links above to the book but another just in case

Great work from the people at PowerObjects

CRM 2011 – Book Review – Microsoft Dynamics CRM 2011 Scripting Cookbook

Apologies for readers of the blog, I have been slack at blogging but very busy at work.


I got sent a very interesting CRM 2011 book and I thought I would review it.

it’s a packt book, who are doing a good job of releasing CRM 2011 books

Microsoft Dynamics CRM 2011 Scripting Cookbook

if you want to try a sample chapter you can, it’s chapter 2

Chapter 2, Scripting Form Fields, covers the most common scripting customizations
used when working with various basic form elements. We look at the various field types
and how to work with these values.

and you can find it here –

first I will give you a list of the chapters so you can get a good feel to what is included in the book

Chapter 1, Overview of Dynamics CRM 2011 Customization, introduces the concept
of solution packages, and presents the scripting model used for Dynamics CRM 2011.
In addition, basic system configuration and settings that work in conjunction with your
customizations are presented

Chapter 2, Scripting Form Fields, covers the most common scripting customizations used
when working with various basic form elements. We look at the various field types and how
to work with these values.
Chapter 3, Field Validation, includes various validation approaches to enhance the out-of thebox
validation rules. In addition, this chapter presents various approaches to presenting and
collecting user input to minimize errors.
Chapter 4, Rules and Events, introduces the reader to the various events presented by
Dynamics CRM 2011, as well as working with other form elements available for customization.
Chapter 5, Error Handling, introduces the concept of handling user errors, processing errors,
and explains how to prevent the default system behaviors. The advanced topic shows ways to
override the default system behavior with custom processing and capturing of user input.
Chapter 6, Debugging, delves into details of working with the scripts and using the available
tools to handle various situations where your script misbehaves.
Chapter 7, Extended UI Manipulation, demonstrates ways to introduce visual elements to
your forms to highlight form elements and also demonstrates how to handle presenting only
the relevant information to a system user.
Chapter 8, Working with Ribbon Elements, is focused on working exclusively with the Ribbon.
From adding and removing Ribbon elements, working with events attached to Ribbon
elements, and presenting additional information on the Ribbon, most aspect of client-side
Ribbon customizations are presented in an easy-to-follow way.
Chapter 9, Extending CRM Using Community JavaScript Libraries, tackles the use of external
prebuilt libraries in conjunction with Dynamics CRM 2011. Some of the most popular
JavaScript libraries are presented in the context on Dynamics CRM. They will either help
you in writing shorter, more efficient scripts, or handle specific form actions.
Chapter 10, Light Social Media Integration, presents a few approaches to bringing information
from various social media resources into your Dynamics CRM 2011 environment, with no
additional load to server resources. The ways presented here are exclusively client


The book is 268 pages long but if you take out the introduction and the first chapter (which is about using solutions and other starting stuff) then you probably have about 200 pages of scripting goodies

The book is very through at showing you step by step what you need to do and has lots of screenshots, this probably makes the book very good for someone who is starting out developing CRM 2011 because you will be able to easily follow the instructions.  I found myself scrolling down through all the pictures to get to the scripting part on some of the earlier chapters.


Chapter 5 focused on Error Handling, this was quite interesting because I have never really done much error handling in javascript and considering CRM allows you to format the fields I’m not sure I will but this chapter has some really useful sections like blocking forms from being saved, handling unexpected errors (because users will be stupid values in if they can).

Chapter 6 focusing on debugging and goes through the main methods of debugging CRM from alerts in Javascript, using IE debug, using visual studio and if you are really struggling using fiddler.   Most people will just use IE for debugging javascript but knowing how to use fiddler can be very useful.


Chapter 7 has some good stuff, hiding form elements, formatting fields, showing pictures, adding a logo (by saving it in a note).  This chapter is full of things you will be asked to add into CRM at some point, very practical and very useful

Chapter 8 is about the Ribbon but there are some great tools to do this so I didn’t spend too much time on this chapter.

chapter 9 is all about JQuery which I found useful because I hadn’t really used much Jquery.

Finally chapter 10 is about integrating social media with CRM which is request which pops up from customers now and again.


Overall the book was written well and walks you step by step through the examples.  There is a lot of useful parts to the book and it’s good to have in your tool bag, so if a customers asks for something you can pick it up and see if this book has the answers.

I’m not sure what the new Orion update will do to the amount of Javascript people will be writing but I would recommend buying this book

Book review – Microsoft Dynamics CRM 2011 Application Design

I was given a free copy of the Microsoft Dynamics CRM 2011 Application Design book by Mahender Pal who is one of the splendid CRM MVP’s that contribute a great deal to the CRM community.

CRM books are usually either user manuals or maybe an Administrator guide so I was pleasantly surprised to find this book is aimed more towards the CRM developers/ CRM Consultants and for people who want to do some customization of CRM.

The book started with a fairly standard chapter on CRM, a bit of a waste of time but perhaps it helped the writer get into the flow of things.

There are some really good parts in the book and one of the real plus points is it goes through problem and then shows the solution the author would create and explains his reasoning.  This is useful because it allows the reader to understand the choices and how it helps provide the solution needed.  I think I would have really found this book useful when I was starting out as a CRM developer.

The other major plus point about the book is it goes through examples of different types of CRM customizations and different parts of Microsoft Dynamics CRM.

  • Marketing
  • plugins
  • sub grids
  • Silverlight
  • Mobile Client
  • custom workflows

The book gives you a great insight how an MVP would tackle a project, which in my opinion is as valuable as the technical examples.

One of the downsides of the book (and books in general) is by the time the author has published the book Microsoft Dynamics CRM 2011 has already made distintive leaps forward which makes some of the solutions potentially a little bit dated in the world of Polaris and Orion.

Also for people who have done some CRM development then you might find pages of the book not particularly interesting as they parts of the CRM system you are already familiar with.

Overall the book is a very practical and insightful look into developer solutions in CRM 2011 and there will be something useful and interesting for everyone who has to work with CRM.  The book is well written, easy to read and follow.   I liked the idea of going through a problem and solution because this offers you an idea of how Mahender creates CRM solutions, it also offers you an example CRM solution and personally I find it easier to work with examples rather than just reading about CRM.

It doesn’t suffer from a lot of boring wasted pages, the first chapter is a bit dull but the rest of the book gets down to business

Overall I found it an interesting book, well laid out and easy to read.

Congratulations to Mahender who shows why he is a CRM MVP.

The book can be found on packt website, click this link 

or you can buy on

Amazon also has a few other reviews which will allow you to get a good idea what other people think of the book, which is always useful.


CRM 2011 book released – Microsoft Dynamics CRM 2011 Application Design

I got this book today Microsoft Dynamics CRM 2011 Application Design which is written by Mahender Pal who is a CRM MVP, this books should also help me with revision for Extending CRM 2011 exam I am studying for.

I will write a full review of the book when I have finished reading it but I thought I would post a quick blog post about it. The book is quite an interesting idea because it goes through CRM development process and it’s often interesting to see how different CRM developers go through the process, particularly if you are just starting out.  The book also covers the different areas of CRM development

The brief overview is this
  • Create your first application quickly and with no fuss
  • Develop in days what it has taken others years
  • Provide the solution to your company’s problems
here is the chapter summary
Chapter 1Getting Started with Microsoft Dynamics CRM 2011 , will explain the different deployment options and clients for Microsoft CRM 2011. You will learn about the hardware and software requirements for Microsoft CRM 2011.

Chapter 2Customizing Microsoft Dynamics CRM 2011 , will help you to understand customization concepts, e-mail integration, and how to use the marketing module in Microsoft CRM 2011. It will help you to develop Project Training Enrolment System.

Chapter 3Using Process in Microsoft Dynamics CRM 2011 , shows how to use, process, and configure security in Microsoft CRM 2011. This chapter will help you to develop Employee Recruitment Management System.

Chapter 4Implementing Business Logic through Plugins , will help you to understand plugins in Microsoft CRM 2011. You will learn to use sub-grids, set products, and set a pricelist. It will help you to develop a hotel management application using Microsoft CRM 2011.

Chapter 5Using Web Resources in Microsoft CRM 2011 , will help you to understand, create, and use web resources. In this chapter, you will learn to create the Bing Maps application using Silverlight.

Chapter 6Using External Web Application in Microsoft CRM 2011 , covers application development using Microsoft CRM 2011 web services. You will learn to create and deploy custom editable grid view web applications in Microsoft CRM 2011.

Chapter 7Using Mobile Client in Microsoft CRM 2011 , covers the mobile client for Microsoft CRM 2011.

Chapter 8Issue Tracker using Microsoft CRM 2011 , will help you to learn and create the custom workflow assembly and auto number plugins in Microsoft CRM 2011. This chapter will help you to create the Issue Tracker application using Microsoft CRM 2011. 
if you want to see what it’s like before you buy then you can download a sample chapter (chapter 2)

Get the right people on the bus

It’s a bit of rambling friday post about the book Good to Great which I have been listening to.

I read the blog of Mike Ames who is a business development coach and he recently had a very interesting guest blog post

This blog post echo’s many of the sentiments and principles in the audiobook I have been listening to on my commute to work

Good To Great: Why Some Companies Make the Leap… and Others Don’t

The book compares lots of companies to see why some companies went from being good to great and what they did to achieve this.

The book states the seven characteristics which I have copied from wiki

 Seven characteristics of companies that went “from good to great”

  • Level 5 Leadership: Leaders who are humble, but driven to do what’s best for the company.
  • First Who, Then What: Get the right people on the bus, then figure out where to go. Finding the right people and trying them out in different positions.
  • Confront the Brutal Facts: The Stockdale paradox – Confront the brutal truth of the situation, yet at the same time, never give up hope.
  • Hedgehog Concept: Three overlapping circles: What lights your fire (“passion”)? What could you be best in the world at (“best at”) What makes you money (“driving resource”)?
  • Culture of Discipline: Rinsing the cottage cheese.
  • Technology Accelerators: Using technology to accelerate growth, within the three circles of the hedgehog concept.
  • The Flywheel: The additive effect of many small initiatives; they act on each other like compound interest.

I was quite interested with these two factors

First Who, Then What: Get the right people on the bus, then figure out where to go. Finding the right people and trying them out in different positions.

Hiring the right people is so vital.  When I think all the problems bad workers have caused companies that I have worked at.  The companies have set rules to manage the one or two bad employees (strict working hours for everyone because one person kept coming in late).

Bad employees often need extra management and one to one focus.  It seems slightly crazy when if anyone should be given extra focus it should be your best staff.


The audio book makes the point that the great companies hired the best people and then decide where the company is going.

This fits with my ideas because people’s current experience and technical knowledge might not be useful in their next project or you might need to learn some new skills and next year everything is in the cloud or wherever and you need different skills.

I can compare this to CRM, a new release of CRM means you have to learn new features maybe a new mobile application.  A lot of people learnt Silverlight and then in the future we might all be using HTML 5

The important point is good people will learn these new skills and tackle the new challenges where as not so capable people tend to fear change and drag their feet.

Basically you can learn any technology or skill but you can’t learn personality, drive and attitude.

Hedgehog Concept: Three overlapping circles: What lights your fire (“passion”)? What could you be best in the world at (“best at”) What makes you money (“driving resource”)

If you go to one of Mikes seminars he often gets people to assess what they goals are, I think of it like this


  1. Stop, sit down, think
  2. What are you goals
  3. create a Plan to achieve those goal
  4. Carry out the plan and work hard
  5. don’t forget to stop and reassess at some point


A lot of companies haven’t got a  hedgehog concept, they haven’t narrowed down what they really good at.

Some IT companies will take all IT Projects thrown there way and then have to create a small silo of people to deliver the project (usually involving them learning some new technology skills very quickly indeed).  Then to support the project the company is reliant on the team, making things like holidays a tricky situation because no one can fill in.

Without focusing on a particularly sector or technology then why would a potential customer purchase a solution from that company when compared to another company who specialised in that technology and sector.

If you don’t specialise then you will keep coming up against companies who do specialise and offer compelling reason to do the project with them.

Whilst thinking about the book it’s interesting that I can apply these rules to myself.  What is my hedgehog principle, what am I good at.

Before I started focusing on CRM, I had done lots of different roles and used lots of different technologies but didn’t really focus on any particular role or technology.  Although this is useful in some ways to me now, a few years ago I decided that I wanted to focus on CRM.

I had my goal – to become a CRM expert

I created a plan and then started learning, blogging, reading, writing, eating and sleeping CRM.