Programming Is A Metaphor Of Life. Just Like Football
and you don’t even know why
Have you ever heard the quote: “Football is a metaphor of life”?
I know a lot of men have. What I didn’t know is that Jean-Paul Sartre himself said it. Yes, a philosopher! (This goes to the people who cannot understand why you can get so passionate about 22 guys in shorts and strangely colourful t-shirts running a ball around).
I do not know the reasons behind Sartre stating this fact but for me, it is one of life’s truths. And since I swim in the turbulent waters of the Computer Code river for 10 years, it’s equally true for Programming.
I know it’s not a sport and it doesn’t have an appealing name such as Football (sorry American guys, my brain refuses to call it soccer!) but you can ‘play’ programming as you can play football.
And since I’m aware that non-programmers have a hard time understanding what Programming is really about, I am focusing on what it has in common with the most popular sport in the world and how the words can be used interchangeably in this story. But most of all how they can represent life in it’s best (and worst!).
Letting aside the money and the glory anyone is seeking nowadays, football is about the team. You can be a great individual doing amazing things and yet you won’t win the Champions League or the World Cup, not even the Home League if you are not surrounded by the right people staying by your side, encouraging and motivating you.
If you don’t collaborate, if you don’t help others and are not helped by the others: YOU DON’T WIN. That’s it.
On the other hand, you can have a great team and be an amazing footballer performing at your best and still not win. Why? Well, that’s life. Someone is better than you. The moment is not right.
You give everything and you don’t know if you are getting anything in return but you keep going and thinking someday it will be your turn. It has to be your turn if you do not lose your grip. You have invested your time, your soul, probably your mental health to see that stupid ball pass the white line of a net.
In football as in life you get the chance to have your revenge (or karma or whatever you call it) if you deserve that opportunity and dig deep inside your most inner self to rise against the worst defeat (AC Milan vs Liverpool 2005, 2007 Champions League finals. I had to say it!)
And there are morons there too. As there are cheaters and haters and everything that’s bad in this world. And we are surrounded by them, have to deal with them all the time.
You can work with an incompetent coach or president or teammate. Eventually, they’ll be gone but sometimes they can get rewarded, without having any merit. It is up to you. Whether you let the outside phenomenons condition your thoughts, behaviour, and actions. It is up to you. You choose to go straight on your way to the objective or be stopped.
You fall, you get hurt. You have to stay out of the fields for some time but then you come back stronger. Just don’t give up on football. Don’t stop training and eventually, you’ll get back to where you were or you’ll get even better.
Not everyone is born as the most gifted player on Earth, but everyone has the chance to become someone with day by day work, mental strength, and experience. No matter how ridiculed they can get on their way, those people will turn out to be so good. So good that teammates won’t ignore them. Rivals will fear them.
Sometimes they will achieve more than great champions with no confidence or with an ego wider than their talent and the kamikaze desire to lose it. It’s on these last ones that I want to set my thoughts for a while.
Some players are born to play football and possess that talent which others only dream of. They become footballers and shine for a while. Unfortunately, they do not love it enough. They like the fame, the money or both but they don’t want the sacrifices that come with hard work and training. Their mind is not prepared for defeat, it is even less prepared for victory.
They win and they get off balance. They start falling slowly, getting unmotivated, tired, unfocused until there is no turning back on their path to loss. They are blessed with the gift of football but not the power to hold it. Being psychologically fragile, they finish giving up while facing the smallest difficulty without finding the way back.
And it’s such a pity to see those players go but you can’t change their nature nor you can save them from themselves. Football must go on…
While I enjoyed very much this whole preamble about a sport I used to be a great fan of (and now an occasional admirer), I know many fellow programmers (and not) have struggled following me all the way down here. If you are one of them, thank you for holding on.
As much as I would love to delight you with the peculiarities of football, the difference between a ‘Christmas Tree’ and a 4–4–2 scheme, for instance, I think the time has come to show some singularities of Programming that relate it to life in such unexpected ways.
The code is there. It has always been there. You have written a lot of it and reviewed even more, yet you find a way to make mistakes (we call it bugs!). No matter how much experience you have and how good you are at your thing, you can break the code deadly. Then you’ll have to go back to your steps, figure out what has happened and solve the problem.
You will fail. A lot. You’ll keep fighting with the code, yelling at Him, loving Him, hating Him. You will face defeat a hundred times and then you’ll succeed, miraculously.
Sometimes you have to fix the mess someone else has set up. And yes, you can complain but it’s on you to decide if it’s better to complain or do what you know it’s the right thing to do.
The same thing can be done in a million ways. And there are a million programming languages. You choose what is suitable for you or you happen to work with a language you never had thought of using. Life happens.
There are language fans too. Usually divided into two camps: The OpenSourceres vs Closed Sourcerers (aka those who love expensive licensing). They argue using big terms, fight and throw memes at each other. And the universal “Which came first: the chicken or the egg” dilemma is nothing before their never-ending conflict.
Since we are getting Darwinian, if you wish to program for a long time, you have to evolve or get extinguished. Technologies are changing at a terrifying pace. Others are getting obsolete. New technologies and languages are being created all the time. You have to keep training your mind, acquiring knowledge and keeping up to date.
That’s tiresome for many. Let’s face it: programming is tiresome, mind-consuming, nerves-eating. You have to be passionate about it or otherwise let it go. A programmer without passion is no more than a robot. And I don’t mean passion for making money…
You have the chance to improve with your code. A code has many versions. We call them commits. You add new code, remove unnecessary lines, clean up what is already working but not looking as good as it should. Change your code, change your colleague’s code…You create versions.
If things don’t work out, you can get back to an older version. Maybe, that’s the only thing that is easier done in the code than in life. It only takes a command or two.
For the rest, programming solves everything apart from the eternal questions of humanity: “Where do we come from? Where are we going?*”. Just like football, just like life.
And… I haven’t found if there is a Programming God, yet.
*Dan Brown — Origin