Embedded C Software Engineer
Nepean, ON - Hybrid
Job Duties:
- Design, implement, test, and document the Factory Boot Manager - the Linux and U-boot based embedded software for testing complex HSM hardware during the manufacturing and field failure analysis processes
- You will join the HSM Embedded Software Development team
- You will work in a very dynamic environment and will heavily interact with the hardware, software, and manufacturing engineering teams
- You will participate in requirements analysis, design discussions, planning sessions and effort estimates.
- You will heavily invest in documenting and testing your designs including test automation
- HSM = Hardware Security Module
Mandatory:
- Solid work experience in embedded software development in Linux/U-Boot
- Very strong C, reasonable C++, Python and Linux shell scripting
- Experience with new boards bring-up
- Experience with writing software using hardware interfaces such as I2C, SPI, UART, SMBus, PCI-E, NVMe, NOR Flash, DDR, EEPROM, GPIO, USB
- Linux kernel modules
- Good understanding of multi-threading and inter process communication
- Ability to design complex systems and write functional, and design specifications
Preferred Skills:
- Experience with ARM SoCs
- TCP/IP networking
- REST, gRPC
- Containers, build systems, CI/CD, Yocto, Gitlab, Jira