Orange County, California, United States
I have been testing software professionally since 2007, testing both front end and back end systems. I have spent over 10 years testing web interfaces and am an expert in selenium. I build custom test frameworks to suit the needs of the systems I am testing and regularly build my own test infrastructure as well. I also am well versed in the entire SDLC, and have reasonable experience with load/performance testing and headless testing. I have built automated tests in Java, Python, Scala, and C#. I strive to help every organization to shift their testing further left and love to see how much of the testing I can get to run as a part of the build pipeline. I take the time to understand what data a system needs in order to test it effectively, and how that data flows through the entire environment. I strive to mimic that data using dynamic mocks in a micro ephemeral environment to produce useful and accurate test results in a fraction of the time
Platform Architecture & Performance Architected "Playstack-in-a-Box" (PIAB): Developed a Docker-based local execution environment for the Hulu playback stack, enabling end-to-end testing of VOD and live manifest flows without cloud dependencies. Engineered "ducktest": Built a high-performance headless SDK video testing platform using Puppeteer and Adobe Pass TVE pairing to validate complex playback across diverse environments. Unified Automation with "Flightdeck": Led the design of a centralized session/login architecture, streamlining credential resolution and playback foundations across global device-user strategies. Optimized CI/CD Infrastructure: Modernized pipelines via multi-stage Docker builds and standardized Jenkins libraries, reducing developer feedback loops by 15+ minutes and integrating JaCoCo/Sonar. Service Virtualization & Data Modeling Pioneered "hulu_wiremock" Platform: Created a polyglot service virtualization library supporting dynamic mock generation for 20+ internal services; adopted cross-functionally by Video, Search, and Content teams. Developed "Hulkbuster" Entity Engine: Architected a modular generation and Kinesis publishing tool to stress-test content pipelines for formats like CNF v1/v2, MDDF, and Gracenote. Engineered Canonical Data Models: Authored Java data models for the Content Normalization Format (CNF), incorporating full serialization and schema versioning for platform-wide consistency. Technical Leadership AI-Assisted Engineering: Integrated AI-assisted development (Claude Code) to accelerate delivery, contributing 30+ high-complexity PRs for core playback initiatives. Scale & Impact: Delivered 500+ PRs across 60+ repositories, directly improving the reliability of Disney+, Hulu, and ESPN. Mentored cross-functional teams on service virtualization and DASH/HLS playback standards.
Built out a selenium test framework, implementing a page object pattern using Python. Created a suite of selenium tests to cover the reporting pages of the Cylance web UI. Assisted in planning and redesigning a massive Python library that was used by most of the Cylance testing. the library was broken up into smaller classes, was reimplemented in an object oriented format, and redundant methods were identified and eliminated. Rearchitected and led an effort to completely overhaul the entire UI test automation for all of the Cylance web UI. Worked closely with the development team in the creation of a UI component library. Created a component test library which not only exercised each component, but also created page objects for each one, defining how each could be interacted with, and providing easy locators for each one. Built a page object generator which would review a page's DOM, and automatically create a page object for that page. The page object would include all locators for components found on the page, reducing the amount of time it took to build new page objects. Built a custom auto scaling and self healing selenium grid in AWS using terraform to execute all our selenium tests. The grid would monitor load, and automatically spin up new boxes when capacity was reached. When load dropped below capacity, the grid would shut down unneeded nodes. Nodes which encountered an error would be turn down and replaced.
Built, maintained, and contributed to a custom test framework that: - Supports web front-end, API, and windows executable testing and is easily extendable to include other platforms such as mobile - Integrates with the existing TFS implementations to automatically save test results, logging information, screenshots, performance metrics, videos, etc. of tests run automatically - Abstracts common functionality out into libraries to greatly simplify the creation of new test cases, page objects, and other test infrastructure Influenced design direction of framework structures and helped introduce and implement common team coding standards Wrote, refactored, and maintained WebDriver page objects across multiple projects Assumed leadership and responsibility for understanding and testing major features of new next-gen software efforts
Lead a team of 3 other engineers in building out comprehensive solutions for testing web, iOS, Android, API, and backend systems for Hart. Built and maintained the Jenkins CI server. Built and managed the automated API testing. Actively participated in hiring each of the members of my team, conducting interviews, presenting and evaluating code challenges, and representing them to the leadership team making the hiring decision. Implemented proof of concept code for mobile testing using Appium. Participated in the leadership team working to identify and solve problems facing the company. Worked with the DevOps team to help automate the building and deployment of company software.
Prepared and executed manual and automated test cases for legacy billing systems. Created modern automated regression suite using Webdriver for Gmail, which reduced manual testing requirements for Gmail by over 50%. Optimized the Gmail regression suite to run automatically when a new build was created, and automatically notify the release engineers when the automated testing run was completed. Utilized dependency injection to make the automation framework more flexible, so that I could easily swap out components when specific pieces of the application changed. Helped make automated tests for Google Analytics completely hermetic. Created a framework to more easily, and more reliably start up Google Analytics servers with all their dependencies. Assisted in the evangelizing and adoption of this framework across multiple products.