Capgemini Engineering is seeking a Lead/Manager Embedded Software Engineer to lead and develop C/C++ bare-metal, firmware, and software tests/apps targeting ARM CPUs and DSPs in pre-silicon and post-silicon environments, ensuring the robustness of systems through testing and automation.
Requirements
- Develop, Compile, Run & Debug C/C++ Bare-metal/Firmware/Software tests/apps (targeting ARM CPU’s/DSP) in Pre-Silicon (Virtual, Emulation and FPGA platforms) & Post-Silicon (Bring up boards, non-form-factor) setups
- Perform unit testing, end-to-end testing of SW/HW features in pre/post silicon setups. Run tests for performance, power characterization in pre/post silicon setups.
- Experience with custom hardware bring-up, using schematics and layout files
- Comfortable with RTOS concepts (threads, synchronization, scheduling)
- Develop and optimize low-level device drivers for peripherals and sensors (IMU, depth cameras, etc.)
- Experience in using SW toolkits, code integration, automation using python.
- Understanding of firmware architecture and build systems (e.g., CMake, Makefiles)
Responsibilities
- lead and develop, compile, run, and debug C/C++ bare-metal, firmware, and software tests/apps targeting ARM CPUs and DSPs
- work in pre-silicon (virtual, emulation, and FPGA platforms) and post-silicon (bring-up boards, non-form-factor) environments
- leading and performing unit testing, end-to-end testing of software/hardware features utilizing an established testing framework
- build automation scripts and set up regression testing
- Develop, Compile, Run & Debug C/C++ Bare-metal/Firmware/Software tests/apps (targeting ARM CPU’s/DSP) in Pre-Silicon (Virtual, Emulation and FPGA platforms) & Post-Silicon (Bring up boards, non-form-factor) setups
- Perform unit testing, end-to-end testing of SW/HW features in pre/post silicon setups. Run tests for performance, power characterization in pre/post silicon setups.
- Develop and optimize low-level device drivers for peripherals and sensors (IMU, depth cameras, etc.)
Other
- Provide technical leadership throughout all stages of the product development process.
- Regular client interactions and management. Including requirement refinement, scope discussions, etc.
- Strong written, verbal, and interpersonal skills including excellent client facing skills - the ability to work effectively with customers to define software solutions
- Experience with leading teams of at least 5 engineers.
- Experience leading off-shore/remote teams.