Tools & Automation Engineer with 15 years in software development. I build the infrastructure that lets teams ship faster – CI pipelines, performance dashboards, test frameworks, and the automation that keeps builds clean.

Azra Games

Software Engineer

Oct 2024 – Present2 years

Game: Ungodly

Pre-Commit

6 mo
  • Perforce
  • TeamCity
  • Games
  • Tools
  • Built pre-commit system that runs a targeted ~15-minute build on every peer review request, catching missing files, assembly definition gaps, and debug-flag hook mismatches before merge
  • Catches the vast majority of would-be build breaks – remaining gaps are cases where submitters don’t wait for results
  • Team has come to rely on the system – active enough to flag 4 separate issues in a single day

Record & Play

18 mo
  • Unity
  • C#
  • IntelliJ
  • TeamCity
  • Games
  • Tools
  • Built ground-up automated testing solution that captures live gameplay sequences and replays them as automated test runs
  • Runs across dev and staging environments
  • Compiled out of production builds to avoid any footprint in shipped code

Harvest Time

4 mo
  • Javascript
  • AWS
  • BigQuery
  • Unity
  • Perforce
  • TeamCity
  • Games
  • Tools
  • Solo-built a full-stack internal web application (React + Node.js/Express, deployed on GCP Cloud Run) serving as the central control plane for automated game testing
  • Unified Perforce, TeamCity, and AWS Device Farm into a single workflow with an auto-orchestration engine and priority-weighted test scheduling
  • Built automated crash analysis pipeline that classifies test failures (OOM, ANR, Jetsam, loading stalls, game crashes vs. infrastructure failures) by parsing device logs – with alerting tied to specific changelists, devices, and tests
  • Created interactive 3D performance heatmaps (Three.js) visualizing framerate, memory, and GPU/CPU time across game zones – supports compare mode, LOD rendering, and filtering by device, branch, and changelist
  • Designed the data layer across BigQuery, Firestore, SQLite, and GCS; role-based access control via Firebase Auth

Performance Metrics

16 mo
  • Unity
  • C#
  • Python
  • AWS
  • BigQuery
  • Games
  • Tools
  • Automated performance testing running 24/7 across 9 device models (6 Android, 3 iOS) via AWS Device Farm
  • Built area discovery tool that automatically identifies player/enemy spawn points, zone transitions, and interactables – test coverage grows dynamically with new content, currently spanning ~100 in-game areas
  • Capture Unity profiling data (CPU, GPU, memory) per run and store statistics (min, max, avg, P5, P95) in BigQuery
  • Visualize results in Looker Studio dashboards with filtering by build, device model, and area

Shader Pre-warming

12 mo
  • Unity
  • C#
  • Python
  • AWS
  • Games
  • Tools
  • Extended performance runs to collect graphics state data split by quality level and region
  • Expanded coverage beyond automation by crowd-sourcing shader state from all internal playtesting sessions on real builds, filtering out non-representative custom builds
  • Comprehensive collection enabled shader pre-warming that eliminated hitching in the game’s early areas

Load Testing

2 mo
  • C#
  • Perforce
  • AWS
  • Games
  • Tools
  • Built standalone C# application that emulates realistic gameplay message sequences against the live game server, using the game’s own proto files to ensure protocol accuracy
  • Dynamically parsed server responses to handle generated entity IDs and maintain test flow across sessions
  • Deployed to AWS Fargate across 50 instances to simulate hundreds of concurrent users
  • Collaborated with the server team through ~1 month of iterative testing cycles, surfacing hot-spot database queries and skippable calls – resolved with caching across ~3 significant performance improvements

Mass Request Tool

1 mo
  • Unity
  • C#
  • Games
  • Tools
  • Built Unity-based tool to mass-send server requests using the same client code as the production game, enabling realistic gacha simulation at scale
  • Ran weekend-long tests executing 100 10-pulls (1,000 results) per account across 10,000 accounts to build statistically reliable drop rate data
  • Caught pity system bugs before launch through statistical analysis, mitigating legal and financial risk
  • Distributed load across many accounts to prevent state accumulation from skewing results
  • Extended to populate leaderboards with thousands of test entries

Agentic Development

12 mo
  • Python
  • C#
  • Games
  • Tools
  • Built a custom MCP server to surface game-specific context and prompt patterns to LLM agents, enabling consistent AI-assisted workflows across the tools team
  • Leverage agentic coding tools (Claude Code) to accelerate routine automation work, directing agent workflows while retaining ownership of system design, integration, and code review
  • Extended agentic tooling to production workflows – a scheduled Claude analysis job processes daily performance reports across ~100 areas and 9 device models, replacing dense data tables with targeted actionable summaries

Daily Reports

9 mo
  • Python
  • TeamCity
  • BigQuery
  • Games
  • Tools
  • Daily automated Slack reports flagging performance regressions and out-of-budget assets (models, textures, memory, download size), posted each morning
  • When first deployed, only ~30% of runs met performance targets – consistent daily visibility drove that to 98–99% as the team focused on launch readiness
  • Still surfaces ~1 new significant issue per week, typically in newly developed areas
  • Integrated a scheduled Claude analysis job to summarize results across ~100 areas and 9 device models – replacing a dense data table with actionable daily highlights

Electronic Arts

Software Engineer 2

Jun 2020 – Sep 20244 years

Pre-Commit

3 mo
  • Python
  • Perforce
  • Jenkins
  • Games
  • Tools
  • Built an extensible pre-commit framework for the Star Wars: Galaxy of Heroes team, triggering on peer review requests via Jenkins
  • Each test scopes itself to relevant file changes to minimize run time, focused on the team’s most common failure modes including missing files and assembly issues

AWS Device Farm Migration

12 mo
  • AWS
  • Jenkins
  • Perforce
  • IntelliJ
  • Games
  • Tools
  • Migrated from a degraded 4-device local farm (multiple failures due to battery bloat) to 6 device models on AWS Device Farm
  • Eliminated device maintenance overhead, improved reliability, and integrated the new farm into existing Jenkins pipelines

Record & Play

24 mo
  • Unity
  • C#
  • IntelliJ
  • Jenkins
  • Games
  • Tools
  • Proposed and built live gameplay recording integrated into the existing automation framework, eliminating repetitive manual QA testing
  • Deployed to 3 EA mobile titles, enabling QA teams to replay captured sessions as automated test runs across multiple environments

Additional Test Reporting

6 mo
  • C#
  • Jira
  • Perforce
  • IntelliJ
  • Games
  • Tools
  • Extended the automation framework to post results directly to Zephyr, giving QA a live view of test status without manual reporting

Improve Test Automation

52 mo
  • Unity
  • C#
  • Perforce
  • IntelliJ
  • git
  • Games
  • Tools
  • Replaced hard-coded delays with conditional waits and timeout handling
  • Added intelligent interception of unexpected prompts (ads, rewards, connection issues)
  • Replaced polling with real-time screen state relay, reducing load and improving responsiveness
  • Increased framework uptime from 30% to 95% through systematic elimination of flaky patterns and maintenance debt
  • Ported framework to 5 mobile titles

Iron Horse Games

Software Engineer · Contract

Feb 2020 – Jun 20205 months

Steam Town

4 mo
  • Gamemaker
  • git
  • Games
  • Ramped up on an unfamiliar codebase and engine (GameMaker) independently, with no onboarding support
  • Upgraded UI with new animations and resolution support
  • Refactored to cut code volume and complexity by over 50%
  • Implemented custom 9-slicing for scalable UI panels where the platform had no built-in support

Superhero Comic Prototype

1 mo
  • Unity
  • C#
  • git
  • Visual Studio
  • Games
  • Prototyped smooth comic panel transitions – reframing, brightening, and panning across cells – to drive design discussions

5th Planet Games

Full Stack Software Engineer

Nov 2018 – Dec 20191 year

Dawn of the Dragons: Ascension

Campaigns Guild Feature

3 mo
  • Unity
  • C#
  • git
  • SQL
  • Visual Studio
  • Jira
  • Redis
  • MongoDB
  • Games
  • Collaborated with designer and engineer on technical design documents for a full guild campaign feature
  • Implemented across server and client: shared map navigation with an energy resource, strategic node defeats to limit event-wide buffs, and automated loot delivery to player inboxes
  • Completed full feature development before the game’s sunset

UI

12 mo
  • Unity
  • C#
  • git
  • Visual Studio
  • Jira
  • Games
  • Implemented UI from art mockups and wireframes
  • Identified and made UX improvements for clarity, retention, and monetization
  • Converted mobile UI to PC with dynamic scaling and mouseover text

Support

14 mo
  • Unity
  • C#
  • git
  • Javascript
  • SQL
  • Visual Studio
  • Jira
  • Redis
  • MongoDB
  • Java
  • Games
  • Tools
  • Built, tested, and maintained features across the server, client, and admin tools, including bug fixes and code reviews

Northrop Grumman

Software Engineer 2

Dec 2012 – Oct 20186 years

Mission Control Accreditation

12 mo
  • Javascript
  • Java
  • C/C++
  • Eclipse
  • Clearcase
  • git
  • Rally
  • Defense
  • Led integration environment setup for a 50,000+ man-hour government contract, coordinating hardware and software components across teams
  • Managed a team of 5 engineers
  • Authored and executed the full accreditation test procedure
  • Built a RESTful Java API to forward messages between mission control scripts and firmware
  • Successfully completed accreditation, directly resulting in a contract extension

Mission Control Browser Tools

18 mo
  • Javascript
  • Clearcase
  • Jira
  • Defense
  • Tools
  • Built browser-based tools through iterative stakeholder collaboration: hardware status visualization (power, diagnostics, temperature), resource allocation for pod components (antenna, filtering, scanning), signal processing pipeline configuration, and platform location tracking over time

Prototype Internal R&D Projects

36 mo
  • Java
  • Javascript
  • SQL
  • Eclipse
  • Clearcase
  • git
  • Jira
  • Defense
  • Network visualization using JUNG, procedural device configuration via SNMP, and a minimax-based rule engine for automated network response

Sensor Chassis Test Suite

6 mo
  • Python
  • Clearcase
  • Jira
  • Defense
  • Tools
  • Developed and validated diagnostic test suite for sensor chassis, deployed on an air-gapped network

Sensor Calibration Real-World Flight Testing

2 mo
  • Java
  • Defense
  • Validated sensor calibration procedures against real hardware during live flight tests
  • Directed pilot navigation to predetermined antenna coverage points

DoubleA Studios

Generalist Programmer / Co-owner · College Startup

Jun 2011 – Nov 20122 years

Kelkom

12 mo
  • Java
  • git
  • Eclipse
  • LAN-based medical appointment scheduling and metrics system
  • Deployed on a tablet to replace a hardware unit with blinking buttons

TTRPG Visualization Tool

6 mo
  • Java
  • git
  • Eclipse
  • Games
  • Tools
  • Character manager and visualization tool for table-top RPGs (Primarily D&D)
  • Includes a separate initiative tracking application with status effects and dynamic layout scaling

Windows Taskbar Messaging Tool

6 mo
  • C#
  • git
  • Eclipse
  • Broadcast messaging system for posts and advertising in a Windows toolbar
  • Includes tabs to track multiple messaging channels including financial advice and retail coupons

From Space (Twin-stick shooter)

12 mo
  • C#
  • Games
  • 3 unique playable races
    • Junkers generate trash shields, create turrets, and fire rapidly
    • Space snails regenerate, charge forward, and gain a spread shot
    • Saucers turn instantly, fire homing missiles, and fire bullets that shoot more bullets
  • Enemies attempt to dodge projectiles, weaving through on higher difficulties
  • Enemies drop powerup crates

Side Projects

Outside of work I regularly build small games and tools to explore ideas, learn new techniques, or just have fun. None of this is polished or professional-grade work – it’s how I stay sharp and curious about the craft.

Online Portfolio (this page)

  • Javascript
  • Filter and search experience by technology, with preset views and per-skill ratings and time totals
  • PDF/print export, image lightbox, and hover tooltips showing filter tags per subsection
  • github

Procedural Hex World

  • Unity
  • C#
  • Games
  • Infinite procedural world generation using noise-based algorithms
  • Object pooling system that reuses and repositions tiles for optimal performance
  • Draw call optimization through batching and object reuse
  • Horizon shader effects simulating small-planet navigation
  • Instant warp system allowing navigation to any coordinate

FFXI Gearswap Scripts

  • Games
  • Tools
  • Dynamic equipment optimization system using weighted stat evaluation
  • Real-time adaptation to level changes, situational requirements, and available gear
  • Automatic gear set generation based on current context (MP available, day of week, action type)

Manic Space Bot Repair (GGJ 2020)

  • C#
  • Unity
  • Visual Studio
  • Games
  • Gather parts and fix the bots so they can repair the ship
  • Global game jam

How Our Mission Ended (GGJ 2019)

  • C#
  • Unity
  • Visual Studio
  • Games
  • Fight or befriend in a quest for stuffium
  • Pathfinding and behavior system for robot NPCs
  • Global game jam

Lumen (GGJ 2018)

  • C#
  • Unity
  • Visual Studio
  • Games

Ravenous Void (Ludum Dare 45)

  • C#
  • Unity
  • Visual Studio
  • Games
  • Brave the unknown to gather the power to fend off the darkness
  • Procedural world generation
  • JSON-based music
  • ludum dare

Herding Cats (Ludum Dare 44)

  • C#
  • Unity
  • Visual Studio
  • Games
  • Armed with a lazer pointer, try to get cats to assist in solving puzzles
  • ludum dare

AI Opponent for a Customized Chess Game

  • Javascript
  • Games
  • Use Negamax algorithm to select best move
  • github

Jigsaw Puzzle Creator

  • Java
  • Games
  • Chop any image into puzzle pieces and put them back together again
  • github

Education

Sacramento State

  • Eclipse
  • Java
  • git
  • Received a bachelor’s degree in computer science
  • Worked as an adjunct professor, tutor, and grader covering all undergraduate computer science coursework
  • Represented school in state programming competition

San Joaquin Delta College

  • C/C++
  • Eclipse
  • Received an associate’s degree in computer science