
Software Architect

Kepler Communications
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:
Similar Remote Jobs
