So, you wanna be a pro, right?
UIScript DevBlog, Part 20 (Special Edition)
Intro
Software development doesn’t happen in a vacuum, so once in a while I’d like to talk about non-technical aspects as well.
This time about mental health.
The egocentric bias
In the Summer Olympics back in 2000, there was a swimmer named Eric Moussambani who became famous as Eric the Eel after almost drowning during his heat.
His performance wasn’t a surprise though, given that he had never seen a 50-meter-long Olympic-size swimming pool prior to his race.
In fact, he took up swimming just months before the Olympics, he had only practiced in a lake and in a 12-meter-long pool in a hotel and even that pool was only available to him between 5 and 6 am.
Most people find his story inspiring because we want to believe that our success is the direct result of our own hard work and that we can overcome any obstacle if we are dedicated enough.
“If you really want something, surely you can walk the extra mile. This is an opportunity to prove your dedication.”
The only problem is, it isn’t true.
So much so that if you are highly ambitious and like to constantly push yourself to become better, but face terrible circumstances, this mentality might completely grind you down.
I had to find this out the hard way.
Jack of all trades, master of none
During the past ten years, I have been working on endless number of projects that went literally nowhere.
They always shared the same characteristics: they didn’t have enough funding, enough team members, enough time, a clear vision, a competent leadership or even a proper tech stack.
Everything was makeshift, critical hardware was second hand and more often than not we were even forced to use pirated software just to meet impossible business requirements.
“But you are a genius, you can do this.”
For several years it made me feel proud. I thought to myself I was doing the impossible, I was making my superiors and my clients proud, I could do the job of an entire team. Nobody else could achieve so much from so little, let alone a self-taught beginner.
I was the best value for money.
Then it slowly began to dawn on me that I was Eric the Eel, a wannabe professional without even the most basic tools required.
My lowest point (yet) was an all-nighter to recover one of our production servers that crashed right before my day ended. It was a 10+ year old Mac Mini on prem, running the latest macOS using OpenCore.
Great idea, right?
The OS crashed due to the patch, corrupting the backups as well, so the machine had to be rebuilt from scratch.
Before you judge this setup you should know that our only alternative was a 15+ year old unmanaged Windows server, running 5+ year old WordPress and we didn’t even get root access to update that shit, we could barely remove the random Chinese viagra ads from our international website as they were.
That, or a similarly aged NAS to host a dozen “production grade” web apps.
Oh, and by the way my actual responsibility was to develop one of those apps, not IT or any kind of operations.
Opportunity cost
At some point you have to realize that the thing you are trying to do is entirely pointless or even outright impossible.
You can cut some corners here and there, optimize costs, be resourceful, but having absolutely zero tools, zero support and zero budget to do production grade work is a delusion.
There is this false notion that everyone starts with bad projects and once you prove yourself and gain enough experience, then you’ll be entitled to move on to better projects.
“You gotta earn it man. You gotta prove yourself first, before anyone can trust you.”
This is an outright lie designed to manipulate you.
The thing is, a shitty project is just that, a shitty project. It is shit, because nothing works as it should, so you can’t do your job either.
You’ll gain no experience, because instead of doing your actual job, you are constantly sidetracked, forced to put out fires, step in to do things far outside of your role (and usually way above your pay grade), all because nobody else is doing their job and you cannot rely on anyone or anything.
Most of the shitty things I had to do gave me knowledge that is absolutely useless, because the problems I had to solve shouldn’t even exist in a professional environment.
To put it simply, I was wasting my time building a pool instead of exercising inside one.
🚩🚩🚩
Now, if you’re like me you’ll have a hard time learning that most people in corporate have a vested interest not to achieve anything tangible at all.
You can blame it on the iron law of bureaucracy, capitalism or even on pure human greed, but the result is the same: professionals will suffer.
Instead of focusing on growing as a professional, the game is now to out-manipulate everyone else, whether you like it or not, and boy are they good at manipulation.
They will tell you anything and everything to keep you from leaving, even though it is clear as day that neither the project, nor the company is going anywhere.
And with that, you can say goodbye to your professional ambitions as well.
“But if I don’t do it, nobody will and the project will definitely fail.”
Yeah, that is exactly the point.
Why should you care if literally nobody does, including your superiors and even the client? What kind of teamwork is it, where you are the only one moving the ball forward and everyone else is actively working against you?
What are you even trying to prove?
I think one of the biggest difficulties ambitious professionals are facing is the lack of a functional environment.
It is your job, however painful it might be, to recognize when the circumstances are completely stacked against you, take the hint and move on.
For some people, it is fairly easy, but it is pretty difficult if you are diligent and you don’t want to let anyone down.
And this is precisely why you need to do it.
Outro
I cannot help but wonder what would have happened had Moussambani been born in a developed country or at least had access to a proper training facility and a professional coach.
Sure, he became famous for a brief moment, but for all the wrong reasons.
There are only so many battles you can possibly fight in your lifetime so you have to be careful to pick which hill to die on.
I, for one, want to do meaningful work instead of battling the elements just to get to the start line.
What do you choose?