Why building software feels like being a god!
20 June 2025
Introduction
I have been developing software for almost 7 years now. I started with game development and gradually shifted to web development. In both of these worlds I really enjoy the process of building digital entities be it a game world or a website. Both follow the action of programming that involves writing instructions to tell computer what to do. The process of writing instructions, applying logic and forming systems is the fundamental aspect of software development and programming that I really enjoy working on. Compared to physics, mathematics or any engineering discipline, programming and building software gives us the freedom to make many more mistakes and learn from it as the consequences are relatively low (at least when prototyping or project-hopping). All in all, it's a blank canvas and sky's the limit to build whatever we want!
The feeling of being a god when building software started taking a visible form when I finally finished building a game. It was not a prototype, not a demo, but a full-complete game. It took me quite a long time after which I achieved this feat, as before that whenever I tried to make a game, I always had a huge scope because of which I wasn't able to finish it. Or if I did have a small enough scope, then I either faced challenge in achieving engaging game art (2D/3D), or fun gameplay, or perhaps level design, or some other challenge, and ended up losing interest and impulsively jumped ship to start working on a brand new project and get that sweet dopamine hit. Though this time I was committed to finally make a full complete game, and was able to thankfully finish it 😊
The Game
To make things easier for me, I went with a 2D game with simple scope, and for art and music I decided to go with public-domain and attribution-licensed assets. This meant I will solely be focusing on programming, level-design, and putting art/audio assets together. Here's a rough breakdown of my development journey -
- The core gameplay mechanics were done in around 2 days.
- Level logic, different levels, menus, and so on took appoximately 2 months.
- Adding backend for player accounts, achievements, and leaderboards took another two months.
It took me roughly 4 months to make a complete game (while also working on a remote full-time job).
This whole process of writting instructions for computer to understand, applying logic and making systems so these instructions can successfuly achieve their goal and don't break along the way, putting together art and audio assets, designing levels, designing backend and ensuring data remains reliable, setting up game's listing on Play Store, all of this was an enlightening and very satisfying experience to me. It's something that can only be achieved when building something of decent-to-awesome quality that HAS TO BE completed.
The Analogy
Though I don't remember when exactly this analogy came to my mind, was it during this whole process of building my game, or maybe after that? Either way somewhere along the way I realized that I felt like a god of my very own world that I created in a simple 2D game. I soon made an analogy with respect to game development, which I later applied to web and software development in general. This analogy works upon the concept of Hindu Trinity, let me share it with you -
1. Till v1.0.0 you're the Brahma
The process of creating and building software uptil v1.0.0 is similar to being like the god Brahma, the creator of universe!
2. Preserving software? You're Vishnu
After release, the updates we do to the software like additional features and security improvements, is similar to being like god Vishnu, the preserver of universe!
3. Have to refactor? Then you're Shiva
Finding an analogy to Shiva was hard, and it's here that I asked ChatGPT for help. It recommended me about the process of refactoring and one or two more things being similar to Shiva. I went with ChatGPT's refactoring analogy. Here's how I molded it slightly -
If there's a need for refactoring the code, whether it being a small part or the whole codebase, we do so by removing, adding, and reorganizing the code with the aim of refining it. Scenarios like whole codebase refactor are usually done in early-stages of a software project, whereas refactor of parts of the codebase is done time and time again through a software's life to support addition of new features. Either way, refactoring is inevitable if one wants the cycle of software growth to keep going forward with new features and improvements!
Though this analogy makes Shiva's role a sort of subset of both Brahma's and Vishnu's roles. As it's quite hard to mold Shiva's role as per Hindu Trinity with software development, but I still find refactoring analogy to be quite similar to Shiva's core purpose. For now I'll go with it.
Conclusion
I really like this analogy. In my case, the game I made, well there I mainly did the work of Brahma. But games like Age of Empires II, Grand Theft Auto V and many more are still maintained and flourish to this day. Similarly, software like Blender, Godot, Unity or Google Search/Gmail, YouTube, Steam, Reddit and even operating-systems like Windows, Linux, Mac, Android, iOS and many more such examples are a bunch of digital entities which have become a universe of their own now, and continues to evolve!
And yes, one more thing...
I found this thought quite fascinating and wanted to share it on Internet. Thought why not have a blog site of my own and put it up there. Of course I will share this on other social media sites too (so more people read it), but keep the original one here (in my own created universe).
Also, this blog was written entirely by me. Mentioning this because as of 2025, the good usefuless and bad downsides of AI are wild. I do use it frequently, like how I used it to take help for the Shiva analogy. But in things like social media, for majority of cases I like to create and consume content that is created by humans themselves. That's why I thought of mentioning the fact that this blog was written by me only.
Thank You
I hope you found my analogy interesting. Thanks for reading this far, and have a great day ahead! 😃
References
The game I made - Collide On!