I learned how to program of my own volition and at a fairly young age, I made numerous assumptions and plenty of mistakes in my naiveté. It’s about time I went back and attempted to rectify those mistakes
Growing up, a close friend and I found the easiest way to play games together from afar was through MMORPGs. These games provided massive worlds to explore and thousands of goals to accomplish. But it wasn’t enough: the world needed to be bigger, there needed to be more stuff to do, gameplay was inadequate and needed to fulfill our own dreams. Now, the beauty in naiveté is the ability to dream big without worrying about scope; it doesn’t matter whether a task was too big or two 10 year olds could produce their own MMOs with experience they gained from the internet.
Dampened
Since those times I’ve learned significantly more by piggybacking off of my first experiences with programming when attempting to learn how to progrma games. Back then the game engines I picked up were Irrlicht, Blender’s game engine, Crystal Space and Torque 3D. I picked up programming by learning how to use these tools and never truly started from scratch learning the bare bones basics of programming from scratch. While I do know these things today, I never had the experience of starting fresh and doing things the right way. This has had a dampening effect as time goes on and I learn more and more, never truly comprehending the foundation of the things I’m learning.
As a result, I’ve decided to take on a challenge, start from scratch. Pretending like I know nothing about programming and learning everything there is to learn right from the beginning. It’s time to the dampened oscillation back into motion.
Beginning Steps
To be frank, it’ll be difficult to start over. How could I possibly forget everything I know and start from zero?
I haven’t quite figured this out yet but one thing that comes to mind is starting with a language I don’t know yet. Something with an unfamiliar syntax that will help me relearn the things I already know. Another method, one that I don’t forsee working as well, is embracing the things I already know and contrasting them to the new things I learn. A more open minded approach is necessary for this in order for me to fully accept Yes, this is better than what I know anytime I come across something different.
The Language
The language I settled upon was GoLang, a relatively new language appearing sometime in 2006. I legitimately don’t know much about Go and what it entails but I recently applied for a position at Digitalocean for a position that required experience in Distributed Systems and Go. I’m pretty sure there was more emphasis on the need for distributed systems but for my own sake I’m going to go with my inexperience with Go as the main factor that I didn’t get the job.
End Goal
I’m not sure what I’ll use to benchmark my progress at the end of my journey but I have determined that something needs to be done to vouch for my progress. At some point in time I’ll find some test that I deem worthy.
Until next time.