What are the responsibilities and job description for the Firmware Developer position at Capgemini?
Role Overview: We are seeking a Firmware Developer to join our team. This individual will primarily work on an embedded system product, focusing on C/C application-level code and integrating libraries into our codebase with proper abstraction layers. While low-level hardware experience (e.g., I2C, microcontrollers) is not a primary need, a strong understanding of software engineering principles and object-oriented design is essential.
Location: Vancouver, GVA, Victoria (Hybrid: 2 days/week on-site)
Key Responsibilities:
- Develop and maintain firmware for embedded system products.
- Write and integrate C/C application-level code.
- Implement and manage proper abstraction layers in the codebase.
- Collaborate with the project team to ensure seamless integration and functionality.
Preferred Qualifications:
- Experience in firmware development for embedded systems.
- Hands-on experience with software engineering principles, design patterns, and object-oriented design (beyond academic coursework).
- Python programming experience.
- Familiarity with IP networking, Linux, and Windows systems.
- DevOps experience (e.g., Jenkins, Ansible, GitHub Actions).
Work Environment:
- Hybrid work model: 2 days/week on-site, with the potential for remote work depending on performance and relationship-building with the project team.