About Me

I'm a developer with 20+ years of programming experience. Primarily focused around game and web development.

Education

I started learning by messing around with BASIC on my TI-83 calculator during high school study halls in 2000. Fortunately, the following year I was able to take an introduction to C++ elective class, and then an independent study on web development my senior year. With this basic introduction to programming, I started experimenting with modding games like Command & Conquer: Red Alert and Tribes 2. Upon graduation, I decided to pursue learning how to make video games. At that time game development was fairly new to the educational field and the most prominent schools seemed to be DigiPen and Full Sail. I ended up going to Full Sail. There I learned the basics of game development using C/C++, OpenGL, and DirectX.

Early Career

After graduating with an associate degree in 2005 a friend offered me a position at a financial and real estate company. I began with writing PDF contract creation and customer management Windows applications with my C++ knowledge. In the process of creating those apps, I started learning how to work with databases (primarily MySQL). As the company fully transitioned to web only the need for desktop applications was reduced and they requested I learn how to build websites and web applications. This led to me learning Flash, ActionScript, PHP, MySQL, and the basics of Linux servers.

Eventually looking for better opportunities I was led to a stock research online newsletter company. There I used my new knowledge of web development to transition them from simple manually updated HTML pages (with some basic Perl form submission) to a fully dynamic LAMP website. I was also introduced to working with subscribers and taking online payments. Additionally, I set up the elderly owner with an easy-to-update blog system by utilizing WordPress and Windows Live Writer.

Kellyco

I joined Kellyco Metal Detectors as a junior web developer in 2009 when it was on the rise to the world's largest and most popular metal detector retail store. At that time their website was reminiscent of physical shopping catalogs (kellycodetectors.com - 2009). The entire site was thousands of HTML templates generated by Dreamweaver, with PHP used for dynamic content like displaying product information, and an OScommerce shopping cart. With the design team, I slowly migrated the look and functionality to more modern standards while keeping as much historical content as possible. All of the HTML templates were migrated to a true PHP/MySQL design where the content team no longer had to generate template files and could work solely on updating the content. The majority of interactive content was done with base JavaScript and jQuery when working with AJAX and JSON was necessary. I was very proud of our sub-second (<300ms on average) page loading times. The owner was always very hands-on so we had to keep a balance between the old catalog style and true modern design (kellycodetectors.com - 2015).

In addition to developing the website itself, there was also an Intranet for employees to manage website data and process orders. It was an internal PHP application written in ZendFramework. The Intranet was the central hub between various website databases, local databases, and ERP applications like Microsoft Navision. It was synced with our Windows server network for easy login and employee tracking. This was my first time experiencing a true MVC design pattern.

At Kellyco we often transitioned beyond our hired roles as such I was also tasked to take over all Linux server administration. Eventually, the volume of traffic and user requests became too much for the server to handle. So along with IT management, I helped migrate us to a new parallel load-balanced redundant environment hosted on Rackspace. We went from a single overwhelmed machine (that would drop on occasion) to a four server load-balanced environment. The new setup consisted of two synced web servers with an MMR database configuration and an offsite backup.

As sales volume exponentially grew and inventory management became more complex Kellyco reached the need to expand and reorganize company processing. In an effort to consolidate most systems under one "roof," ownership decided to transition the majority of our processes to Netsuite. Along with each department chief, myself and IT management staff were tasked with migrating to and customizing all of Netsuite. This required learning the basic functions and processes of every department. In addition to regular Netsuite customizations I also learned their version of JS called SuiteScript, REST, ODBC, and SOAP to integrate all aspects of Netsuite to external endpoints such as the shopping cart, fulfillment centers, and shipping systems.

With the revamp of most internal systems ownership gave the green light for moving the main website to a true modern design (kellycodetectors.com - 2016). Thus we ended up deciding to migrate to Magento. Now with the daunting task of rebuilding the entire website, I was able to hire two junior devs to offload some work. Initially, we used 3rd party integrators for connections between Magento and Netsuite. However once my workload was reduced I developed a custom integration system between Magento, Netsuite, and our fulfillment partner. This provided me with vital experience connecting enterprise-level systems and massively reducing processing issues.

My time at Kellyco taught me a great deal about the growth, transitions, and difficulties of a multi-million dollar privately owned company. As well as the requirements and operations of each department in a large retail environment.

Experience

Web Development

Software Development

Administration

Additionally I have used a variety of tools and languages for modding games such as Hex editors, Debuggers, Python, Java, and C#.
Created widgets, plugins, animations, sprites, alerts, and emotes for streaming services such as Twitch and Youtube, and software such as OBS.