Skip to content
← Back to job listings

Embedded Software Designer

Kepler · Toronto, Canada

External listingfull-time15 days ago

About The Role

Join our team as an Embedded Software Engineer, where you'll be responsible for the design, development, and maintenance of high-quality embedded software for both spacecraft and ground-based systems. You'll collaborate closely with cross-functional teams, participate in software architecture discussions, and provide technical leadership to junior engineers. Enjoy benefits such as unlimited vacation, comprehensive health coverage, stock options, and flexible work options.

  • Design, develop, and maintain reliable, high-quality embedded software for spacecraft and ground-based systems.
  • Implement secure communications capabilities, including encryption, authentication, and key exchange for next-generation data links.
  • Collaborate closely with cross-functional teams to define system requirements, debug complex issues, and evolve system architecture.
  • Strong software engineering fundamentals, including system design, debugging, testing, performance analysis, and maintainable code development
  • Strong cross-functional collaboration and communication skills, with the ability to work effectively across software, hardware, and operations teams
  • Experience developing and maintaining automated test frameworks, validation tooling, or hardware/software integration test environments
  • Proficiency in C/C++ for embedded systems, including concurrency, interrupt handling, memory-mapped peripherals, and hardware communication interfaces such as SPI, I2C, UART, and CAN
  • Experience developing low-level embedded Linux components including kernel modules, device drivers, and device tree integrations
  • Proficiency with modern software development workflows and tools, including Git-based version control and code review practices
  • 4+ years of experience developing embedded software for complex, high-reliability systems
  • Bachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering, or equivalent practical experience
  • Experience developing software for embedded Linux and/or RTOS environments, including familiarity with build systems such as Yocto/OpenEmbedded and operating systems such as FreeRTOS
  • Master's degree in Computer Science, Computer Engineering, or related field
  • Experience developing software for aerospace applications
  • Experience implementing embedded security solutions such as secure boot, hardware security modules (HSMs), certificate/key management, authentication, or encrypted communications
  • Familiarity with Linux networking concepts and infrastructure, including routing, interfaces, netlink, or packet-processing pipelines
  • Strong knowledge of computer networking and modern networking protocols
  • Experience developing multi-stage bootloaders
  • Experience with RTL (Verilog and/or VHDL) and embedded SoCs

This is an external listing. JobSpring does not represent or verify the employer. Report this listing