Cloudy days are perfect for productive leisure, so in March before moving to the US I spent a lazy-cloudy-Sunday afternoon packing. Moving is always exciting and a good chance to get rid of everything that is not necessary in your life anymore. You can even leave bad vibes behind if you are spiritual. We tend to gather too much junk. Keep it simple.
The cleanup included my bookshelf. My mission was to dispose of as many books as possible. Boy, books are heavy to carry and physics does not apply when it is part of your luggage.
While running through the titles I started to compare dates of purchase against subjects. I have had this habit since I was a teen, every time I buy a book I sign and date it.
Anyway, my small library was another lead to an obvious issue: my quest to become a programmer is a mess.
Here’s one good example. I wanted to code games when I was a teen. After some research I concluded that C++ and DirectX were the right tools for the job. I decided to start with C++ and ordered “C++ How to Program” by Deitel. Back then, a small number of web pages would advise: “You have to learn C”. My mind discarded that advice as fast as I could read it. Why would I learn C? Isn’t C++ not only C but PLUS PLUS! It is the future. Yeah, I know you are laughing at me.
I read and tried all the examples from “C++ How to Program” before reading or writing any line of pure C code and felt ready to dive into some DirectX books and code the best tic-tac-toe ever!
Turns out my ambitious plan needed a detour. You have to go through some Windows programming before you can dive into DirectX (I don’t know how it works now a days). Gosh, 70 lines of C code just to print Hello World in the Win32 API world.
I can’t just copy and paste code so I ordered “Programming Windows” by Petzold to become familiar with Windows programming. BTW, Programming Windows is a great book — and I found a minor mistake in the text! (Erratum #5).
I read the book, tried the examples and the fact is: Win32 API is C Code.
Because of that I finally ordered the classic “The C programming language” book to fill this awful gap in my skill set. Comparing the dates of purchase I realized that I bought the C book 2 years after the C++ one. Sad.
I now remember that after going back and forth I finally achieved my goal. The best tic-tac-toe game ever written did compile and run without crashing. The euphoria lasted for almost 5 seconds!
Before writing my first line of code I was already humble and comfortable with the idea that it takes a lifetime to be a great developer. BUT, it took me a long time to have a better overview of the skills set you need to build in order to be a software developer.
It’s a matter of proper guidance.
It doesn’t matter if it’s a CS degree or guru souls willing to show you the way.