I’ve made a big realization lately. I love optimization problems. I loved them since I was a young child. I’ve realized that when I was playing computer games, as a child, I wasn’t doing it for fun. I was looking for the most effective way of accomplishing a certain outcome, an approach that can be replicated.
In other words, I was fascinated with algorithms and systems. I knew that one method of doing things, a certain combination of steps and actions was far more effective than others. I was creating functions, even if I wasn’t smart enough to realize what I was actually doing.
It was like in chess, where by following a certain pattern each time you start a game (two pawns dominating the center, knights out defending the pawns, bishops out defending the pawns, queen in front of the king, king castled), your chances of winning the game increased dramatically.
Chess for me was an optimization problem too.
I do not know if it was nature or nurture. When I was six years old, I have received an Atari 2600 (I think it was a clone) that didn’t really spark my interest in computers. To be honest, in 1996 there was Delta Force and 3D games were coming out so playing 8 bit games on an Atari was kind of underwhelming.
However, two or three years later, something interesting happened. I received from my father a Commodore 64 clone. It ran BASIC and used large, five inch disks. It came with no practical operating systems (unless you consider the fact that I could write code as an OS, but that was different from MS DOS or Windows at the time). On BASIC, if you wanted to run software, you had to write it. It was a canvas, nothing more and nothing less.
I can remember up to this day the green screen and the blinking cursor. For a long time, I’ve ignored it. I had no idea what to do with it. I could barely read. I wasn’t going to write my code now.
Yet, the life of a nine year old in rural Romania (I was living in the country-side at that moment) wasn’t that interesting. After all, there was only so much I could play with my dogs, on my bike or play Monopoly with my neighbor Teodora.
So I’ve decided to learn coding, at age 9 or maybe I was ten. In any case, I know I was still in primary school. I’ve started by writing code from an old programming book. Most of the time, it would fail. A single broken command would throw everything away and there was no easy way to find bugs. Eventually, I’ve learned to be more productive than copying code and saving it on a floppy disk.
I’ve started writing my own code. The first game I’ve ever created was tic tac toe. I wish I could say that I was employing some complex neural network based on which an AI could learn but honestly, it was scripted. There is a limited number of solutions in tic-tac-toe and based on where you start, the other best solution is always obvious. It sounds complicated but honestly, the permutation table was rather low and it could have been solved with ease by a 9 year old.
Then I’ve created a CMS, long before WordPress. Thinking about this, if I brought that to market, I would have been famous now. I created something that looked between WordPress and a Teletext system and that actually worked. The computer was not connected to the Internet, but the fact that I could create something with a front-end and a back-end that saved data was impressive for me.
Sooner or later I’ve created more games. I was using Bolean at least a decade before I’ve first heard about it. This is most likely because nobody told me that this was hard. It was fun. It was play. And I have this belief that if you don’t instill helplessness in people, you will be surprised at what they can achieve.
When I was 10, I received a 486 and I’ve retired my BASIC machine. Programming was replaced by Wolfenstein 3D and other games. From that point onwards, the next 3 – 4 years of my life were about playing video games and I’ve forgot programming completely.
In the ninth grade, I’ve decided to start game development again. I’ve taught myself how to use 3D engines, built a small team (kind-of) and tried. I’ve failed. I mean, in all honesty, I had a working prototype. My game was built around a tower of hell. There were nine levels, each with an unique theme and unique enemies. The enemies were taken from Half Life by taking the 3D models and importing them as creating models in Maya or 3D Max was way above my capabilities or budget. So I gave up on the idea and instead, started playing World of Warcraft and dreaming about girls that I had no way of dating them at that moment.
(Ironically, later I’ve understood that my limitations were in my head and that all the girls I liked liked me back. They were confusing my insecurity with a lack of interest).
Fast forward to now. I love optimization challenges. I love making the most out of my life and building algorithms that I can replicate. At this moment, I have a very complex system that works perfectly well for me. I have goals for when I wake up, exercising, running, productivity and so on. I could show you but this data is quite personal and I want to keep it this way.
Just like a programmer can write a function to automate solving a certain problem, so I’ve developed a passion (or an obsession, depending on whom you’re asking) for creating functions in my own life. I’m the kind of person that if I could eat the same three foods each day, every day, as they would provide me with the optimal amount of vitamins and macro-nutrients, I would gladly do it. I love having a morning ritual, I love aiming for 5.71 hours of work each day. These are stable systems, algorithms that are proven to work.
I love the mathematical logic of life, how cause and effect works. I know that everything that happens, happens due to mechanisms in motion. And this makes me wonder – have I’ve started programming so early because I love this or have I’ve learned to love this because I’ve started programming so early?
This leads me to another point. Do you remember those lessons in statistics about the original conditions and how they influence the outcome? How a 0.01% change in the initial state can mean a 1000% change over the long term? Well, I don’t remember them because I’ve never done statistics in school but I remember the idea from somewhere else.
And now, I’m wondering, how much did the fact that I’ve coded instead of having normal interest as a child lead me to where I am now? I can consider myself and most can see me as a successful person. Yes, I screw up things often but this is because I believe that failure is just the gas I need to put in the car to progress. But if that year, instead of receiving a computer, I would have received a football ball, would I be right now living a quite extraordinary life? Or would that lack of deviation lead me to a completely different outcome? Or would I would have found a way to gain access to a computer no matter what, simply because my natural tendencies towards systems optimization would have lead me to this point?
It’s a good question and maybe the answer doesn’t matter. I’m happy to be here and I’m happy that I’m good at optimizing systems, both for myself and for others. At the same time, I’ve realized that optimizing system is not the entire key to success and that value delivery is not the same as value creation.
I remember that the CEO of Toyota said once something like this “We are masters at creating quality cars, with minimum defects, at the lowest price, in the fastest time. What we don’t know is what cars we should create to begin with”.
And this is the problem with system optimization. It is high level managerial thinking. It is the person that takes a factory and makes it work perfectly well. The problem is that optimization doesn’t actually determine what the factory should produce. That’s my missing part. It is great that I’m good at delivering and exploiting value in a system, but I also need to learn what systems to build and towards what purpose. I’m saying this because while value optimization makes me a great management oriented thinker, it doesn’t make me a great entrepreneur.
An entrepreneur asks himself “what should we build to achieve a market match?”. An optimizer asks himself “how can we deliver this in the most effective way possible, maximizing ROI”. Both are important and together, they are far bigger than each individually.
A truly talented entrepreneur goes to a place, sees an opportunity and says “This would make for a great business”, even if he has no idea on how to achieve this. He’s the captain of the ship that sets a destination. An optimizer is the person that takes that command, the destination and finds a way to get there. So I do need to learn how to be the captain more while continuously improving and refining my skills as a system optimizer.
I’m so excited to unlock all the new value in my life by further developing my entrepreneurial personality.