Not long ago I decided to teach myself OpenGL. As a project I decided to develop a Game Engine.
I had no idea what I was getting into. During the first year of development I struggled. I had to re-learn Linear Algebra. I had to learn an scripting language like Python. I had to read many books on C++, Design Patterns and Data-Structures.
I wanted to quit the development of the engine many times. For the first year or so, the result of my efforts could be summarized in one word: Garbage. Don’t believe me? see the evolution of the engine.
Behind all that garbage were hundreds of hours of work. I worked on the engine before heading to work, during my lunch, after work and during the weekends. I would read all I could, develop as much as possible and spend many hours fixing bugs. All for garbage rendering on the screen of my iPad.
Telling you that I didn’t Quit is a lie. I did Quit. But, after couple of months the urge to create would come back. I would then start development only to find myself drained out of energy and quiting again.
On a particular day, I heard my mind urging me to stop coding. It came up with a plenty of excuses of Why I should. I discovered a simple truth that changed my life.
Your mind is your biggest enemy.
Anything complicated will teach you this truth. This can’t be taught it must be experienced. However, once you experienced this truth, you will realize how unstoppable you can be.
Your mind is the reason for your failures.
Go ahead, choose to do something beyond your wild imagination. Do a project that is beyond your intellectual capabilities. Do something that everybody says it's impossible. Stick with the project until the end. Don't worry about how long it will take.
What you will discover is something I can't describe. But what I can say is that the process will change you. The pain will give you strength. And your persistence will make you unstoppable.
Was this experience painful? you bet. Was it worth it? Hell Yeah! I may not be the best programmer, but I am better than I was yesterday.