Passionate software engineer with over 12 years of experience looking to create extraordinary games. Committed to continuous learning and applying innovative solutions to deliver engaging player experiences.

Automation Engineer at Azra Games (Current)

azra sign Viking running through a blocked out town Legend: White Witch entrance in a mountain chasm Legend: Viking

Pre-Commit

  • Respond to development hurdles with more timely automated testing
  • Integrate with TeamCity to run tests when peer reviews are requested

Record & Play

  • Identify a QA need to reduce repetitive manual testing
  • Design and implement a tool to capture gameplay steps, then replay them during automated testing runs
  • Offer support and extend functionality to support more environments

Improve Test Automation

  • Create a system to record and playback actions on mobile device

Software Engineer 2 at Electronic Arts (4 years)

Star Wars: Galaxy of Heroes Heroes of Middle-earth Plants vs Zombies Madden Mobile NBA Mobile

Pre-Commit

  • Respond to an engineering request for more timely automated testing
    • Design and implement a framework to run an extendable set of tests
  • Each test checks the changed file list to determine if it needs to run
  • Integrate with Jenkins to run tests when peer reviews are requested
  • Support tests written by the client, server, and tooling teams

AWS Device Farm

  • Compare and report on costs vs maintaining a decaying onsite device farm
  • Prove out a solution by locally building and running commands
  • Instrument testing on AWS device farm during existing Jenkins test runs

Record & Play

  • Identify a QA need to reduce repetitive manual testing
  • Suggest an approach of recording live gameplay and gather requirements
  • Design and implement a tool to capture gameplay steps, then integrate with an existing automation solution to replay them during automated testing runs
  • Demonstrate and promote the tool to QA
  • Offer support and extend functionality to support more environments

Additional Test Reporting

  • Respond to a QA request for more accessible test logging
  • Prototype and later refine a solution to report automated test results directly to the QA test tracking tool, Zephyr

Improve Test Automation

  • Replace frequent polling with a more performant relay of real-time updates
    • Batch frequent messages to avoid flooding the network
  • Refactor to reduce code duplication and simplify messaging
  • Increase testing up-time from 30% to 95%
  • Port existing automation framework to support a new title
  • Collaborate to support test automation for 5 mobile titles

Full Stack Software Engineer at Iron Horse Games (5 months)

Steam Town

  • Quickly ramp up on a new project and development platform with no support
  • Upgrade UI with all new animations and resolutions
  • Refactor to reduce code complexity and quantity by over 50%
  • Replicate missing 9-slicing functionality
  • poster combat progression craft ancient weapons enemies

Superhero Comic Prototype

  • Efficiently prototype new concepts to facilitate design discussions
  • Smoothly reframe and brighten cells of a comic while panning across the page

Full Stack Software Engineer at 5th Planet Games (1 year)

Dawn of the Dragons: Ascension - Steam Page

world map battle raid guild title

Campaigns Guild Feature

  • Partner with a game designer and software engineer to create technical design documents and plan feature development tasks
  • Implement the campaign feature across server and client components
    • Move across the shared campaign map with an energy resource
    • Strategically defeat nodes to limit buffs across the event
    • Compile rewards from loot pools and deliver them to player inboxes once the event is complete
  • Release and support the feature with bug fixes

UI

  • Faithfully implement UI intent from art team mockups and wire frames
  • Make UI/UX changes for improved clarity, player retention and monetization
  • Handle the necessary changes for a PC conversion including dynamic scaling and mouseover text

Support

  • Build, test, and maintain features across the server, client and admin tools
  • Efficiently fix bugs, add functionality, and review code changes

Software Engineer 2 at Northrop Grumman (6 years)

plane mount pod map

Mission Control Accreditation

  • Create the cross-team integration environment for large (50,000+ man-hour) contract
    • Include necessary hardware components as well as software components with methods to rebuild updates
  • Create and follow a detailed series of test steps for accreditation
  • Manage a team of 5 engineers with source control in git and tasking in Rally
  • Create a RESTful Java API to forward messages to scripts and firmware

Mission Control Browser Tools

  • Prototype requested functionally and regularly meet with stakeholders to guide iterative improvements
  • Visualize and control hardware status including power, diagnostic reports and temperature
  • Allocate resources to enable focusing on individual signal sets
  • Build and configure a sequence of signal processing and analysis steps
  • Visualize location data over time for receiving platform and numerous signals

Prototype Internal R&D Projects

  • Display known network layout with the Java Universal Network/Graph Framework (JUNG)
  • Procedurally configure connected devices with the Simple Network Management Protocol (SNMP)
  • Exploratory project utilizing minimax in a rule-based environment to respond to network input

Sensor Chassis Test Suite

  • Startup and run diagnostic on test chassis
  • Install and validate test suite on an air-gapped network

Sensor Calibration Real-World Flight Testing

  • Validate processes documentation by running against real hardware
  • Direct a pilot to predetermined points near the facility antennae

Generalist Programmer / Owner at DoubleA Studios (1.5 years)

Kelkom

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

TTRPG Visualization Tool

  • 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

  • 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)

  • 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

Online Portfolio (this page)

  • Use jquery to sort experience against a list of languages and tools
  • github

Dice Game

  • World space UI elements
  • Physics-based RNG
  • github

Manic Space Bot Repair (GGJ 2020)

  • Gather parts and fix the bots so they can repair the ship
  • Global game jam

How Our Mission Ended (GGJ 2019)

Lumen (GGJ 2018)

Ravenous Void (Ludum Dare 45)

  • 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)

  • Armed with a lazer pointer, try to get cats to assist in solving puzzles
  • ludum dare

AI Opponent for a Customized Chess Game

  • Use Negamax algorithm to select best move
  • github

Jigsaw Puzzle Creator

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

Education

Sacramento State

  • 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

  • Received an associate's degree in computer science