PLATFORM
LANGUAGE
STATUS
Video Games have always been one of my core hobbies, and it didn't take very long for me to decide that I wanted to make them when I grew up. Of course, at the time, I had no idea how difficult such a task actually was, nor did I realize how much I would come to enjoy writing software of any type, not just video games.
In my teenage years I began to play creation-type games. In particular, I found myself playing "Garry's Mod," (GMod) a physics sandbox modification of Half-Life 2's "Source Engine." On its own, GMod may not have been enough to spark my programming career, but the nature of the game is such that it exposes scripting to its userbase, where people promptly began writing their own mods for it. One such mod brought digital circuitry and logic into GMod's physics contraptions. Intrigued, I took it upon myself to study how to use this mod, mostly by following tutorials, and did what I could to expand the functionality of my own contraptions. Driven by my need to create newer and greater things, I decided to look into the scripts that made these mods work. Armed with my fledgling knowledge of digital logic, I opened one of the more unstable mods in my library and began to read. After I read, I began to make changes, found some documentation, and read some more. I left that mod more stable and feature-rich than I found it.
My life as a Programmer had truly begun.
From this point I began to create my own original content. First by splicing together parts from others' works, then later by writing my own code. I moved beyond GMod, and began to look up other avenues. I took a high school course in Java, I wrote utilities and games on my calculator, and I wrote my first game in Java: a multiplayer "Snake" clone. As High School came to a close, I found the XNA Game Framework. Determined to make a real game, I taught myself C#, starting from one of the XNA 2D platformer game examples. By the time I had finished the "Intro to Programming" college course, I had already learned multiple languages, designed and implemented multiple gameplay structures, interfaced with physics libraries, built UI systems, and created my own toolsets.
While Programming is my main interest, it's not my only interest. My other hobbies include sketching, CG modeling, and animation. In High School, I participated in the performing arts, both as an actor in drama, and a musician playing the cello. When I'm not being creative, I can usually be found enjoying a good story, whether that be from a game, show, or book.
After receiving an Honors Diploma at Jordan High School, I was admitted into Utah Valley University studying Computer Science, where I attended long enough to have sufficient credits for an Associate's Degree. Deciding that I wanted a greater challenge, as well as a chance to attend my dream University, I applied to Utah State University and was accepted into their Computer Engineering program.
Why CE? I wanted to improve my knowledge of not just the software, but the hardware it runs on so that I may have a better understanding of how my code interacts with the computer on a more fundamental level. After graduating in December of 2017, I took on a job as a Web Developer for Conservice.
Since graduating, I have been gainfully employed at Conservice. Initially employed as a beginning Web Developer, I quickly climbed the ladder, and within a few years was promoted all the way to Senior Engineer. Throughout my career, Conservice has undergone several major technological upheavals, and I have gained new experiences and learned new technologies, such as React/Redux, during my time there.
Concurrently with my professional work, I have continued to hone skills through my side-projects, and continue to work with technologies that are not part of my work at Conservice, such as the Unreal Engine and Dart/Flutter. To supplement these technical skills, I continue to practice my artwork, modeling, and animation skills.