Staff Software Engineer
Job Description
Staff Software Engineer role in the Ground Software group building and supporting telemetry and commanding capabilities for spacecraft.
Responsibilities
- Develop frontend and backend components for a spacecraft ground software system within an agile team
- Design, modernize, and evolve software used during satellite assembly, integration, and test
- Conduct peer reviews and author test cases and procedures to validate software behavior
- Document and maintain architectures, requirements, algorithms, and system interfaces
- Contribute to software requirements evaluation, generation, design, implementation, and testing discussions
- Partner with flight software, integration and testing (I&T), and mission operations to clarify user needs
- Find opportunities to transition legacy-based systems to modern, high-performance, reliable software architectures
- Share technical knowledge and support growth of fellow software engineers
- Provide on-call support to respond to incidents and anomalies, improving automated performance monitoring and alerting
Requirements
- Must be a U.S. citizen or permanent resident
- 5 years of non-internship professional software development experience
- Bachelor’s degree in a STEM field (or four additional years of experience substituting for the degree)
- Programming experience with C++, Java, and Python
- Strong DevOps background using infrastructure as code tools (e.g., Terraform), CI/CD tooling (e.g., GitLab), and containerization (e.g., Docker)
- Experience building services on AWS, including serverless computing technologies
- Experience working with a large shared codebase and continuous integration and deployment workflows and tooling
Technologies
- C++
- Java
- Python
- Terraform
- GitLab
- Docker
- AWS
- Serverless computing
Benefits
- Paid time off
- Health and welfare insurance
- 401(k) to eligible employees
Preferred Qualifications
- Experience developing command and telemetry processing, mission operations, ground segments, and/or satellite software
- Experience designing and/or developing web-based observability, data visualization, and UI applications
- Familiarity with relational and NoSQL databases (e.g., MySQL, Postgres, DynamoDB)
- Experience using automated testing frameworks (JUnit, PyTest, Boost)
- Experience with user-interface design/development (Tcl/Tk, React)
- Experience with service-oriented and micro-service architectures
- Professional written communications
- Highly focused self-starter who enjoys solving problems
- Passion for learning and teaching new technical skills
Location: Palo Alto, CA (remote)
Salary: USD 102,000 - 195,000 per yearly