(512) 745-7846

I spend my time building infrastructure and applications, system designs, performance tuning, horizontal scaling, observability, reliability and safety

Github 2021-05-01 — Present

Developer/Infrastructure Engineer


  • Introduce standardized CI/CD build process for all services
  • Introduce GKE and migrate existing applications
  • Create caller-service to dial outbound phone numbers powered by twilio
  • Run critical backend workloads using PubSub for reliability and scalability
  • Create a smart router for leads to move information from one state to another determined by making several API calls to other backend services
  • Manage caching and SSL at the edge using Fastly
  • Introduce Datadog to provide visibility using dashboards that display StatsD metrics emitted by Kubernetes applications
  • Use Istio service mesh to manage traffic routing and SSL certificates
  • Create a high volume event stream processor using nest.js and next.js for the backend and frontend respectively
  • Gain insights into user activity by creating a map/reduce job to analyze Google Analytics provided sharded tables in BigQuery

FloSports 2019-02-01 — 2021-04-29

Staff Infrastructure Engineer


  • Create a service in golang to capture request logs from Istio managed Envoy proxies for realistic traffic playback capabilities
  • Maintain and upgrade Datadog agent in Kubernetes and create related dashboards and alerts
  • Upgrade and maintain GKE Kubernetes clusters and Istio Service Mesh
  • Implement Continuous Delivery using GitOps methodology using Cloud Build, GCR and GKE with Slack notifications for deployments
  • Convert high traffic endpoints running in Lambda into new services running in Kubernetes to drastically increase scalability
  • Consolidate logs from all applications running on EC2, lambda and kubernetes into Datadog
  • Build and operate containerized, scalable and continuously delivered workloads in Kubernetes
  • Outline vision and collaborate on implementation for full migration of existing services into Kubernetes
  • Assist development teams in onboarding their application into Kubernetes by creating self service documentation and in person assistance
  • Create process and tooling to rapidly provide CI/CD for Kubernetes services (Google Cloud Build using GitOps to deploy into GKE cluster)
  • Establish best practices for future Kubernetes architecture via on premises collaboration with Google Cloud Solutions Architects
  • Initiate and manage support requests with AWS technical representative directly and by via support tickets
  • Create and manage AWS infrastructure using Terraform
  • Create Fastly services in Terraform to add edge caching to existing webservices
  • Create a REST API in Typescript that allows clients to run long running containerized workloads reliably
  • Consult with representatives from other teams on future architecture and infrastructure requirements for future initiatives
  • Add system and application level metrics to charts on a dashboard for measuring performance and detecting anomalous signals
  • Dynamically create live streaming backend servers using Terraform, Wowza, Ansible and Packer
  • Continuously define an Infrastructure Roadmap by working with project managers on a regular cadence
  • On call PagerDuty rotation for production infrastructure and services

FloSports 2016-10-01 — 2019-02-01

Staff Software Engineer


  • Create several dozen API endpoints and real-time background jobs to service specific product requirements for mobile, web and TV apps
  • Migrate legacy API to a well documented, low latency, modern API by preserving backwards compatibility and migrating data continuously
  • Virtualize local development environment using vagrant and Ansible in order to quickly onboard new developers
  • Participate in code review, application architecture and Pull Request review workflow
  • Create an automated caching mechanism, called RoboCache, for Doctrine entities using REDIS
  • Use advanced concepts in the Doctrine ORM like discriminator mapping, event listeners, joined inheritance type, DBAL etc
  • Strictly follow PSR1/2 coding standards and ensure testing pyramid viz. unit, functional and integration tests are in the right proportion
  • Use mockery to mock objects for the purpose of unit testing specific pieces of functionality and maintain test performance
  • Assist infrastructure team in provisioning and setting up jenkins to deploy and build AWS infrastructure for the application
  • Explain and amend application architecture and design with product owners and developers
  • Collaboratively build application features through whiteboarding and cross team collaboration
  • Create and operate migration of several hundred TB of video content and database records using many job servers running parallelized workloads
  • Build content search API with AWS CloudSearch and continuously warm index using message queue driven background job
  • Investigate and resolve performance issues and errors as reported by NewRelic, DataDog, ELK, Rollbar, CloudWatch and PagerDuty

ReStream Solutions 2016-04-01 — 2018-02-01

Senior Software/Infrastructure Engineer


  • Created playbooks using Ansible to configure and provision a load balanced cluster of web and job servers
  • Used redis for PUB/SUB message queue and caching
  • Created a fully automated local environment using vagrant, virtualbox and Ansible
  • Designed an API using Symfony3 with PHP 7.0 running on Nginx, which accepts payloads from IoT devices in the field that collect scientific measurements, such as temperature, ORP, pH, pressure, tank level, flow rate etc
  • Built a fully functional web UI using bootstrap to display charts and reports from the collected data
  • Created a global exception listener to triage different categories of thrown exceptions and to send them to different locations depending on their nature
  • Deployed a horizontally scalable architecture for web servers, job servers, redis cluster, NoSQL and SQL database using AWS services
  • Created tests using phpunit to ensure system durability

Whole Foods 2015-02-01 — 2016-04-01

Senior API Developer


  • Led the effort to migrate a legacy API written in node using express to PHP using Symfony
  • Contributed to writing Ansible playbooks to provision, orchestrate and deploy code, all using AWS
  • Created an infrastructure to list, deploy and execute jobs to run work asynchronously
  • Collaboratively created an API client which is used by several applications
  • Created several internal composer packages that other teams consume
  • Migrate users from one platform to SalesForce via an ETL job
  • Implemented iOS wallet functionality used for a digital rewards card via an API endpoint
  • Authored several jobs that run at scale to create rewards card numbers, relate identifiers and sync sensitive user information to and from several backend systems
  • Created the ability to send emails in real time using API calls to Epsilon via scalable background jobs for the purpose of company wide e-mail marketing
  • Contributed heavily to the development of a system to securely store and unify user profile information to and from various backend systems
  • Created a mechanism to encrypt field level sensitive user data, using AWS KMS
  • Heavily contributed to writing database migrations using Phinx against PostgreSQL running on RDS

Austin Coding Academy 2015-09-01 — 2016-11-01

PHP & Python Instructor


  • Taught Python and PHP for four semesters
  • Gave public talks on bash, git, redis, resque, AWS etc
  • Mentored junior developers and students

LIN Digital 2014-09-01 — 2015-02-01

Senior Software Engineer


  • Implemented features in an application called Platform that was being replaced by a Ruby based legacy application called Neuron
  • Worked on financial reports by porting over metrics and improving the quality of the report
  • Improved code quality by making the controllers thinner by creating a well organized service layer
  • Introduced unit and functional testing to the project using Codeception
  • Wrote several unit and functional tests and set a standard for how to interact with the service container
  • Introduced, installed and demonstrated New Relic as a replacement to a MySQL driven custom performance data collection and reporting system
  • Created an Ansible playbook that provisioned a fully functioning vagrant virtual machine, complete with a local instance of the development database
  • Changed the deploy process from an RPM/SCP based approach to a git based deploy using Ansible
  • Used a GitHub centered Pull Request workflow to get others to look at the code prior to merging using HubFlow

Sapling Learning 2014-06-01 — 2014-09-01

Senior API Engineer


  • Created an API using Symfony2 that interfaced with external APIs for the purpose of consolidating various external API calls into a standard API
  • Used Resque as as job queuing mechanism to defer execution of long running processes
  • Created a central data broker to inform the web cluster of the status of a job and any data that it might have returned
  • Leveraged polymorphism along with the factory pattern to instantiate required implementations at runtime
  • Used Doctrine as the ORM layer along with Symfony's Service Container to achieve loose coupling using dependency injection
  • Created several unit tests and functional tests using Codeception
  • Wrote several bash scripts to work with Chef in order to automate certain parts of theworkflow, including setting up and maintaining state for the job servers

Frontgate Tickets 2013-09-01 — 2014-06-01

Software Engineer


  • Port over old code to a new Symfony2 application using solid PHP5 OO principles making the system scalable and highly available
  • Design caching code that works under load and scales horizontally over a cluster of Memcached servers. Code also leverages local caching using APC and protects users from stampeding on the same data object
  • Create Order, Transaction, Cart, Tax, Shipping, Handling etc.. classes to handle placing an order using abstraction, inheritance, polymorphism, dependency injection, singleton and factory patterns
  • Created asynchronous jobs for carting, account management, save order information and place an order. The jobs are bidirectional i.e. data from the async process is returned back to the frontend using a standard JSON response object
  • Write, explain and consolidate queries using advanced joins, aggregate functions, range clauses and having conditions
  • Thoroughly document each method, it’s signature, return type and any thrown exceptions. Also document class overview and properties by type and purpose
  • Conform to PSR-1 and PSR-2 for coding standards and style. Also follow all FIG coding guidelines for naming conventions, logging and autoloading
  • Created and developed several features in the system that all generate measurable revenue that directly impacted the bottom line

Red Ventures 2012-06-01 — 2013-02-01

Software Engineer


  • Develop Reports using custom Reporting framework developed in house. DataCollection class generates data behind the report. DataView class handles all presentation logic, DataParameter classes handle any additional filter data that is automatically rendered as an appropriate control. i.e. drop down, multi select box, check box, date picker etc
  • Create dashboards using real time technologies like node, and meta refreshes to display accurate real time statistics about various business metrics as they happen. Data is cached using memcache. Framework developed to build and manage dashboards ties in to the reporting framework. Once a report is created, the data on the dashboards can simply subclass the report DataView and extract one data point by passing in DataParameters that are configurable from DataParameters, which are powered by a MySQL database
  • My primary role is to actively develop and maintain a LAMP ERP and CRM system that runs on over 35 load balanced web servers and empowers a sales force of over 1500 people to sell millions of dollars in products and services a day!
  • The Orvis application uses full MVC concepts with a home grown ORM
  • Created OO Javascript objects that initialized on page load using constructors extending prototype, and then calling public methods from within the object once the DOM is ready
  • Objects perform various show/hide logic for questions that drive customer experience based on hundreds of parameters and dependencies. Application is finely configurable using inputs from data tables that are generated by administrators using in house intranet applications
  • Data from these tables drives what the customer experiences and is able to buy based on prior purchase history, credit score, physical location etc
  • Write queries that join 20+ tables, in some cases, to efficiently aggregate data to answer business questions in real time. Debug slow MySQL queries using explain
  • Write import scripts that transform data automatically using SOAP, and FTP connections to several third party vendors. Use the concept of buffers in conjunction with memcache to run queries in bulk
  • Use InnoDB specific features in MySQL, transactions and foreign keys to maintain data integrity for orders and related tables
  • Use inheritance in conjunction with abstraction and design patterns effectively to simplify development, readability and reuse. Document code thoroughly and adhere to naming conventions

Industrial Distribution Group 2011-02-01 — 2012-06-01

Software Engineer


  • Redesign IDG's eCommerce web presence using Joomla (MVC) with over a 100 new features and improvements completely transforming IDG's online presence and invigorating the sales force, including lightning fast relevant searches using Sphinx and SEF URLs
  • Create a web based iPad Application using HTML5 and jQuery Mobile, with local WebDB SQL storage. App can run completely offline, all assets are loaded from the local cache, auto compile script to compile PHP down to HTML for local caching. All server side calls made via JS
  • Create StoreRoom completely in PHP, E-Mail notifications, SOAP calls for table based auto complete, business logic and display separation, DB abstraction, logging every action on every trigger, interface to view user interaction history, AJAX'd the entire interface with page reloads only when presenting a new UI, OO JS creating native objects extending prototype then stringifying and converting a multidimensional data set to JSON, objects are consumed using a generic handler that unravels the object for logic and insert into MSSQL
  • Create a Python application to receive documents from GMail via IMAP IDLE using threading . Compiled down to windows executable using py2exe . Documents automatically printed in the background as a batch process . RPC communication with central server for synchronizing a swarm of users with application level TTL to match GMail’s IMAP timeout
  • Create a windows based forms application in VB 6 to interact with the API for a symbol barcode scanner that scans part numbers into the application which would send that data directly to the shopping cart of the aforementioned website to streamline repetitive mass ordering in a warehouse environment
  • Create a standards compliant PHP/ MySQL application for on site customers at factory locations to procure items by adding them to a queue in a storeroom . IDG Buyers interact with the interface. Emails are sent out to multiple individuals in the manufacturing authority chain, who click accept or reject which drives a complicating process to approve or disapprove orders . Orders are submitted to the ERP via a SOAP based web service
  • Write over 20 SOAP clients and a handful of SOAP servers to consume various data sets directly from the ERP to get real time QOH, pricing, attributes, items, customer P / Ns etc . directly from infor's SX.e ERP system, written in PHP
  • Write a giant import script to update the website from a local content management application complete with processing and writing to over 12 related tables, consuming a giant XML file with a multidimensional product to item structure. Script is automated via CRON and processes high quality TIF images. Website is automatically updated nightly with fresh products and information added daily by the content team. Script is written completely in PHP
  • Create a generic data collection handler for most of the web services and for every meaningful click on the website to derive application use, performance and user experience
  • Create CURL scripts using PHP and XPATH to automate scraping semi structured data from competitors website into a structured set of data tables to automatically analyze competitor pricing and market dominance, stored in MySQL then transformed to FileMaker for reporting

Alamark Technologies 2008-10-01 — 2011-02-01

PHP / Filemaker CWP Developer


  • Create custom front end and back end components, modules and plugins using MVC pattern for TASA
  • Custom development work for several small to medium sized businesses with a primary focus on PHP/MySQL/FileMaker development deployed on a linux web server
  • Create and deploy eBC applications for several customers customizing integration with SCPRO and automating the import of content, vendors and accounts from the ERP using PHP
  • Created an application in PHP for Cure Solutions that allows users to create database tables, fields and add records for the purpose of storing sensitive customer network, machine and application credentials
  • Ground up creation of applications using LAMP + FileMaker + AJAX
  • Bash Scripts for backup, FTP, grep on linux, automation applications in .NET deployed on windows
  • Team based application design and creative problem solving

Dynapac 2007-10-01 — 2008-10-01

Application Developer / System Administrator


  • Created and maintained Visual Basic DTS packages
  • Modified and created Visual basic 6 programs
  • Conducted the migration of old MS Access applications into an ASP.NET version
  • Created reporting applications using existing data for executive level trend analysis
  • Resolution of open issues with malfunctioning hardware/software on networked windows based machines

The Rug Store 2005-10-01 — 2007-10-01

E-Commerce Developer / System Administrator


  • Built an ECommerce website using Web Store technology. (PHP / MySQL)
  • Set up company wide network with access rules and inventory management
  • Synchronize inventory and availability across multiple physical locations

Lloyd's Diamonds 2004-10-01 — 2005-10-01

E-Commerce Developer / Digital Display Content Creator


  • Designed and developed an online catalog for product promotion and sales
  • Pixel perfect smooth content rolling for an outdoor digital display
  • Creating and managing multiple schedules for target marketing
  • Client facing technical advice for streamlining business processes / network

Related Experience / Freelance Work 2000-01-01 — 2004-10-01

Web Developer / Consultant / Network Engineer / System Administrator


  • Created numerous websites for individuals and small businesses
  • Debugged and tested malfunctioning machines to determine source of problem
  • Analyzed problems and developed solutions for Truman State University
  • Design and maintain personal tutorial website and CMS for personal promotion, articles on technical subjects,
  • Ground up design for, hobby music mix upload site for musicians
  • Created application for mystery shoppers using AJAX and OOP with inheritance, composition and polymorphism,
  • Created a web application that allows content creators to upload technical part information, clients use a filtering mechanism to add items to their order

University of Texas at San Antonio 2005-01-01 — 2007-01-01

Information Systems

San Antonio College 2003-01-01 — 2005-01-01


Truman State University 2001-01-01 — 2003-01-01

Computer Science


  • Kubernetes
  • Terraform
  • Docker
  • Vagrant
  • Docker
  • Serverless


  • Jenkins
  • Cloud Build
  • Circle CI
  • Packer
  • Background Jobs

Cloud Providers

  • AWS
  • GCP
  • DigitalOcean

Configuration Management

  • Ansible
  • Puppet