Skip to content

From Gaming to Software Engineering

Updated: at 09:59 AMSuggest Changes

Introduction

When people think about gaming, they often see it as just a pastime—a way to unwind or disconnect. But for me, gaming was much more. It wasn’t just about high scores or completing quests; it was a journey that shaped the way I think, solve problems, and work with others. Gaming became the foundation that helped me step into the world of software engineering.

In this blog, I want to share how my love for games equipped me with the skills needed to succeed as a Staff Software Engineer. Whether it was problem-solving, embracing failure, collaborating with others, or learning to adapt quickly, gaming turned out to be the perfect training ground for my career in tech.

image.png

What is PvP and PvE

Before diving deeper, it’s important to understand the types of games that are available: PvP (Player vs Player) and PvE (Player vs Environment). PvP involves competing against other players, requiring adaptability and quick thinking, whereas PvE consists of battling against challenges designed by the game, encouraging players to think strategically and plan ahead.

There’s often a debate among gamers about which is better. Instead of choosing a side, I’ll focus on how these different gaming experiences helped me grow. Both types taught me valuable skills that I use in my career today.

PvP taught me adaptability, staying calm under pressure, and thinking on my feet—qualities that are essential when troubleshooting unexpected issues or handling changes in software development. On the other hand, PvE taught me patience and systematic problem-solving, which is crucial in breaking down complex engineering problems into smaller, manageable pieces.

Gaming as Problem-Solving

image.png

One of the key lessons that gaming taught me is how to approach problems systematically. Games like Portal, The Legend of Zelda, and even puzzle games like Tetris required me to think logically, make quick decisions, and solve problems one step at a time.

In software engineering, every bug or feature presents a new puzzle. Just like solving a tough level, debugging code involves breaking the problem into smaller parts and experimenting until you find a solution. Gaming has been an excellent way to build and strengthen these problem-solving muscles.

Embracing Failure

image.png

Gamers know what it’s like to fail repeatedly. I remember spending hours trying to defeat a boss in Dark Souls, only to lose over and over again. Each attempt, however, taught me something new: the enemy’s attack pattern, the right timing for dodging, or a better strategy to survive.

Software engineering is no different—failure is an integral part of the process. Whether it’s a failed deployment or a bug that just won’t go away, each failure brings new insight. Gaming taught me to see failure not as a setback but as a step toward improvement. It instilled resilience and determination, both of which are key to thriving in engineering.

Collaboration is Key

While single-player games taught me problem-solving, multiplayer games like Dota and Ghost Recon Phantoms taught me the importance of collaboration and communication. Success in these games often depends on your team’s ability to work together toward a common goal.

In Dota, leading a raid or coordinating with a group requires understanding everyone’s strengths and weaknesses, and communicating clearly under pressure. This directly translated to how I approach working with teams today—as a Staff Software Engineer, I need to work closely with colleagues, product managers, and designers to ensure our efforts align.

Rapid Learning and Adaptation

Every gamer knows the experience of starting a new game and feeling overwhelmed by new mechanics, environments, and rules. But we adapt, learn the ropes, and eventually master the game. This rapid learning curve has prepared me for the dynamic nature of software engineering.

Whether it’s picking up a new language or adapting to a different tech stack, gaming gave me the confidence to face the unknown. With patience and persistence, I know that I can learn, adapt, and overcome any challenges.

Creativity and Systems Thinking

Some of my favorite games are those that let me build and create—Minecraft, SimCity, etc. These games challenge players to think creatively and design efficient systems, skills that are invaluable when it comes to software engineering.

In these games, you take raw resources and create something functional, which is essentially what we do in engineering. It fostered my ability to think systematically, build efficiently, and create solutions that work smoothly.

Games of Honour

Ghost Recon Phantom

A tactical shooter that required meticulous planning and teamwork. It taught me the value of strategy and adapting on the fly, skills that are directly useful in planning and system design.

God of War

An action-adventure game that showcased an emotional journey intertwined with problem-solving. The intricate puzzles pushed me to think creatively, just like in software engineering when tackling complex logic.

The Last of Us

The game presented difficult moral choices and a gripping narrative that required empathy. In engineering, understanding the needs of end-users, and making tough decisions during development resonates strongly with these experiences.

It Takes Two

A brilliant co-op game that emphasizes communication and coordination. This taught me the value of clear collaboration, which translates well into working with cross-functional teams in engineering projects.

Beware Of

Time Limit

Gaming can be incredibly engaging, but it’s important to remember time management. As much as it helps to build skills, it’s crucial to balance gaming with other aspects of life, especially when working on career growth.

Physical Exercise

Hours of gaming can lead to a sedentary lifestyle, which is something to be mindful of. Ensuring that I maintain a healthy balance of physical activity helps me stay sharp both in gaming and in my career.

Conclusion

Gaming has shaped me in ways that go far beyond entertainment. It taught me how to solve problems, embrace failure, work collaboratively, learn quickly, and think creatively. These skills have all been instrumental in my journey as a Staff Software Engineer.

Meanwhile, I will also encourage all people to take up outdoor games as a way to stay active and healthy. It’s a great way to get some exercise and enjoy the outdoors.

To anyone who thinks gaming is just a waste of time, I offer a different perspective. Gaming can be a powerful training ground—a place to develop skills that are directly applicable to the real world. For me, it was the perfect preparation for a career in software engineering. And who knows? The next time you pick up a controller, you might just be leveling up more than your character.

Nothing is useless in life, and gaming is no exception. It’s a great way to stay active, learn new skills, and have fun.

NOTE: Thanks to my friend Ruhaya Sithara for encouraging me to write this blog.


Next Post
Understanding Heap and Stack Memory in Software Development