Changing careers to software development

Dave Wisecarver
5 min readJan 9, 2021

In early 2011, I began my career as an aerospace technician at the Boeing Company. At the low-point of the 2008 recession, I had graduated college with a BA in Political Science and had been looking for work for a very long time. I took the best job I could find just to stay afloat, and managed to find some joy in aerospace manufacturing. After a few stints in leadership roles I found myself more ready to build a career within the aerospace industry, and took a job as a quality inspector. While I did not have much passion about building planes, the income was steady and the work was important.

In mid 2016, I had been playing through several indie games that had started to become a bigger part of the video game market. Some of these games had been developed by very small teams, or even just one person. I’ve always enjoyed playing games, and I had always wanted to make one of my own for a hobby, but the barrier to entry had always seemed too high. However, now games were being made with easy-to-learn game engines, and there were more resources and tutorials online than ever before. It was the perfect time for me to begin learning how to develop a game.

I started with the Unity game engine and played around with very basic tutorials. I had no experience with coding, but after following through some tutorials and coding examples, I was able to get a rectangle to move around the screen with directional inputs. This initial accomplishment felt amazing. The little white rectangle was actually moving around with keyboard inputs! Because of code I wrote! This was feeling a knew I would have to chase.

There are a lot of interesting components to game development. I made a design doc to organize the kind of game I wanted to make. My favorite type of game to play is called “Metroidvania,” which is basically a game where a player can explore a large interconnected map and as the player collects new abilities, they will be able to access more and more of that map. So this was the style of game I was going to make. I had figured that the most fun part for me would be the design, or the pixel art style. But as I began building out the game, I quickly found that the coding was becoming my favorite part of the experience.

Early sketch for the map

As the weeks went by, the process of building this kind of game from scratch was starting to feel a bit daunting, especially as a beginner. It was one thing to make a rectangle move around, but I was quickly getting overwhelmed with how to code out a character progression system, a save/load system, and AI for all the enemies and bosses I wanted to make. I was not long before I came across the idea of game kits. Game kits are available to download in the Unity asset store, and can basically serve as the skeleton for the kind of game you want to make. While I didn’t find anything exactly resembling the style of game I wanted to make, I did come across something close with the Corgi Engine. This engine had a bunch of built in classes with really well commented code, that I could make extensions from and expand upon to make it more my own.

Debug room to test out abilities

The Corgi Engine ended up being the biggest part of how I came to understand object-oriented programming. I was able to read the code, find objects and variables, find their references and declarations, and I began to make connections on how everything was related. I was able to start coding out some character ability classes that inherited from the base CharacterAbility class that came with the engine. Now instead of a rectangle that could run and jump, I now had a pixel art character in a space suit that could ignite a flamethrower that doubled as a jet pack, and a magnet ability that could push and pull objects in the level.

The more I built out this game the more consumed I became with coding in general. It was by far the most engaging part of the project. Around this same time, my wife had made a career change leaving the legal profession and going to a coding boot camp. She really enjoyed the experience and after a few years, the opportunity arose for me to make a similar move if it was something I was ready for. Boeing was going through several rounds of layoffs and was offering severance for those who would take a volunteer for a layoff. This made for the perfect opportunity to make the leap into a new career and sign up for a coding bootcamp myself. I began at Flatiron in November of 2020 in the Software Engineering program.

Mostly polished.

The game I’ve been making, now titled Juno StarPlanet, is maybe around 80% of the way completed. It’s something I do hope to self-publish on Steam some day. While it would be fun to develop games for a living, I actually enjoy coding enough that I don’t want to limit any opportunities that I might enjoy. Regardless, I’m certain that I’ll continue developing games in my free time, as it has become one of the most engaging hobbies I’ve ever had.

Here’s a trailer I made recently for the game:

Juno StarPlanet trailer

--

--

Dave Wisecarver

Software dev student and free-time game dev. Currently enrolled in Flatiron Software Engineering Program.