What is software development really?
While on the surface it may just be the act of composing some text that can be translated into machine code to achieve some end, what it really represents is the unique intersection of problem-solving and design. The goal of good software is to ensure that humans work less while experiencing more.
Video games have always been a passion of mine and served as the catalyst for wanting to learn how to code. What kid didn’t want to design their own Mario or their own Legend of Zelda? It is this idea that drove me to learn how to code in high school. I started off just coding robots for our school robotics club and wound up studying Computer Engineering at Georgia Tech. Once I graduated, the best way to learn new skills was to design a video game even a simple one using whatever new technology or language that I was trying to learn.
Throughout most of my time learning to code, I always thought that the driving catalyst was purely a desire to create the next Mario or Portal because of the manner in which I learned. In truth, what drove me towards software development was the aspect that I mentioned at the very beginning, the fact that it brings together problem-solving and design. Programming video games may be a great example of illustrating this connection, but it is present in any software development. Portal 2 is my favorite game of all time. This is not because it is the most technically advanced, graphically intensive, or that it tells the best story. It is my favorite game because it forces you to think. Sure, most puzzles in the game are not overly difficult, but it still forces you to step back for a second and evaluate what is available in each level.
It forces you to problem solve. There is no option to just barrel through it. To that end, the reason that I enjoy programming video games in particular is the design element, taking an idea from thought to iteration and everything in between from creating the art assets to laying out the UI.
Why did I join Tyrannosaurus Tech?
It is time that I made the leap from focusing my attention on just coding robots and video games to larger projects that people will use and interact with. As stated, the goal of good software is to ensure that humans work less while experiencing more. This might mean an app that makes a certain process in a restaurant easier and more intuitive or a backend that automates certain human resource functions, so that work is getting done more efficiently which allows resources to be spent elsewhere. With Tyrannosaurus Tech, I want to work towards that goal of good software by working on projects that people will use and, ultimately, branch my own understandings of problem-solving and design into new realms.