Skip to main content

Command Palette

Search for a command to run...

Why Software Developers Should Build Games

Updated
Why Software Developers Should Build Games
V

I'm a solutions engineer lead, GitHub Star, Director of WomenDevsSG, and co founder of ragTech. I work at the intersection of tech, systems, and leadership, and this blog is where I share my journey through all three. Expect honest reflections, real experiences, and thoughts that are still forming rather than polished career advice.

Software developers are problem-solvers, creative thinkers and efficient architects. We spend a lot of time to learn the many aspects of technology, from programming languages and fundamental concepts to networking and operating systems.

Most developers would probably build a lot of software as side projects to learn new skills and accelerate their learning. But did you know that building games can be another side project that developers should give a try on? Here's why.

1. Review Data Structures & Algorithms

When software or web developers think of game development, they probably think: a lot of difficult math.

Well, that's not entirely true because it depends on what kind of game you are building and which game engine you are using. Instead of hard Euclid-level mathematics, game development will more likely involve data structures and algorithms.

In order to design certain game mechanics and aspects, you will likely have to revisit your data structures and algorithms knowledge and apply them. It's a great way to learn about them in-depth while finding creative solutions to include/expand upon them in your game.

2. A Fun Side Project

You don't need to build a game as large as triple A game companies make. It is just a small and fun side project that lets you explore your creative skills outside your usual software development practice.

With full creative control on how you want your game to be like, it can be a fun and de-stressing side project to build. Plus, as you add more features to your game, it is satisfying to feel that the project is progressing quickly.

If you want a good challenge, you can also build physics-based games to test your math skills. And of course, you can monetize your game if it is polished really well.

Overall, a game side project can bring enjoyable moments while development and potentially become a monetized project.

3. New Way to Learn

Game development as a hobby will encourage you to explore tools and engines on your own. You will learn how to discover and learn new languages, tools, frameworks, etc; and try to play around with each of them while figuring out which ones work best for you. This form of explorative learning is like 'play' and learning or working through play has been proven to stimulate growth and skills faster.

As you build games, you will learn various software designs to help in optimizing your game and make it work the way you intended. If your game include AI, you will also get to improve your problem-solving skills as you come up with AI algorithms for your game.

Hence, building games creates a self-directed and discovering learning environment, and helps improve a lot of essential skills as a developer.

4. Expand Skill Set

By building games, you can learn beyond software development related skills. Because games require more than just good programming skills, you will be able to learn asset creation like for graphics, music, UI/UX Design, animation and even storytelling. Learning these skills may open up more opportunities in your career or even help you in your current career.

5. Meet New Developers

There are a lot of meetups and game jams that you can participate in to meet new developers, creators and designers. Game jams are short 48-hour competitions where you can collaborate with some amazing people to deliver a fun and impactful game.

It can be a meaningful experience, and you'll have fun building something with people over the weekend. It always feels satisfying and rewarding to make new connections with other developers with the same interest as you.

Conclusion

Ultimately, building games is another side project option that you can do as a software developer to improve your programming skills, foster creative and problem-solving, and meet new people.

And no, you don't have to build big or fully polished games like Mario or Zelda. Start small with a programming language you know and from there, you will discover game engines, libraries or tools that you can use and learn. It's really more about developing your skills as you have fun in building mini games that you'd enjoy playing.

I found some articles on Hashnode that can get you started learning how to build simple games. So do check them out in the links below. Thanks for reading! I hope this article will encourage some of you to try building your own games as fun side projects. Stay safe, cheers!


G

Hey vic! I couldn't agree more. I've been inmerse in the game dev world for many years. And the time I've spent in doing so were the moments that I grew the most as a programmer. Actually I learnt to code by modifying en open source RPG game built on C++

It was really cool to see and interact with the little modification I made to the game. Creating my own monsters and seen them fight with player or just between each other, was epic.

I just finished building a plain JS puzzle game and it really helped me to improve at JS. Now I just started with Unity. I'm very interested in prodecural animation and the unity engine for AI.

1
M
Mr. Bud4y ago

This is really a great article, let me feature this one in my next article!

By the way, the newsletter widget keeps showing in black color in dark mode, maybe you should use a pic 🤗

1
V

Thanks Mr. Bud for reading and letting me know about the widget 🤗🤗

M

Thank you very much for tell this to the people! Game developing is a amazing way to learn! I learnt coding and many things with Game development in 12 years old! :D

2
A

Victoria, you have delivered a great idea so that we can flourish new technologies & work on them and can live our passion too.

2
G

I can tell it's a very interesting way to learn new things and have fun while coding, but also, Victoria touches on a very important point, which is to go on new fields and to improve skills while coding, graphics, music, UI/UX Design, animation, and even storytelling are just some of the things a game developer has to work with, and depending on how ambitious the project is you can work even with saved/stored games or online connections with other players. Good article!

3
V

Really great insights! Thanks for sharing Gonzalo! :)

P

Great piece of writing 👌👌👏

1
V

Thanks Pavandeep!

B

Thanks for the shout-out!

1
V

My pleasure! Thanks for writing an amazing article :)

S

Thank you so much for the mention 😁

I really loved listening to this article, super !!

1
V

Thanks! Glad you enjoyed it!