Software Architect

closed
Kepler Communications Logo

Kepler Communications

πŸ“Remote

Summary

Join Kepler Communications, a company on a mission to deliver internet connectivity to space, and become their experienced Software Architect. Lead the design and development of high-performance software solutions for space systems. This role demands deep expertise in software architecture, embedded systems, and real-time computing, ensuring software reliability and scalability for mission-critical applications. You will need over 10 years of experience in software design and a strong understanding of embedded Linux, RTOS, and bare-metal systems. Proficiency in C, C++, and Python is essential. The position involves system architecture and design, technical leadership and collaboration, process adherence and quality assurance oversight, and documentation and process improvement.

Requirements

  • Bachelor’s or Master’s degree in Computer Science, Software Engineering, or a related field
  • 10+ years of experience in software design and development, with a focus on embedded systems and real-time computing
  • Expertise in C, C++, and Python for embedded and real-time applications
  • Strong background in embedded Linux, RTOS, and bare-metal system design
  • Experience in software architecture design, including multi-threaded, multi-core processing, and inter-microprocessor communications
  • Familiarity with static code analysis tools such as SonarQube, Cppcheck, Pylint, or CodeSonar
  • Experience with design-for-test and designing for upgradeability
  • Proficiency in integrating and supporting CI/CD pipelines within development workflows
  • Strong problem-solving, debugging, and troubleshooting skills

Responsibilities

  • Develop high-level software architecture for embedded and real-time systems, ensuring scalability, maintainability, reliability, correctness, and performance
  • Define software interfaces, communication protocols, and integration strategies for complex, multi-system environments
  • Ensure software solutions align with mission requirements, safety standards, and industry best practices
  • Provide technical guidance to software development teams, enforcing best practices in architecture and design
  • Collaborate with systems engineers, firmware developers, and hardware teams to ensure seamless integration
  • Act as a subject matter expert, contributing to design reviews and architectural decisions
  • Ensure adherence to established code review processes, static analysis, and verification protocols
  • Collaborate with quality assurance teams to uphold software safety and security standards, utilizing tools such as SonarQube, Cppcheck, Pylint, or CodeSonar
  • Support the integration of CI/CD pipelines to enhance development efficiency and maintain architectural integrity
  • Maintain comprehensive architecture documentation, design rationale, and implementation guidelines
  • Establish and optimize software development processes, ensuring efficiency and quality control
  • Stay informed on emerging trends, industry standards, and best practices in space software architecture

Preferred Qualifications

  • Experience in space industry software development, including flight software and ground systems
  • Familiarity with NASA-STD-8739.8 and ESA ECSS standards (e.g., ECSS-E-ST-40C, ECSS-Q-ST-80C)
  • Experience with safety-critical software development (e.g., DO-178C, ISO 26262)
  • Knowledge of hardware/software co-design and FPGA-based processing architectures
  • Experience with ARM-based devices
This job is filled or no longer available