Learning to code – Starting out
So I started looking for resources, tutorials, How Tos and oh yes!, I was successful. At the beginning I had no idea why there were different programming languages. Even less how they would be useful in accomplishing different thing – I just tried out everything! Till today, every time Codecademy or Codeschool release a new course, I have to try at least the first few lessons.
After a while I understood basic concepts like loops, arrays, objects very well and doing simple exercises was not enough for me anymore. So I decided to develop a browser game and upload it to a free gaming platform. This would be something people could actually use and I would even get feedback about it!
Developing a browser game
The game type of choice was an idle game. No animations needed, rather straightforward game logic and easy to implement. At least that was what I thought. Soon enough I found out that for a newbie coder even this can be a huge challenge. I spent hours every evening after work on my code, trying to figure out bugs and fix them without breaking even more…
After long weeks of enthusiasm, despair and still learning a lot, the game was finally in a playable state. That meant it was time to upload it to the chosen gaming platform – boy, was I excited! Would anyone play it? Would they even find it? They did and they did. But I wasn’t prepared for the harsh feedback I would get.
There were two types of players and commenters: the first type was just a gamer and expected an interesting, playable game with the usual features. Mine was quite boring, as even the basic structure was already pushing the limits of my coding abilities. Also, there were bugs I hadn’t seen and saving the game? – not possible. I just did not know yet how to achieve this. The second type of feedback also was not in a way your best friend would talk to you, but it was really helpful! It came from other game developers using that platform, checking out what other people were doing. They analyzed the code of the game, found mistakes and very honestly wrote what needed to be changed. They estimated the quality (maximum alpha state, not ready to be published!!) and basically gave me the opportunity to learn and improve!
Game status now
Till today (more than a year after publishing it) I check the game regularly for new comments. It can be saved now, the look kinda improved (I learned how to use frameworks like Bootstrap) and a lot of the old bugs are fixed. To be honest, knowing of all the weak points it still has, I would still not put it on my portfolio if applying for a coding job. But this learning by doing was the necessary next step in my coding journey to actually get ahead.
A word of advice
This is the single most important advice for anyone planning on learning to code:
After learning the basic concepts of your programming language of choice: Find a project! Build something with it! All those “real-life-challenges” will teach you more than any theoretical exercise could.
A very good starting point for this is Freecodecamp. There you can either start with the very basics. Or you can skip those and go directly to building little projects and apps. You will definitely apply your coding skills and keep learning. Freecodecamp has a very helpful community, is free for everyone and the best: you can help nonprofits by coding real life stuff for them! It’s a win-win-win!
Also make sure to have other people read your code. As mentioned above, getting feedback from other developers propelled me forward on my journey of learning to code.
Myself, I’m still working through the learning map and it is gonna be a while till I get my certificates from them. Especially because I’m doing it next to a full time job and other hobbies. It has already taught me a lot though and the warm feeling you get when you have built your next app or acquired a new skill…it’s so worth it!
I hope to finish the learning on Freecodecamp by the beginning of next year, maybe build another of my own projects in that time and – who knows? – even use this in my day job at some point. If you are just slightly interested in learning to code, give it a try! You can only gain in the process.