19 Sep
|
KEPLER
|
Toronto
- We’re on the hunt for a top-tier Embedded Software Engineer. Your focus will be on software development and maintenance required for both space and ground-based assets for a growing fleet of spacecraft
- You’ll be relied upon for input and decisions that will directly impact design and operation
- Design, develop, and maintain reliable, high-quality embedded software for both spacecraft and ground-based systems supporting a growing fleet of satellites
- Design and implement secure communications capabilities, including encryption, authentication, and key exchange for next-generation data links
- Build and maintain low-level software components including device drivers, kernel modules, hardware interfaces, and platform services
- Develop automated tests, validation tools, and technical documentation to support robust software delivery and long-term maintainability
- Participate in software architecture discussions, design reviews, and code reviews to ensure software quality and system reliability
- Collaborate closely with cross-functional teams to define system requirements, debug complex issues, and evolve system architecture
- Identify performance gaps, reliability risks, and architectural shortcomings in existing systems, and drive improvements across the software stack
- Provide technical leadership, mentorship, and guidance to junior engineers while contributing to engineering best practices and development standards
Benefits
- Unlimited Vacation
- Comprehensive Health Coverage
- Stock Options
- Flexible & Hybrid Work Options
- Career development- Strong software engineering fundamentals, including system design, debugging, testing, performance analysis, and maintainable code development
- Proficiency with modern software development workflows and tools, including Git-based version control and code review practices
- 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
- 4+ years of experience developing embedded software for complex, high-reliability systems
- Experience developing low-level embedded Linux components including kernel modules, device drivers, and device tree integrations
- 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 and maintaining automated test frameworks, validation tooling, or hardware/software integration test environments
- Strong cross-functional collaboration and communication skills, with the ability to work effectively across software, hardware, and operations teams
- Bachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering, or equivalent practical experience
- 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
- Experience developing multi-stage bootloaders
- Strong knowledge of computer networking and modern networking protocols
- Experience with RTL (Verilog and/or VHDL) and embedded SoCs
📌 Embedded Software Designer (Toronto)
🏢 KEPLER
📍 Toronto