Senior Embedded Software Designer
Job Summary
Key Responsibilities:
Design develop andmaintainreliable high-quality embedded software for both spacecraft and ground-based systems supporting a growing fleet of satellites
Design and implement secure communicationscapabilities including encryption authentication and key exchange for next-generation data links
Build andmaintainlow-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 withcross-functionalteams to define system requirements debug complex issues and evolve system architecture
Identifyperformance 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
Required Skills & Qualifications:
3 years of experience developing embedded software for complex high-reliability systems
Bachelors degree in Computer Science Computer Engineering Electrical Engineering or equivalent practical experience
Strong software engineering fundamentals including system design debugging testing performance analysis and maintainable code development
Proficiencyin 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 software for embedded Linux and/or RTOS environments including familiarity with build systems such asYocto/OpenEmbeddedand operating systems such asFreeRTOS
Experience developing low-level embedded Linux components including kernel modules device drivers and device tree integrations
Experience developing andmaintainingautomated 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
Proficiencywith modern software development workflows and tools including Git-based version control and code review practices
Bonus Points:
Masters degreein 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 interfacesnetlink 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
Required Experience:
Senior IC
About Company
Salary Range: $159,288 - $209,288 CAD Actual total compensation will be determined at the Company’s discretion and is based on a variety of job-related factors, which may include, but are not limited to, relevant knowledge, skills, experience, performance, and education and/or trainin ... View more