Software Architect

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

Share this job:

Disclaimer: Please check that the job is real before you apply. Applying might take you to another website that we don't own. Please be aware that any actions taken during the application process are solely your responsibility, and we bear no responsibility for any outcomes.