Software Architect

Toronto, Ontario, Canada

Full Time

a few seconds ago

Job description

Kepler is on an audacious mission to deliver Internet connectivity to space, creating the infrastructure to support the rapidly increasing data needs of the space economy. With 23 satellites launched to date and our optical constellation on the horizon, our ambition is to improve access to space-generated data, whether in LEO, MEO, GEO, or beyond! Kepler is hard at work innovating and continuing to grow and expand our most important asset – the Team! 

Kepler is seeking an experienced Software Architect to lead the design and development of robust, high-performance software solutions for space systems. This role requires deep technical expertise in software architecture, embedded systems, and real-time computing, ensuring software reliability and scalability for mission-critical applications. 
The ideal candidate will have over 10 years of experience in software design, a strong understanding of embedded Linux, RTOS, and bare-metal systems, and proficiency in C, C++, and Python. 

Breakdown of Responsibilities: 
System Architecture & Design: 40% 
Technical Leadership & Collaboration: 30% 
Process Adherence & Quality Assurance Oversight: 20% 
Documentation & Process Improvement: 10% 

Responsibilities:

  • System Architecture & Design:
  • 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. 

  • Technical Leadership & Collaboration:
  • 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. 

  • Process Adherence & Quality Assurance Oversight:
  • 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. 

  • Documentation & Process Improvement:
  • 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. 

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 withdesign-for-test and designing for upgradeability. 
  • Proficiency in integrating and supporting CI/CD pipelines within development workflows. 
  • Strong problem-solving, debugging, and troubleshooting skills. 

Bonus Points:

  • 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. 
Kepler Communications is committed to fostering an inclusive, accessible environment, where all employees and customers feel valued, respected and supported. We welcome applications from: Women, Aboriginal persons, persons with disabilities, ethnic minorities, visible minorities, people who identify as LGBTQ+ and others who may contribute to diversification in our workplace.

As part of our commitment to accessibility for all persons with disabilities, Kepler will, upon the request of the applicant, provide accommodation during the recruitment process to ensure equal access to applicants with disabilities. Please contact our People & Culture team, through our Career Page to make your accommodation needs known and we will consult with you to ensure suitable accommodation is provided.

Related Jobs

Senior Software Engineer II- {Python/C++}

📍 Toronto, Ontario, Canada

🕒 Full Time

📌 7 days ago

Intermediate C++ Software Developer

📍 Kanata, Canada

💰 $70-85k

🕒 Full Time

📌 11 days ago

Intermediate .NET Developer/Analyst

📍 Brampton, Canada

💰 $65-95k

🕒 Full Time

📌 12 days ago

Apply now