Cody Allen Troyer

I am an Engineer. an Innovator. a Problem Solver. an Optimizer.

Author Image

About me

A 32 year old Software Developer with 10 years of experience.


I graduated with a B.S. in Computer Science from University of California, Riverside. I spent 5 years working in Lake Forest, CA as a software engineer at Global Eagle and worked hand in hand with companies like Panasonic and Thales to bring the greatest In-Flight Entertainment experience to the end user. Since then I moved to Austin, Texas and collaborated with a business partner and created 3 sites: TOS Indicators, Volatility Box, and ORB Setups. Our mission is to break down the information asymmetry between institution and retail clients by building data-driven software. In parallel with that, I am also working at Emerson Automation Solutions. We work to automate processing plant operations to maximize efficiency and accuracy for our customers so they can get the highest quality product to their customers.

I am one of the few developers I know that enjoy programming so much that I do it outside of work for fun. I love solving problems and optimizing flows, so much so that I have written scripts to scrape apartment websites for deals, do engagement ring shopping, and automate my fantasy basketball daily lineup. I am always tinkering, always thinking, and always learning. At this point in time, my strongest interests are in automation, gaming, security, and fintech.

Outside of tech, some of my passions include board games and DnD. I am a tenured veteran that plays in a couple ongoing campaigns dating back to 2016. I enjoy travelling, camping, and hiking with my wife and 2 pups. We have managed to cross off 10 of the 63 national parks including the big 5 in Utah and Alaska's Glacier Bay. We are trying to experience a bit more international traveling in the upcoming years.

skills

my skills

C / C++

90%

C#

70%

Bash

90%

Wordpress

60%

Python

85%

html / css / js

80%

Git

80%

AutoIT

70%

PHP

80%

MySQL

75%

Docker

60%

NodeJS

75%
works

My Roles

  • Volatility Box
  • Emerson
  • Global Eagle

Volatility Box

November 2018 - Present

Once upon a time, a friend of mine asked me to help him write a script for scraping stock market data and performing an analysis on it. That script was the start of this adventure. Fast-forward 6 years, and here we are with SaaS across 3 different sites. For 4 of these years, I was the sole developer. I managed 20+ ubuntu cloud servers, whose purposes ranged from WebServers to DataCollectors to Analytics and MySQL instances. We went with Wordpress as our CME and I got pretty savvy with php because of it. All the data collection scripts are written in python and make calls into several APIs and websockets where I leveraged python's multiprocessing library to implement a manager-worker model to handle ~50k messages per minute of live feed data. All that data is stored in the MySQL database, which comprises a massive 800 GB of data, properly indexed and fine-tuned for speedy retrieval. Later that data is processed, analyzed and displayed on our sites.

Last year we hired an extra set of hands to assist with the development front of this business. His expertise are with NodeJS and we put together a plan to revamp the websites to use sockets for live feed updates, as well as restructuring and utilizing Docker to scale down these 30+ servers to something a bit more reasonable, like 15. All in all, I am immensely grateful that I can experience something like this and continue to expand my understanding of the endless frontier that is Computer Science.

Most recently, I've been refactoring our infrastructure to incorporate technologies like Prometheus, Grafana, and ELK Stack for monitoring performance metrics and logging throughout the system. I am also working towards getting Kafka setup and running for seamless message propogation throughout my system. I am connecting 3rd party data providers via websockets, as well as our MySQL instance's binlogs to Kafka.
This site came first. It's purpose is to educate and teach traders how to use TD Ameritrades Think or Swim trading platform. It's built purely with WordPress with some added modifications and customizations on the backend to improve both user and developer experience. We plan to replace the 3rd party themes and plugins with a custom theme and plugins to lighten up the site and improve performance. We plan to build a new, clean, and engaging design to the customer by using Tailwind CSS.
This was my baby. The Volatility Box is our flagship product, its strategy watches and waits for high volatility moments and capitalizes on them by expecting them to snap back to a "normal" value. This site was built from the ground up with wordpress, and lots of adaptations to the theme. I designed several pages and implemented methods for rendering live market data from our database to different pages. I also learned to map button click events to python script executions. I took some time to create my own mail server. I even dabbled with a bit of self taught machine learning to improve our models that much more. All in all, this was a great experience but I know it can be way better and thus we plan to revamp this to use sockets betwen the wordpress pages and a NodeJS app. By setting up the Node app as a client for MySQL's binlogs, we can get live updates from our database and feed that directly to out WordPress pages via websockets. In addition to freeing up a lot of bloat that comes with 3rd party themes and plugins by using our own custom ones, as well as, spicing up the frontend with some Tailwind, I firmly believe that this site will be one of a kind.
This site is built for people who trade the Opening Range Breakout strategy. We built it from the ground up with WordPress, NodeJS, Tailwind CSS, and the MySQL bin logs concept to recieve live updates. This site is the most complete out of the bunch so far. We have explored a few more features that would dramatically improve quality across all out sites. These features include telegram alerts and adding charts to the platform. This site is where I got the mass of my experience with building custom themes and plugins from scratch. I learned how to extend WordPress' API, as well as, generating random api keys for authorization and authentication. Overall, very exciting stuff.

Emerson Automation Solutions

July 2019 - Present

Emerson is a company that specializes in the automation of processing plant operations. Their flagship product, DeltaV, is a bundle of several tools that can take your plant and optimize resources, increase staff safety, and reduce overall operational costs. Our goal is to ensure that you can get your product in the hands of consumers better, faster, and more reliably.

My day to day at Emerson consists of working with my agile team to produce and deliver solutions efficiently and effectively. Most of Emerson's code base is C++ and maybe about 10 years ago they began refactoring that C++ code into C#. A breakdown of the projects I work on are usually half and half C++ and C#. A few years ago I picked up a security bug for a legacy 3rd party project, whose developers are no longer around at the company. The objective was to lock down global objects with an ACL and ensure that a malicious user could not get access to, manipulate, and hijack the system. When I say this project was legacy, I mean it was legacy, it could only be built off the network on a Windows XP machine using VB6 IDE and a C89 compiler (3 years older than me). Once I got the hang of things though, it wasn't that bad and the longest process was the build time. This bug was sitting on the backlog for nearly 9 months before I picked it up and drove it to completion.

My greatest take away from Emerson is my newfound C# skills. I also completed an 80 hour secure programming course and became a certified Emerson Security Representative. Another skill I grew while working at Emerson is a variety of refactoring and mocking techniques used with unit testing both C++ and C# projects. I have taken quite the liking to unit testing because it does not require I learn the nitty gritty of every application in the DeltaV suite, but instead I can focus on thoroughly testing the ins and outs of functions that make up that application.

Most recently, I have been working on Secure Communications, a new feature that will provide end-to-end encryption throughout the nodes in the plant's network. My team has been heavily engaged in the efforts to make this dream a reality.

Global Eagle

October 2014 - February 2019

Global Eagle was a company that specialized in providing In-flight entertainment to passengers. We developed e-readers, games, and other media that would be loaded on to Panasonic and Thales hardware. Since this was my first role out of college, I came in with very little real world, practical experience. I was new to linux, I was new to large scale C++ code bases, and I was definitely new to legacy code.

My day to day was usually split between projects and bug fixes. Projects consisted of contracts with airline companies for bundles of games to work on their aircraft's monitors. I built games with Visual Studio, brought them to my ubuntu VM, ran several scripts that packaged them into "loadables". They were then taken to Panasonic and tested on seatbacks. The seatback configuration varied widely across variables like handsets, touchscreen, and sometimes even different processor architectures. At that point, any issues that were found during testing were my responsibility to fix in the configuration files or code base.

I believe the greatest thing I learned from this job was linux and bash scripting. At around the 3 year mark, I had a pretty good hold on the projects and ventured out to automate a lot of my day to day work. With down time between projects and a couple of months, I had written a script that I could take to the rack (Panasonic's hardware mounted simulated aircraft), run this script and get a configuration file that was fine tuned for all hardware and classes on the aircraft. After I built the games and built the loadable, 9 times out of 10, that loadable was good to go.

That's all it took, my love for automation and scripting became my focus in work and outside of work. I started learning Python, I started writing scrapers, I started truly taking advantage of the processing power at my fingertips.