Job Title: Embedded C++ Developer
Location: Montreal, Canada
Job Type: Full-Time
Position Summary
We are seeking a highly skilled Embedded C++ Developer with strong Linux experience to design and develop robust embedded software solutions for advanced hardware platforms. The ideal candidate will have extensive experience in C++ programming within Linux-based embedded environments, including system-level development, multi-threaded applications, and hardware-software integration.
Key Responsibilities
- Design, develop, and maintain embedded applications using C++ in Linux environments.
- Develop system-level software, middleware, and application layers for embedded platforms.
- Perform Linux system programming including multi-threading, IPC, sockets, and memory management.
- Develop and integrate device drivers (user space and kernel space as required).
- Customize Linux kernel, configure device trees, and support board bring-up activities.
- Work closely with hardware teams for debugging and hardware-software integration.
- Implement and maintain communication protocols (SPI, I2C, UART, CAN, USB, Ethernet).
- Optimize software performance, memory usage, and system stability.
- Conduct unit testing, integration testing, and code reviews.
- Troubleshoot and resolve system-level issues using debugging tools such as GDB, Valgrind, and Trace tools.
- Maintain technical documentation including design specifications and test reports.
Required Qualifications
- Bachelor’s degree in Computer Science, Electronics Engineering, Electrical Engineering, or related field.
- 4–9 years of experience in embedded software development.
- Strong proficiency in C++ (C++11/14/17 standards preferred).
- Solid experience with Embedded Linux systems.
- Strong understanding of object-oriented programming (OOP) principles.
- Experience with Linux system programming (threads, synchronization, signals, file systems).
- Experience with cross-compilation environments and build systems (Yocto, Buildroot, CMake).
- Familiarity with version control systems such as Git.
- Strong debugging and problem-solving skills in Linux-based environments.
Emplois favoris
Vous devez être connecté pour pouvoir ajouter un emploi aux favoris
Connexion ou Créez un compte