Location: Ottawa, Ontario, Canada
Category: Software Development
Salary: 70,000 - 90,000 CAD / yearly
Full-time
We are seeking an Embedded Software Engineer to develop embedded software in Linux and U-Boot for custom hardware platforms. The ideal candidate will have experience with board bring-up for new hardware prototypes and interfacing with hardware using various protocols.
- Develop embedded software in Linux and U-Boot for custom hardware platforms.
- Perform board bring-up for new hardware prototypes.
- Interface with hardware using I2C, SPI, UART, CAN, I_C Bus, PCIe, NVMe, NOR Flash, DDR, EEPROM, GPIO, and USB.
- Configure and manage Linux kernel, root filesystem (RootFS), device trees, and systemd.
- Design and implement Linux kernel modules and device drivers.
- Work with Yocto build systems, manage builds using GitLab.
- Write applications and scripts using C, C++, Go, Python, and Bash scripting.
- Apply knowledge of multi-threading and inter-process communication (IPC) for system performance and reliability.
- Collaborate with system architects to design complex embedded systems and write detailed technical documentation and specifications.
- Bachelor's degree in Computer Engineering, Computer Science, Electrical Engineering, or related field.
- Proven experience with embedded software development in Linux environments.
- Proficiency in programming languages such as C, C++, Go, Python, and Bash scripting.
- Knowledge of Linux kernel, device trees, and build systems like Yocto.
- Strong understanding of hardware interfaces and protocols.
- Competitive salary and benefits package.
- Opportunity to work on cutting-edge technology projects.
- Collaborative and innovative work environment.
- Join a dynamic team working on exciting embedded software projects.
- Opportunity for professional growth and development.
- Contribute to the development of advanced embedded systems.