Sr Software Engineer, Ground Software
About The Role
The Sr. Software Engineer role involves designing, developing, and testing software applications for space systems and technologies. This advanced position requires deep expertise in multiple programming languages, an advanced understanding of software development principles, and the ability to design, architect, and implement complex software systems. The role includes writing clean, maintainable code, collaborating with team members to understand project requirements, and contributing to the development of innovative software solutions. Additionally, this position may involve providing technical leadership, mentorship, and making high-level design decisions that significantly impact program cost, schedule, and technical performance.
Requirements
- Requires bachelor's degree in a related field (or equivalent work experience in lieu of degree or master's +6 yrs experience).
- Typically, 8+ years of related experience.
- Deep expertise in multiple programming languages and software development principles.
- Ability to design, architect, and implement complex software systems.
- Experience with different software development methodologies such as Agile and Scrum/Kanban.
- Strong leadership skills to lead a team of engineers.
- Ability to make high-level design decisions that will have significant impacts on program cost, schedule, and technical performance.
Qualifications
- The ability to obtain and maintain a U.S. Security Clearance is required.
Preferred Qualifications
- Advanced expertise in Python and React with demonstrated ability to architect complex applications.
- Proven experience designing and implementing solutions with Python FastAPI.
- Extensive experience with Kubernetes, Helm, and ArgoCD for enterprise-level application deployments and orchestration.
- Demonstrated mastery of code coverage testing methodologies and implementing comprehensive unit testing strategies.
- Proven leadership in Agile or Scrum/Kanban environments, including guiding teams through sprints and utilizing enterprise tools (JIRA, Confluence).
- Advanced proficiency with scripting languages (Bash, PowerShell) and expertise with automation tools (Ansible).
- Advanced analytical skills for system optimization, performance profiling, and troubleshooting complex distributed systems.
- Superior communication and team leadership abilities, with track record of effectively using collaborative tools (GitHub, GitLab, Bitbucket) and facilitating development ceremonies (daily standups, backlog grooming, sprint planning, task estimation, retrospectives).
- Extensive experience with AWS cloud platforms and cloud-native architecture design.
- Deep understanding of network protocols, security principles, and implementing secure coding practices in enterprise environments.
- Proven ability to create and maintain comprehensive technical documentation for complex systems.
- Expert problem-solving skills with demonstrated experience designing and optimizing CI/CD pipelines and automated testing frameworks.
- Advanced knowledge and practical implementation of Software Design Patterns in enterprise applications.
- Expert-level knowledge of database management systems (MySQL, PostgreSQL, MongoDB) including optimization and scaling strategies.
Benefits
- Your actual base compensation will be determined on a case-by-case basis and may vary based on job-related knowledge and skills, education, experience, internal equity and market competitiveness.
Pay
Pay Range: $156,666.00 - $215,436.75
Schedule
N/A
Skills
- Programming Languages: Deep expertise in multiple programming languages.
- Software Development Principles: Advanced understanding of software development principles.
- Software Development Methodologies: Experience with different software development methodologies such as Agile and Scrum/Kanban.
- Leadership Skills: Strong leadership skills to lead a team of engineers.
- Design Decisions: Ability to make high-level design decisions that will have significant impacts on program cost, schedule, and technical performance.
- Version Control Systems: Utilizing version control systems such as Git.
- Code Reviews: Participating in code reviews to ensure code quality and adherence to development standards.
- Troubleshooting: Troubleshooting and resolving software-related issues in a timely manner.
- Documentation: Documenting software configurations, processes, and procedures for future reference.
- Technical Leadership: Providing technical leadership, mentorship, and support to team members.
Benefits
- Medical
- Dental
- Vision
- 401(k) with 150% match up to 6%
- Life Insurance
- 3 Weeks Paid Time Off