Aircraft Simulation
/ General Atomics Aeronautical Systems
Overview
General Atomics Aeronautical Systems (GA-ASI) is a defense company based in San Diego, CA, leading the development and manufacturing of unmanned aircraft and mission systems. After interning at GA in 2022, I joined the Modeling and Simulation team as a full-time Software Developer, building and delivering flight-critical simulation software used to model autonomous aircraft and crewed-uncrewed teaming.
Contributions
My work spanned backend C++ and Python systems across several simulation programs over two years, from flight-dynamics modeling and sensor simulation to mission-system interfaces, test automation, and CI/CD. The goal throughout was to enable teams to validate autonomous aircraft behavior in realistic virtual scenarios before live flight. Some of the key efforts I worked on:
- Developed backend components for physics-based flight simulators that model how an aircraft flies, enabling teams to test autonomous behavior in a virtual environment
- Simulated sensor and environmental effects, including optical/infrared sensing, winds, and weather, so the aircraft's mission systems could sense and react to a realistic virtual world
- Built interface layers and adapters that let independent systems communicate, keeping aircraft state, status, and commands synchronized across components owned by different teams
- Designed and built an automated test framework that runs end-to-end simulation scenarios and surfaces regressions in system behavior
- Implemented CI/CD pipelines that automatically build, package, and test each component on every change, catching integration issues early
- Worked on faster-than-real-time adversary aircraft simulation to provide a realistic opponent for testing friendly aircraft and autonomy
- Mentored a summer intern end-to-end: leading check-ins, writing documentation, and guiding them through building and shipping a complete feature
Impact
Flight testing is expensive, slow, and unforgiving of mistakes, so my work involved moving as much of that risk into simulation as possible. The software I helped build gave engineers, autonomy developers, and government customers a safe, repeatable, cost-effective way to validate aircraft behavior long before live flight. In addition, the test-orchestration framework and CI/CD pipelines I developed shortened feedback loops across the team, turning previously manual, error-prone validation into automated checks that ran on every code change and surfaced regressions early.
Reflections
This role taught me how to build software where systems are large, distributed, and interdependent, and correctness is non-negotiable. I learned to reason carefully about interfaces and protocols between components owned by different teams, to take testing as seriously as the features themselves, and to collaborate effectively with engineers, PMs, and customers cross-functionally.
Throughout my time at GA, I also found myself growing from a doer into a leader, taking on more ownership in leading scrum meetings, driving projects end-to-end, and mentoring a summer intern from their first commit to shipping a complete feature. While I came in focused on writing good code, I left understanding that the bigger impact comes from lifting the people and processes around the work, and not just the work itself.