I was reading this article 10 Software Development Frustrations & What You Can Do To Avoid Them!
Being a developer is cool job and most of the time I enjoy it but there are times when it can be the most frustrating job in the world (yes huge exaggeration but I’m being dramatic). It can make you so angry you want to do this
You know the day when you have been at work all day and accomplished nothing, all the things you have tried have failed
It is one of those days when the bugs win
Some days you can suffer for the coding art
- Computer setup agony
- Internet down – panic
- spend all day removing code
It coincides with your partner asking
Q. How was your day today, what did you do?
A. Nothing, I contributed nothing to the world today
The Frustrations of a CRM Developer
- Opening a Visual Studio project only to find it doesn’t load or compile
- The code in CRM is different to the source code
- The cowboy coder who wrote the code has left the company
- The Development environments are not in SYNC
- A long manual build process
- A developers fix breaks lots of other code
- No coding standards
- A disturbing lack of documentation
- To busy to help
- No Structure
- Lack of consistency
- Customers not working with you
- Ambiguous requirements
- Tricky 3rd party software
- Lack of customer engagement
- Microsoft release another new version and you have hardly used the last one
- Having to work on a CRM 4 project
- Recruitment consultants constantly sending you rubbish jobs
- CRM Developer toolkit has become unsynced
- F*%kin solution won’t import
- NAV, GP and other Microsoft product do not easily sync with Microsoft Dynamics CRM easily
- yesterday you spent all day writing some code, today the customer doesn’t want it
- IE crashes for 20th time that day
- Somebody overwrites you changes in source control
- Someone does a sneaky IISRESET
- Debugging on the server
- A rockstar developer starts at the company and tells you everything you have done is wrong
1. Opening a Visual Studio project only to find it doesn’t load or compile
You start work on a different project, you eventually find the code in source control, download it. Open visual studio only to find the flippin code doesn’t compile. The other developers are all saying “that’s funny, mine compiles”. Well it’s good that your project compiles but that doesnt help me does it.
Finally someone realises they haven’t checked in some code.
One frustrating morning lost you will never get back
2. The code in CRM is different to the source code
You are investing a bug, you look at the code and can’t figure out why CRM is working like that. You inspect the code and find the code deployed is different to the code in source control.
3. The cowboy coder who wrote the code has left the company
Somehow a cowboy coder was allowed to create project code which is pure spaghetti code without anyone checking any code they had created until they left the company and it was passed to you. WHAT THE F&%K. 9 times out of 10 that coder was a contractor, it’s funny because it’s true.
4. The Development environments are not in SYNC
In projects you usually have these environments
- DEV
- TEST
- UAT
- LIVE
Sometimes these different environments can suddenly start to drift apart and where they were once identical. Suddenly a bunch of customizations are different.
This brings about a lengthy resyncing process, which is a slow painful experience.
5. Long manual build process
Some projects have a build process which goes on and on and involves lots of manual checking and copying of files. Followed by a long tedious documentation process which no ever reads until you miss one bug off the list.
6. A developers fix breaks lots of other code
A developer checks in a fix, triumptly shouts yes, fixed that bug, woo I’m the man. Suddenly you notice lots of the code you are testing has suddenly stopped working.
The developer god fixes one bug with one hand whilst throwing in a handful of bugs with the other hand
7. No coding standards
A project had no coding standards, which the developers understood this to mean they could add bad code to the project. To add to the complex nature of the project each developer has a completely different formatting style.
8. A disturbing lack of documentation
You start working on a project and find there is no documentation anywhere. There are no developers who worked on the project. No one knows anything about the damn project.
9. To busy to help
To continue coding you need help from one developer/consultant but that person is too busy to help. You wait at your desk stranded
10. No Structure
The code is full of big monster methods and the code is tightly
11. Lack of consistency
Every plugin is written in a different style, all of them confusing
12. Customers not working with you
The customer consistently ignore your advice and then later say it’s your fault for delivering what they asked for
13. Ambiguous requirements
There is often a moment in a project when you question a requirement and it turns out no one can understand the requirement or who specified it.
14. Tricky 3rd party software
You have to integrate the project with third party software specified by the customer. The API documentation is rubbish, no one has ever written anything about the software on the whole of the internet. Oh dear this isn’t going to be easy
15. Lack of customer engagement
A project which is idea of the CEO of the customer company, unfortunately none of the staff want the software and instead prefer to use excel.
16. Microsoft release another new version and you have hardly used the last one
Flippin heck Microsoft, stop releasing new version of CRM, I’m still working on CRM 2011 projects.
It’s also very confusing having the year in version so we end up using CRM 2015 in the year 2014.
17. Having to work on a CRM 4 project
Oh no, the CRM 4 project needs an enhancement adding to it. Now then can any remember how to deploy a plugin, what the hell are these CRM variables. AHHHAHHHHHH
18. Recruitment consultants constantly sending you rubbish jobs
I am not a contractor, stop sending me stupid jobs I’m not intereseted in.
NO I’m not interesting in a Junior .NET in Sheffield, GO AWAY
AND BEFORE YOU ASK, NO I WILL NOT RECOMMEND ANYONE TO YOU
19. CRM Developer toolkit has become unsynced
Nooooooo, my CRM Developer toolkit has become unsynced and now it won’t compile
20. F*%kin solution won’t import
Listen solution, will you just frickin import, oh for gods sake, ok I will go an assign all the workflows to my user, there are you happy now.
What idiot deleted a variable and has now added it with the same name but different type.
Oh yeah and the error message won’t give you any idea what is actually wrong.
21. NAV, GP and other Microsoft product do not easily sync with Microsoft Dynamics CRM easily
Listen I understand all the products have Microsoft in the title but the reality is Microsoft brought these different products and they are completely different.
So no customers I am afraid they do not easily sync with each other.
I pity any developer who has to try and use the Dynamic Connector, it is certainly not dynamic.
22. Yesterday you spent all day writing some code, today the customer doesn’t want it
Yesterday you spent all day urgently adding in some functionality. Then the customer decides they don’t want it after all and you have to spend all day taking it out. GRRRRRR
23. IE crashes for 20th time that day
Why, why, why, why, why does IE keep crashing
24. Somebody overwrites you changes in source control
A developer doesn’t do a get latest and then overwrites your changes, The dirty rotter
25. Someone does a sneaky IISRESET
Hey what happen, everything has stopped working, I was in the middle of setting up a lot of complex data in CRM. Oh you did an IISRESET, Thanks buddy.
26. Debugging on the server
Hey has anyone else’s CRM frozen. Oh I see we all have to wait for you to debug your plugin on the server
27. A rockstar developer starts at the company and tells you everything you have done is wrong
A new hotshot developer starts at the company, to get off on the right foot he tells all the other developers they are doing everything wrong.
3 months later everyone realises the rockstar developer is an idiot and after 6 months Elvis has left the building.
If I have missed any please add them in the comments
I totally relate to “IE Crash” stuff. It’s FRUSTRATING. I am so happy, it’s gone forever for good, at least it’s name. Not sure if “Spartan” is nothing but a “low fat” cousin of IE.
LikeLike
I will be very interesting to see what Spartan will be like but I don’t think they can go wrong if they start again.
IE seems to crash lots more than Chrome and when it does crash it sits there frozen
LikeLike
True that.
LikeLike
Nice article Hosk, you have put together almost all the issues that a developer might have gone through some day, “Bugs win” is something i really hate, but it is part of a developer life 🙂
LikeLike
Ex-Salesforce developer that keeps comparing the product.
Check-in conflicts/someone overwrites my changes.
Broken built checked-in to source control.
Rogue developer (seems to be coming from SQL background) developed unsupported customisation directly to CRM db.
LikeLike
Great Post 🙂
LikeLike
This is all so true to the gutt. Seen almost 70% of these in last 12 years
LikeLike
Yesterday you spent all day writing some code, today the customer doesn’t want it.
This one is really frustrating man. Nice article.
LikeLike
Reblogged this on mfonsell and commented:
Day in a life indeed 🙂 I liked most that .NET Developer part in Sheffield (why always there??) #MSDyn365 and #CRM happy together!
LikeLike
These are so true!!! I have faced so many of them in my career of 7 years! And oh yes CRM 4.0, that’s a nightmare! 😂
Also one more thing I have faced often is customer says “I want a fancy snazzy fast UI to upload 500 documents and it has to go to 50 different systems and can you have it developed, tested and deployed in 2 days?”. Like what? Do I look like a super computer who codes the whole damn custom thing in 2 days? 😂 So difficult to explain the customer.
LikeLike