Sometimes I'm just drained and don't have enough motivation to put in the work, keep practicing or build to study. Those days the only way I've found to show up and keep working on my self-education is by building something colorful, something fun, something I want to work on because it is enjoyable, and that's building arcade video games with JS.
I do apologize because the video is in Spanish, but this leads me to explain the reason why I think building these simple games can help me and my community.
My community is Mexican and Latin American jr developers who want to level up.
I spent a couple of years doing jr web developer work, I learned a lot, of course, but it was not as fun as I thought. When I work for some American companies as jr, It was a rich experience that allows me to take a look at how serious development would look like and led me to want to become a more professional developer.
A bit of time after, a couple of jobs I had with Mexican companies were not the same experience, Mexican small companies that recruit jr Mexican developers don't necessarily know that jr devs are well, junior, and they ask them a lot of things out of the scope of their knowledge, sometimes as jr dev, you just have ended a BootCamp and you know shallow web development, and then your employer starts to ask you for docker or Kubernetes.
My Simple idea
I'm a millennial, I like arcade!
So I thought; why not start to reproduce some of the most popular arcade games in history? There is a Netflix documentary about Atari and the E.T. game. How rock star game developers design and build games by themselves (they were real rock stars) and I also read this amazing book from Jordan Mecher about the creation of the classic Prince of Persia game that was a complete revolution in graphics at the time.
That's it! I will hack my practice building arcade video games just like these heroes, and I will learn how to think as a programmer along the way.
Today, while I'm writing this article, Google celebrates Gerald "Jerry" Lawson with an amazing pixel doodle and reinforces my ideas. 😊
So yeah, I started building a couple of games for myself, flappy bird, Tetris, Snake, and many others! But I soon realize I don't have enough time to build the most complex of them, and also I realized I would need some kind of framework in order to add complexity like Kaboom.js, but the bills must be paid, and I need a job. 🤢
So now this is just a hobby, but at the same time I'm getting better because I practice active learning with arcade games, I search, I read, and I document myself about achieving geometry, trigonometry, math, graphic design, pixel art damn! The list is long. I discovered I can really ENJOY the challenges when making an arcade game, not just tolerate the pain of a coding challenge.
The disclaimer here is that the way I found to keep working on this is to share publicly how I build these games in order to help my community, but, I still need to do it as a side project and also, I'm not a game developer I mostly a web developer with a big love for arcade games and a Mario tattoo.
That's mostly why I quit my last senior job building a great and big enterprise web app, to focus on my own education, knowledge, interests, and my own business, but again, that's material for another story in the coming weeks 🤓 I also want to learn how to write, so I can't tell you everything on only one shot! 😬 (please, follow me 🤡)
You'll may enjoy my free beginners course for making video games with Canvas and JS (Spanish )
Yes, you can become better and still have fun
For now, I just want to let you know that it is possible to become a better developer while you have fun doing something you like and help others in the process, I've learned a lot of things this year, but I want to mention the one thing that I put in practice and have my first real result and is a really simple public idea:
Persistence is key.
Don't stop, I will not. See you soon, and thanks for reading. Bliss.
Did you find this article valuable?
Support Héctor BlisS by becoming a sponsor. Any amount is appreciated!