Software Engineering Intern
York Space Systems
About the Role
York Space Systems is seeking a talented and enthusiastic Software Engineering Intern. This role involves developing and testing new features and bug fixes for a full-stack application used for executing and managing Space Vehicle testing.
Key Responsibilities
- Support test-like-you-fly, test-driven development for spacecraft flight software, ground software, and space vehicle integration.
- Perform troubleshooting and debugging of SIT tools and infrastructure.
- Participate in an agile scrum team focused on delivering embedded software for space applications.
- Collaborate with team members, management, and customers to ensure projects are completed to standard.
- Identify risks and form contingency plans.
- Communicate challenges, failures, and successes to the team.
- Influence technical design and code reviews to ensure quality.
- Work with systems engineers and peers to understand and expand requirements.
- Develop software architectures and designs that meet requirements.
- Develop interfaces and processes running on embedded Linux.
- Propose, review, and analyze potential implementation approaches based on cost, complexity, and schedule.
- Develop associated code following strict project coding guidelines and process requirements.
- Develop, execute, and analyze unit tests verifying satisfaction of requirements, proper implementation of interfaces, and code coverage.
- Work with other subsystems to ensure proper integration of subsystem code into the functional design.
- Participate in the development of Software-in-the-loop (SITL) and Hardware-in-the-loop (HITL) systems.
- Perform or provide oversight of SITL and HITL integration and testing.
Requirements & Tech Stack
- Proven experience with Python development.
- Experience with full-stack web development, including backend development support for APIs and databases.
- Understanding and experience with API development & usage.
- Frontend development with React or equivalent.
- Backend development with FastAPI or equivalent.
- Experience with distributed task management.
- Experience with database management MongoDB.
- Experience with Git and modern day Agile software development practices & tools.
- Experience developing in a Linux environment.
- Some experience with bash scripting.
- Familiar with Docker, Docker Compose, & containerization.
- Knowledge of GitLab & CI/CD pipelines and using them for development.
- Familiar with writing test documentation, such as test plans, procedures, and reports.
- Ability to proactively identify problems and communicate them clearly to leadership and/or more senior engineers.
- Proficient at technical documentation.
Qualifications
- 0-2 years of experience in software engineering.
- Bachelor’s degree or greater in Aerospace Engineering, Computer Science, or related field.
- Ability to obtain a Security Clearance (Secret or above).
Desired Qualifications:
- Self-starter with the ability to pick up new concepts quickly.
- Experience with databases (SQL, Influx, Mongo, Redis).
- Ability to communicate complex topics to a non-technical audience.
- Experience in end-to-end system-level automated testing.
- Experience with Software in the loop test systems.
- Experience with Hardware in the loop test systems.
- Experience in modeling, analysis and validation of satellite subsystems.
- Experience with embedded systems, networking, and pub/sub message middleware.
- Experience with build system tools such as CMake, SWIG, and package management.
- Experience testing hardware systems, preferably for space flight.
Benefits
- Medical, dental, and vision insurance.
- PTO.
- 401K.