Sierra Spaceposted 15 days ago
$126,610 - $174,075/Yr
Full-time • Mid Level
Centennial, CO

About the position

The Software Engineer role involves designing, developing, and testing software applications for space systems and technologies. This advanced position requires expertise in at least one programming language, an advanced understanding of software development principles, and the ability to design and architect 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 involves mentoring and guiding other engineers, providing technical leadership and support. Sierra Space’s Defense division focuses on the design, build, and operations of small satellites in support of commercial services and national security space. As a Flight Software Engineer, your primary responsibility will be designing and developing flight software and algorithms solutions for spacecraft missions for both civilian and DoD applications. These designs stem from understanding, analyzing and evaluating satellite and constellation capabilities, mission concepts, and system requirements. Your work will ensure we meet customer requirements by making data-driven decisions in architecting, implementing and testing the design in a testbed prototype and subsequent delivery of the flight code. Along the way, you will contribute to analyses of various architectures that include space vehicles, satellites, sensors, communications, and ground infrastructure, evolving or creating new approaches based on analysis results. You will also contribute to evaluating the mission effectiveness of the candidate approaches, balancing mission objectives against factors such as development and lifecycle costs. The Software Engineer participates in all portions of the software life cycle (concept development, requirements definition, design, development, testing, and deployment) of flight software to support ongoing and future small satellite programs. This individual must have a strong working knowledge of object-oriented design using C++ and must have a strong background in developing flight code on embedded processors. The candidate must also be comfortable working in an Agile Scrum environment.

Responsibilities

  • Design, develop, and test software applications for space systems and technologies.
  • Write clean, maintainable code following best practices and coding standards.
  • Architect and implement complex software systems to meet project requirements.
  • Collaborate with team members to understand project requirements and contribute to the development of software solutions.
  • Utilize version control systems such as Git to manage code changes and collaborate with team members.
  • Participate in code reviews to ensure code quality and adherence to development standards.
  • Troubleshoot and resolve software-related issues in a timely manner.
  • Document software configurations, processes, and procedures for future reference.
  • Stay current with industry trends and advancements in software development and space technologies.
  • Mentor and guide other engineers, providing technical leadership and support.

Requirements

  • Requires a bachelor’s degree in a related field (or equivalent work experience in lieu of degree or master’s +3 yrs experience).
  • Typically, 5+ years of related experience.
  • Expertise in one to multiple programming languages and advanced understanding of software development principles.
  • Ability to design and architect complex software systems.
  • Experience with different software development methodologies such as Agile and Scrum/Kanban.
  • Strong problem-solving skills.
  • Ability to mentor and guide other engineers.
  • The ability to obtain and maintain a U.S. Security Clearance is required.

Nice-to-haves

  • Strong technical understanding of C++ and Object-Oriented Programming.
  • Experience implementing client-server applications using socket I/O using TCP/UDP.
  • Experience implementing loosely coupled applications using PUB/SUB messaging.
  • Familiarity with Open Standards such as CCSDS, C2MS, Open Mission Systems (OMS), and Universal C2 Interface (UCI).
  • Experience with spacecraft flight software development.
  • Experience developing mission management and/or payload control software.
  • Demonstrated experience leading a team developing software.
  • Experience with software tools for requirements tracking, code reviews, static analysis, library and artifact repository, and automated build.
  • Knowledge of software development methodologies such as Agile/Scrum.
  • Experience and knowledge of Software Design Patterns.
  • Experience using SysML/UML to create Software Designs.
  • Experience testing and debugging on both Software in the Loop (SITL) and Hardware in the Loop (HITL, on target platform) environments.
  • Experience with Source Code Configuration Management platforms (GIT, SVN).
  • Experience developing on Linux.
  • Experience with network configurations including netconf.
  • Experience with embedded programming including new board build up.
  • Experience optimizing computer system performance including optimization for timing.

Benefits

  • Medical, dental, and vision plans.
  • 401(k) with 150% match up to 8%.
  • Life insurance.
  • 3 weeks paid time off.
  • Annual incentive pay based upon performance.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service