Flight Software Engineering Intern
York Space Systems is looking for a curious, hands-on Software Engineering Intern who wants to build software that interacts with real spacecraft hardware.
This is not a traditional web-development internship. You’ll work alongside Flight Software and Spacecraft Integration & Test engineers to develop, debug, and test software used to command, monitor, and validate space vehicles. Your work may touch embedded Linux systems, spacecraft interfaces, automated test infrastructure, hardware-in-the-loop environments, networking, telemetry, and the tools engineers use to prove a vehicle is ready for flight.
You’ll get exposure to the full engineering loop: write code, run it against real or simulated spacecraft hardware, break things safely, debug what happened, improve the software, and run it again.
The ideal candidate enjoys figuring out how things work, isn’t afraid of a Linux terminal, likes both software and hardware, and gets excited when their code causes something in the physical world to happen.
Why this internship is different
You won’t spend the summer making buttons slightly more rounded.
You’ll work on problems like:
Why did this process crash? Why did that packet disappear? Why isn’t this device responding? What happens if we restart this service? Did the spacecraft produce the telemetry we expected? Can we automate this test? Can we make this failure happen again?
And then you’ll help build the software that answers those questions.
Key Responsibilities
Develop and test software used to support spacecraft flight software, vehicle integration, and automated testing
Write Python, C/C++, Bash, or other software that interacts with embedded systems and spacecraft hardware
Develop software and interfaces running in embedded Linux environments
Build tools that command, monitor, configure, and validate spacecraft subsystems
Participate in Software-in-the-Loop (SITL) and Hardware-in-the-Loop (HITL) development and testing
Connect software to real hardware interfaces, networks, telemetry streams, and subsystem simulators
Troubleshoot problems across software, operating systems, networks, and hardware
Debug failures using logs, telemetry, command-line tools, debuggers, and test equipment
Develop automated tests that exercise spacecraft functionality and verify expected behavior
Support York’s test-like-you-fly philosophy by helping make test environments behave more like the real vehicle
Write and execute unit tests and integration tests
Participate in technical design discussions and code reviews
Work with systems, software, electrical, and test engineers to turn high-level requirements into working solutions
Identify technical risks early and help develop practical solutions
Use Git, GitLab, CI/CD, and modern software-development workflows
Communicate what worked, what failed, what you learned, and what you want to try next
Love space!
Preferred for the Role
Experience developing software for embedded systems
Experience with C or C++ on Linux
Experience with microcontrollers, Raspberry Pi, BeagleBone, robotics, drones, automotive systems, or similar hardware
Experience debugging software that communicates with physical devices
Familiarity with serial, Ethernet, TCP/IP, UDP, CAN, SPI, I2C, or similar interfaces
Experience with multithreading, inter-process communication, or pub/sub messaging
Experience with Software-in-the-Loop or Hardware-in-the-Loop testing
Experience with automated system-level testing
Familiarity with telemetry, command-and-control systems, or distributed systems
Experience with GitLab CI/CD or other automated build/test systems
Experience with CMake or other C/C++ build systems
Familiarity with Docker or containerized development environments
Experience with debuggers, packet captures, logic analyzers, oscilloscopes, or other debugging tools
Experience with spacecraft, aerospace, robotics, or other safety- or mission-critical systems
Personal projects where you built something that moves, communicates, senses, controls, or interacts with hardware
Familiarity with Python or scripting languages
Interest in spacecraft, aerospace, or safety-critical systems
Experience working in lab or system integration environments
Active Secret Clearance