Livingston, Texas, United States
I'm an enthusiastic engineer and technical leader with 9+ years experience in building frameworks and tools to make developer's jobs easier. Obsessed with constant improvement, teamwork, scuba diving, and music in all contexts.
- Led CI optimization efforts that reduced frontend pipeline wait times from ~69 minutes to ~20 minutes within the first six months by improving caching, test parallelization, and pipeline stability - Took ownership of release management across Apple App Store, Google Play Store, Chrome Web Store, and Firefox Extension Store, coordinating releases across frontend, backend, QA, and product teams - Built automation to significantly reduce manual steps in the release process, improving repeatability and lowering operational risk while participating in infrastructure and release on-call rotations - Built and improved an internal frontend performance testing library and pipeline running real user flows on physical devices via BrowserStack - Shifted frontend performance work from a reactive model to a proactive one by detecting regressions prior to production release - Contributed to the development of an internal developer platform enabling platform teams to build and ship internal tools more efficiently - Helped build an internal application used to measure engineering health across quality, performance, QA, and support signals - Supported the formation of a new frontend platform sub-team by helping define ownership boundaries and responsibilities - Partnered with QA leadership to decentralize QA ownership to feature teams while integrating third-party QA partners and automated testing workflows - Planned and facilitated two team offsites focused on alignment and delivery planning, directly contributing to the on-time shipment of a critical project - Migrated browser extension build pipelines onto internal infrastructure to reduce supply chain attack exposure and improve build control
- Led multiple Engineering Department reorganizations, overseeing multiple tracks of work involving 10 engineers - Created and implemented a successful on-call schedule using Opsgenie for efficient handling of incoming requests from the rest of the organization using Slack channels - Introduced and led a weekly open forum in the engineering department for architectural and feature review as well as a platform for discussion of departmental changes and improvements - Led a series of improvements to our ephemeral environments to enable a majority of QA testing of bug fixes and new features to be tested independent of our staging environment - Managed a Devops team handling traffic of 40k active users a month while deploying multiple backend releases a day and scaling k8s infrastructure to > 2k pods across 8 environments while reducing costs in AWS by $1000s per month - Managed a dev team handling over 1.7 million dollars in Stripe transactions a month
- Led the successful migration of the ecommerce backend to EKS, significantly reducing deployment time, production outages and scalability of our backend services - Further integrated ephemeral environments into the testing of every PR in github before merging allowing developers to do more work in parallel, removing a major bottleneck in the scaling of our SDLC, and leading to a huge increase in developer velocity - Enabled local debugging with an ephemeral environment using a hybrid cloud with Tailscale and Ngnix routing significantly reducing development cycle time - Introduced enterprise-level observability into the platform using DataDog, leading to the ability to rapidly identify and actively alert team members of issues and performance bottlenecks before they occurred or were reported by others
𝗧𝗮𝗻𝘇𝘂 𝗢𝗯𝘀𝗲𝗿𝘃𝗮𝗯𝗶𝗹𝗶𝘁𝘆 𝗞𝟴𝘀 𝗦𝗮𝗮𝗦 𝗧𝗲𝗮𝗺: 𝗧𝗲𝗰𝗵 𝗟𝗲𝗮𝗱𝗶𝗻𝗴 𝗮𝗻𝗱 𝗕𝘂𝗶𝗹𝗱𝗶𝗻𝗴 𝗮 𝗧𝗲𝗮𝗺 - Established agile processes and team culture that scaled a team from 2 to 5 engineers and increased cycle time by over 500% while also moving to weekly releases - Maintained the core data collection component for several Kubernetes platforms and coordinated changes in architecture that improved memory usage by 50% - Maintained an hpa adapter that could react to data from a cloud metric store and an adapter for using a Prometheus server to scrape and send data to Wavefront - Created feedback loops with the internal integrations and docs teams that led to a significant increase in the quality of troubleshooting docs for internal and external customers - Supported deployment into Openshift, GKE, EKS as well as other Cloud providers and proprietary Kubernetes environments 𝗟𝗼𝗴 𝗘𝗴𝗿𝗲𝘀𝘀 𝗧𝗲𝗮𝗺: 𝗧𝗔𝗦𝟰𝗞𝟴𝘀 𝟭.𝟬 𝗟𝗼𝗴𝗴𝗶𝗻𝗴 𝗥𝗲𝗹𝗲𝗮𝘀𝗲, 𝗧𝗲𝗮𝗺 𝗢𝗽𝘁𝗶𝗺𝗶𝘇𝗮𝘁𝗶𝗼𝗻𝘀 - Helped implement the logging system for the 1.0 release of Tanzu Application Service for Kubernetes - Refactored pieces of legacy logging architecture to take advantage of K8s concepts (health probes, virtual cpu and memory limits, etc) - Improved log throughput per fluentd node by 2.5x - Implemented team support workflow improvements that increased team’s velocity to push new features by 3x 𝗘𝗻𝘃𝗶𝗿𝗼𝗻𝗺𝗲𝗻𝘁 𝗔𝘂𝘁𝗼𝗺𝗮𝘁𝗶𝗼𝗻 𝗧𝗲𝗮𝗺: 𝗕𝘂𝗴 𝗦𝘄𝗮𝘀𝗵𝗶𝗻𝗴, 𝗜𝗻𝘁𝗲𝗴𝗿𝗮𝘁𝗶𝗼𝗻 𝗜𝘀𝘀𝘂𝗲𝘀, 𝗙𝗮𝗰𝗶𝗹𝗶𝘁𝗮𝘁𝗲𝗱 𝗣𝗿𝗼𝗱𝘂𝗰𝘁 𝗛𝗮𝗻𝗱𝗼𝗳𝗳 - Tackled several bugs in the three micro services my team maintained (autoscaling, scheduling, and metrics registration), bumped versions, added unit and integration tests, improved documentation - Handled the implementation of a crucial security feature after being missed earlier, hacked together a shim to keep customer up and running to give team time to get a fix working
𝗕𝗮𝘀𝗲 𝗜𝗺𝗮𝗴𝗲 𝗣𝗶𝗽𝗲𝗹𝗶𝗻𝗲, 𝗣𝗿𝗼𝘃𝗶𝘀𝗶𝗼𝗻𝗶𝗻𝗴 𝗦𝗰𝗿𝗶𝗽𝘁 𝗥𝗲𝗳𝗮𝗰𝘁𝗼𝗿, 𝗖𝗿𝗲𝗮𝘁𝗲𝗱 𝗦𝘁𝗮𝗻𝗱𝗮𝗿𝗱𝘀 - Reorganized cookbooks to better align with SOLID design principles. Easier to make changes and test. Less coupled. - Created Packer pipeline for base images and integrated with internal VM management tool. Saving lots of effort and time. Documents SUT base requirements. Makes a full day manual process a button press. - Created and advocating the use of internal standards around the Chef framework. 𝗩𝗠 𝗣𝗿𝗼𝘃𝗶𝘀𝗶𝗼𝗻𝗶𝗻𝗴 𝗧𝗼𝗼𝗹 : 𝗜𝗻𝗳𝗿𝗮𝘀𝘁𝗿𝘂𝗰𝘁𝘂𝗿𝗲 𝗠𝗶𝗴𝗿𝗮𝘁𝗶𝗼𝗻, 𝗙𝗲𝗮𝘁𝘂𝗿𝗲 𝗔𝗱𝗱𝗶𝘁𝗶𝗼𝗻𝘀, 𝗮𝗻𝗱 𝗨𝘀𝗮𝗯𝗶𝗹𝗶𝘁𝘆 𝗜𝗺𝗽𝗿𝗼𝘃𝗲𝗺𝗲𝗻𝘁𝘀 - Migrated assets and infrastructure to Microsoft Azure allowing VMs to be spun up off our internal domain, saving remote employees days of work. - Added idempotency to provisioning scripts increasing resiliency and success rate. - Expanded the supported workflows developers use for testing enabling more developers to test issues locally before committing and decreasing the necessity for large, long standing environments. Improved the actionability of error messages and logging enabling developers to debug and solve their own issues. - Rewrote documentation and tutorial around the tool giving new developers a better first experience and making in-depth feature more discoverable.
𝗖𝗼𝗻𝘁𝗶𝗻𝘂𝗼𝘂𝘀 𝗜𝗻𝘁𝗲𝗴𝗿𝗮𝘁𝗶𝗼𝗻 𝗣𝗶𝗽𝗲𝗹𝗶𝗻𝗲s: 𝗣𝗿𝗼𝗰𝗲𝘀𝘀 𝗗𝗲𝘃𝗲𝗹𝗼𝗽𝗺𝗲𝗻𝘁 𝗮𝗻𝗱 𝗜𝗺𝗽𝗿𝗼𝘃𝗲𝗺𝗲𝗻𝘁 - Increased the frequency of validation from once every 24 hours to every single push to our Git repository, reducing the scope of changes tested in a single pipeline execution. - Reduced the run time of Jenkins pipelines. Shortening the time our developers waited for validation of changes allowed them to move more quickly and with more confidence. - Improved the stability of underlying infrastructure, increasing uptime and confidence in the system - Removed barriers preventing our developers from making changes to Jenkins jobs, python packages, and Chef scripts, empowering them to take more ownership of their code. - Updated the testing environment deployment process to more closely resemble the production environment deployment process - Streamlined the validation process to accommodate moving from a bi-yearly release cycle to a monthly one - Lead daily standups to identify, track, and resolve CI pipeline issues 𝗔𝘂𝘁𝗼𝗺𝗮𝘁𝗲𝗱 𝗧𝗲𝘀𝘁𝗶𝗻𝗴: 𝗗𝗮𝘁𝗮 𝗖𝗼𝗹𝗹𝗲𝗰𝘁𝗶𝗼𝗻 𝗠𝗶𝗴𝗿𝗮𝘁𝗶𝗼𝗻 𝘁𝗼 𝗘𝗹𝗮𝘀𝘁𝗶𝗰𝘀𝗲𝗮𝗿𝗰𝗵 𝗗𝗮𝘁𝗮𝗯𝗮𝘀𝗲 - Migrated pipeline reporting from MySQL database to Elasticsearch to gain a more flexible data model, making it easier to add new data points and horizontally scale up as demand increases. - Wrote python packages for reporting on different stages of deployment and test executions
I was integrated with a team and worked on a way to measure the consistency of a large number of tests within the automated testing suite. After developing a metric to measure this, I then implemented tools that developers and testers could use to develop and maintain solid tests.