Tuesday, October 13, 2015

Why horse shoeing and coding are very similar

Let me tell you a dirty secret that no one else will.  No one in real day to day life writes their best code.  I will tell you something else, the last 2 days of a sprint the code quality of a developer always drops.

Why is that???  Because the scrum master will be yelling at people to:  "Just get it done, and close the story!!!"

Now I can hear everyone with a righteous indignation, saying they would never ever write anything but perfect code, no matter what.  Well, let me share with you what no one else will.  I have had famous developers whisper to me when no one else is around that the hardest part about coding is not writing code.  The hardest part is unrealistic time lines and never having enough time to write the code the right way the first time.

What does this have to do with Horse shoeing???.... they are practically identical!

When I first started learning how to shoe horses, all I cared about was being a Blacksmith and making beautiful handmade horse shoes.  It would take me hours at first to make horse shoes, gradually I got better and faster.  I started competing in local Blacksmith completions and I actually started placing a 3rd place Ribbon every now and then.

Guess what though?  No one cared.  Not one of my clients cared.  When I arrived to shoe their horses and would try to make my own shoes, it would take longer.  No one wanted to wait for me to make my own horse shoes, when I could buy them for $10.  No one wanted to pay me more for the longer amount of time it took.

To make more money shoeing horses, you simply buy the shoes and never make your own, it takes too long.  I learned that there was "competition horse shoeing", and then there was "real world horse shoeing" that is what 95% of people actually did day in and day out to make money and pay the bills.

Just like in development every manager says: "They want quality code" but, when it really comes down to it, they just want some code written as fast as possible so they can close the story and meet the deadline."

Horse owners say they want the best quality horse shoeing job, but they really just want some horse shoes on their horse for the cheapest price.

See the similarities yet?  This post is a little depressing, but actually it's also very inspiring if you are a junior or noob developer.  Guess what, if you know coding basics, have an upbeat personality, and work well with others you can get hired fast!

This is very sad news if you are a senior developer who really wants the business team or scrum master to really appreciate the quality code they write.  They don't and they won't.  There I told you what the coding boot camps won't, I de-glamorized the learning to code movement :-)  Am I a traitor?  No, I still love coding, it's a great field, it's just not quite as sexy as it's made out sometimes :-)

Keep coding peeps, you can do this!!!