My Journey from Programming Enthusiast to Becoming a Career Developer

Jon Cundiff
7 min readFeb 3, 2022

I was born to a Navy veteran father and a Filipina mother in National City, CA. Shortly after my dad retired from the Navy, we moved to Missouri, just south of Kansas City, where most of the immediate family is located. Growing up, I’ve always been interested in how different things worked, both mechanically and electronically. I’ve taken apart so many gadgets and tools and rebuilt them. During my early high school years, I stumbled upon applications made with Visual Basic and started looking into that language, C++ and Java, as well as some less popular languages at that time such as Pascal and Delphi.

There were several concepts I struggled to grasp at that time, but I aimed to study programming for college. I was also into being in the drumline during high school, which led me to attend Missouri Western State University in St. Joseph, Missouri. Before starting at the university, I was planning to double major in Graphic Design (influenced by my high school desktop publishing class) as well as computer science. The prerequisite classes ended up conflicting with drumline and marching band, so I opted out of pursuing computer science as well.

After being unable to pursue computer science and programming as one of my majors, I didn’t think much about programming until I took one of my courses for my Graphic Design degree: Interactive Design. We primarily used Adobe Dreamweaver as a visual tool to structure pages and dialog boxes to tweak the CSS for pages, but my curiosity lead me into digging deep into how the HTML behind that worked. I was curious enough that I started to dabble in JavaScript in order to create a lightbox for my photography gallery page for my project. I also dabbled in some ActionScript when we entered into the Adobe Flash portion of the course. I still didn’t fully understand different programming concepts at that time, but I was able to start tweaking existing code to meet my purposes at that time, then didn’t do too much with it in my remaining time in university.

Shortly after university, one of my friends hooked me up with one of his coworkers that was attempting to start a side gig of selling Android tablets. He needed a website to try to get the word out as well as to sell the tablets. This is when I stumbled upon PHP and the concept of creating dynamic webpages. This particular individual’s venture folded pretty quickly before anything got going, but it did peak my interest again until I failed to be able to set up a test server at that time to run PHP code. A year and a half later, in my final months before leaving St. Joseph, the church I was involved in needed help updating their website, which ran on a Wordpress backend. So I got reintroduced once more to PHP and was able to successfully get a test server operational while I worked on restyling the church website. I didn’t learn much PHP to tweak any functionality, but I understood enough to be able to place the existing content wherever I wanted.

The next few years, after failing to get into Graphic Design professionally and stuck in a factory job, I did not pursue any more programming knowledge in anything. I did stumble upon the concept of speedrunning older video games (beating video games as fast as possible) and Twitch.tv, which will once again lead me back to learning programming concepts again that stick (more on this in the next paragraph). After a couple years in the factory, I decided a needed a change of pace and accept office employment in Columbia, MO for a state agency. We used a mainframe emulator to complete our tasks. Several months into this job, one of the coworkers I was mentoring to a new assignment introduced me to a scripting system that was available to this software which featured BASIC style syntax. I was able to take this and make some tasks take about half the time it took to do manually.

I remained in the same job classification for 3 years. On the side I got involved in many different speedrunning communities and game randomizer communities. I eventually became planning staff and stream management staff for one of the channels that hosted a lot of speedrunning tournaments, SpeedGaming. The owner of the channel had created a lot of automated tools to managing streams using Python, which once again peaked my curiosity in programming. I decided to take an online course in Python, where concepts that previously eluded my thinking and processing finally started to make sense. This also coincided when The Legend of Zelda: A Link to the Past Randomizer started to become one of the largest retro scenes. We had hosted tournaments with multiple hundred participants. By the third tournament, we had hit Challonge’s maximum participants of 512. It was at that point, I ventured into crafting a custom Discord bot in Python that would hit the API for the randomizer to create a seed link, then post the link into an admin channel for records as well as send the link to the participants on a given match directly. The code itself was not terribly clean, but got the job done. Shortly after that, I also decided to take courses on JavaScript, Node.js, React, and Vue.js. I built websites and servers that could run other randomizer software, and present the seed results into its own patch file, as well as a loosely functioning website for run submissions for a speedrunning marathon. The company that hosted these websites has since been bought out and the parent company did not support Node.js hosting, so these two projects are now offline.

With my knowledge and confidence building in JavaScript and Node.js, my plan in summer 2019 for 2020 was to start actively pursuing breaking into the web development field. That plan changed in August 2019, when I was offered the one position in the agency that would have kept me there: training specialist. I got to travel around the state of Missouri teaching our new hires about the programs and policies for our mission. Then COVID hit. We still had our load of new hires that needed to be trained, then we needed to adapt our material to be presented virtually. Some of that training material adaptation meant that the sample data in our training database needed to be updated for each class. Since that database resets back to a specific snapshot and it is a very involved process with multiple units to create a new snapshot, that meant we would need to update this data each week before class started. Thankfully, I was able to reapply and expand my knowledge of that scripting language, as well as using VBA on an Excel spreadsheet as a launchpad for the scripts, to make what would be a several hour task only take about 30 minutes. I worked extensively with Articulate Storyline to create interactive, on-demand lessons. On one set of lessons, we allowed the users to insert commands into a replica of the mainframe software. There were some keypresses the mainframe software utilized to complete tasks that Storyline was not able to process, including Function Keys that also triggered shortcuts in web browsers, as well as the right CTRL key that the mainframe software has programmed to be the Enter key instead of the actual Enter key. The first versions of those lessons resorted to placing a picture of a keyboard for users to click the correct button on in order to get around the limitations of Storyline. Storyline does support custom JavaScript. However, its usefulness is very limited due to only being able to do manipulation to Storyline custom variables. The DOM structure and element naming was very inconsistent and not a supported use of JavaScript in Articulate’s view. Even with the limited scope of usefulness, I was able to use JavaScript to allow users to get the full experience within the mainframe replica to feel as if they were using the actual software during the lesson.

I heard about Career Karma and various Web Development bootcamps in the early part of 2020, but since I just started this promotion I told myself would keep me with the state, I didn’t pursue that avenue very hard at that time. I did have the unlikely COVID love story though. My church was gathering outside for service to be mindful of COVID restrictions. The lady that would become my wife the following year was standing by a tree close to the parking lot trying to recruit people to make masks for children for the upcoming school year. We ended up talking online from time to time for a few months, then my father was sent to the ER for COPD complications and that started our deeper conversations that led us to start dating in time for the holidays. We found ways to still serve people throughout COVID, but still being safe and grew together in that way. In August 2021, it became clear that her current career trajectory is not sustainable and will need some changes (likely in geographical location), and these changes would require me to leave my current position that has brought me joy even during COVID. I started seeing Web Development bootcamps appear in my social media feeds again and remembered about Career Karma, and looked into DigitalCrafts. After discussion with my wife, we decided now would be the best time to pursue developing into a new career path for myself to help strengthen our future and the many other changes that will happen. The thing that draws me most to DigitalCrafts is the collaborative nature some of the projects will include and utilizing GitHub in a team setting. I’m excited with how much I’ve grown in writing cleaner code more efficiently, and getting more hands on experience in team settings on web development projects.

--

--

Jon Cundiff

Full-Stack JavaScript developer and Dart/Flutter enthusiast