Coding is actually very similar to my main passion, horse riding. Here's how:
🐴 You are in control of something incredibly powerful.
Horses are powerful animals, and computers are possibly the most powerful thing ever invented. Powerful things in different ways, but somehow we are able to control them.
We should probably not have control of these incredibly powerful things... Who put me in charge?
Riding, as well as coding, takes time and dedication.
🐴 People think it looks easy...until they try it...
If you've ever ridden a horse for more than 5 minutes, you'll know that it certainly isn't as easy as it seems to look. I'll often ache for days after, similar to a very intense workout at the gym. Even if you are just riding at a walk, you are using your abs constantly in order to balance and move with the rhythm of the horse.
Similarly, I used to look at websites and pay no attention to the forms or carousels or pictures that were CENTRED!!
Now I understand how much work has gone into those things.
🐴 Just act confident...
Horses are very intuitive and can pick up emotion - if their rider is scared, then the horse will wonder why - is there something scary around the corner?! As horses are flight animals, this may end in quite a speedy trip to the floor if you don't get it under control!
However, if you sit comfortably, breathe normally and focus, things will go a lot more smoothly for you.
Equally, if you are stressed or frustrated, the horse will feel that and react accordingly. Like dogs, they aim to please, so they will get upset and frustrated if they feel that they are not making their rider happy.
I rode when stressed once. I was trying and trying to get something right, my coach was pushing me to 'do it again' I tried and tried, and the horse dumped me on the floor. Rightly so! He could feel the frustration from both me and my coach, and probably assumed he must've done something wrong.
I think the same can be said for coding, particularly the staying calm part.
Things will inevitably go wrong if you are stressed, frustrated or tired...
🐴 Has the potential to go wrong on so many levels. Debugging often involves Google
Clearly, horse riding can go wrong - it is one of the most dangerous sports. A bird in a tree, a leaf blowing or a flower growing where it hasn't before can be the difference between a nice gentle walk and a sideways gallop.
Code can also be as illogical and reactive, although the circumstances are often much more controllable. A missing semi-colon, a forgotten capital letter in camelCase, or a typo can make the difference between 'works' and 'broken'!
There are so many things that go wrong with horses - they are actually very delicate and have an incredibly knack of injuring themselves.
Just like with code, they cannot tell you what is wrong, they will just act 'wrong' until you figure out what it is.. it often involves a lot of Googling...
🐴 It's a mind game
As I mentioned previously, horses are intuitive and will react to what they deem as our illogical reactions, emotions or feelings.
You may have noticed, but people are like that too.
Coding and developing mostly involves working with people, so you must be confident and not allow others to become alarmed at your alarm/lack of focus/frustration.
People will react to how you are feeling.
🐴 Many moving parts. Decoupling is an issue
Generally, the rule 'stay on' is a good one to stick to when horse riding. There are of course, exceptions, such as if your horse is galloping sideways away from a terrifying leaf - you may prefer to 'tactically dismount' (jump off) onto the softer grass you are currently riding on, rather than the hard tarmac you are heading towards..
🐴 Sometimes the best time, sometimes the worst
Sometimes when I ride, everything goes so well that I want to cry with happiness - other times, I declare that I will never ride again and that I hate horses. It's the same with code, right? Some days are good, some days have you declaring you will never do it again!
🐴 When it's good, it's the best feeling in the world
I think horse riding beats coding here - when you get it right and you are cantering through a field on a sunny day, it's like flying and there's nothing else like it. I haven't quite got there with coding yet, but maybe the time will come..
Top comments (7)
How about some more horse/coding parallels...
Communication! Don't hide what you're trying to do. Make your code and documentation explicit, just like you should turn your head and look where you're going to go and give your horse all the info they need to help you.
Fundamentals go a long way! Heels down, sit up tall, good rein length. You might encounter a lot of specialized situations, but having a good base will go a long way.
And with both activities you might just find yourself shoveling a lot of shit from time to time.
Haha these are good parallels that I certainly missed off - thank you!
😄
I just felt like demonstrating a bit of my horse cred.
Great read! Horse riding and software development is what we breathe at Equilab - the horse riding tracker app. If you are interested in chatting a bit hit me up on linked in! linkedin.com/in/simon-bengtsson-dev
Two of my last three girlfriends have been horse riders, as is my biggest FB friend crush (several states away, so that never happened). Never having ridden myself, I can only conclude that it's the type of personally and intelligence required (to be a successful rider) that attracts me.
Great article
Thanks John!