Experience
Founding Principal Engineer, AudiencePlus; April 2022 - Present
Executed on the company vision to bring a new product to market with innovative technology
- Contributed to business and product vision with a supporting technology plan
- Created an architecture to support the long-term product and business objectives, designed for low cost, massive scale, security, compliance, and high availability
- Led the engineering team to develop the core technology and product for customers to manage their own media properties
- Enabled the team to collaborate and release features safely to prod through everything-as-code with isolated environments per change across the tech stack
- Designed and created a novel approach for micro-frontends for quickly and safely releasing new features across business domains, unlocking the ability to scale the engineering team and create momentum
- Collaborated with the team to position AudiencePlus' as thought leaders in the industry by developing AudiencePlus' own media property using our micro-frontend (https://www.audienceplus.com/discover)
- Designed and developed a distributed graph database to solve data ownership, compliance, privacy, cost, and scaling, and to support machine-learning
- Automated the customer onboarding and content import process to scale the business
- Supported customers who successfully launched their own media properties using our product
Technologies:
- Languages: JavaScript, Erlang, HCL
- Frontend: React.js, Emotion, Storybook, Chromatic
- Backend: Node.js, Erlang, AWS (S3, API Gateway, SQS, Lambda, Cognito, EC2)
- Database: Custom distributed graph database
- DevOps: Terraform, AWS, Cloudflare, GitLab CI, docker, shell
- VCS: git
DevOps Engineer, DaVita Kidney Care; January 2019 - April 2022
Part of a transformational platform engineering team focused on helping the organization adopt engineering practices through modern tools, principles, and techniques
- Enabled teams to self-serve new projects in Google Cloud Platform (GCP) in as little as three days using everything-as-code (EaC) while meeting security and compliance obligations
- Deployed and operated a high-availability shared services platform, consisting primarily of GitLab, Artifactory, Consul, and Vault
- Deployed Google Kubernetes Engine as a shared service for teams using containers
- Consulted with teams to design cloud-native solutions
- Identified and removed bottlenecks for teams, continuously improving the tooling and automation for the platform
- Demonstrated cloud concepts, EaC, and end-to-end automation for teams working on over 400 applications running on traditional on-premises infrastructure such as VMware vSphere
Technologies:
- Languages: JavaScript, HCL, Shell Scripting, Golang, Python
- Platforms: Google Cloud Platform, VMware vSphere, Kubernetes, Mesosphere (D2iQ)
- IaC: Terraform, Puppet, custom terraform providers (Golang)
- CI: GitLab CI, Jenkins
- Concepts: Review (ephemeral) environments, Infrastructure-as-Code, Everything-as-Code, zero-trust system design, beyond-corp, mutual TLS, high availability/zero-downtime deployments, load balancing, auto-scaling, serverless, semantic versioning, automated testing and documentation
- Containers: Docker, OpenFaaS, Kubernetes, GKE
- Virtual machines: Packer, GCP, VMware vSphere, VirtualBox, Vagrant
- Serverless: OpenFaaS, Google Cloud Functions
- Monitoring: Grafana, Graphite, Elasticsearch (ELK stack), GCP (Cloud Monitoring)
- Testing: cucumber.js, Docker, checkov, InSpec
- VCS: git
- Other: Node.js, React.js, MDX, Renovate
Principal Engineer, Sling TV, part of DISH Network; June 2017 - August 2018
Led a large, long-term initiative to build an e-commerce cart for the main website
- Led the core team to design and create the cart engine, consolidating complexity into a small amount of code, enabling a simple, modular cart
- Led the cart initiative with over 30 developers and QA resources, providing design direction, coaching/teaching, and collaborating with various business and technical groups to remove blockers and keep the project on track
- Implemented the cart engine with React/Redux, following a functional design
- Created a framework for a distributed frontend (micro-frontend) at runtime with JavaScript
- Helped create and guide a collaborative effort to create a functional React component library (UIKit)
- Created an automated semantic versioning framework for the UIKit, determining the next version based on analyzing code changes and visually diffing the components
- Created a "service templates" framework using Yeoman as the source of truth for creating/managing projects, inverting the control of distributing updates
- Created a dockerized testing framework for automation, supporting selenium grid, webdriver.io, cucumberjs, and newman
- Collaborated with DevOps to create and streamline continuous integration pipelines
- Helped shape the automation and process to transition from cutting releases to feature delivery
- Presented at community of practice meetings to further education and collaboration across teams
- Created a generic pluggable analytics plugin in JavaScript to abstract analytics implementations and enable more rich and robust data collection
- Created an nginx reverse proxy to support dynamic review environments (a different environment per feature branch)
- Created a framework for a microfrontend admin portal in React/Redux
- Contributed to design/vision/process discussions for the organization
Technologies:
- Frontend: React.js, Redux, JavaScript, styled-components
- Testing: Selenium Grid, Cypress, Cucumber.js, Newman, Jest, WebdriverIO, visual regression testing
- DevOps: GitLab CI, shell scripts, AWS, Nginx, Docker
- Other: Yeoman
Developer, Manheim, a Cox Automotive company; January 2017 - May 2017
Developed Java microservices using the Spring Boot framework for high-traffic, high-availability applications
- Developed a web application using Thymeleaf for displaying report information
- Improved internal development tools and processes
- Implemented new features and bug fixes to existing applications
Lead Full Stack Web Engineer, FIDOlab; March 2015 - October 2016
Designed and developed full-stack web applications and mobile backends focusing on a microservices approach, serverless architectures in AWS, automation, release management, and automated testing
- Developed an entertainment web app, PluggedIn.com, in AngularJS using standard task runners, preprocessors, and automated build and delivery pipelines including unit, end-to-end, and visual tests
- Provisioned infrastructure with Chef
- Created microservices using AWS serverless resources with APIs for use in multiple web and mobile applications
- Developed a native iOS application in Swift with offline support, media player integration, and In-App Purchases with a custom IAP backend (built as a microservice) to deliver purchased resources to the app
- Migrated mobile applications from using Parse mobile BaaS to using AWS resources
- Worked with the team to create an agile development workflow that fit our small team and goals
- Helped other developers and contractors with code-review, software architecture, and backend services
Web Developer, Focus on the Family; January 2014 - March 2015
Developed web and mobile applications on a variety of different languages, platforms, and frameworks, working with the team to successfully complete business objectives within the given time constraints
- Developed a framework and dashboard for in-house Wordpress developers to deploy Wordpress sites to multiple environments and standardized workflow for local development, dependency management, deployments, and source control
- Co-developed an iOS app, focusing on integration with the backend and various 3rd party services, extending the back end (a generated Ruby on Rails app) to add custom functionality, developing parts of the iOS UI, and creating an automated deployment pipeline for the backend
- Added features and fixed bugs in an existing webapp built with CakePHP and BackboneJS
- Developed a jQuery plugin as a popup for giving campaigns including A/B testing and user data capture, implemented in Sitecore CMS using Microsoft .NET
- Developed minor features and changes to Sitecore CMS sites
Owner, DigiToll Software; May 2012 - December 2015
- Created and managed every aspect of a small software product company including design, development, maintenance, marketing, sales, customer service, and financials
- Developed extensions in PHP for Joomla! and VirtueMart with a focus on digital downloads and delivery
Owner, Stephen Roberts LLC; February 2011 - October 2015
Worked with clients to develop e-commerce websites, perform content migrations, and integrate with existing systems
- Added e-commerce and digital download capability to an existing website built on Joomla! CMS
- Developed a new e-commerce website using Joomla! and VirtueMart for the sale of physical products, migrated the product catalog from the existing IBM WebSphere platform, and integrated with existing inventory and ERP systems
- Collaborated with marketers and designers to create another e-commerce website selling both physical and digital downloads
Engineering Technician Assistant, University of South Alabama; September 2007 - December 2010
- Computer and Lab Technician supporting 12 Computer and Technical Labs
- Installed software, performed system backups, and maintained over 175 computers
- Repaired Oscilloscopes, Power Supplies, Digital Systems, and other lab equipment