What are the responsibilities and job description for the Lead Embedded Software Engineer position at Capgemini Engineering?
Job description:
We are seeking a highly seasoned Lead/ Manager Embedded Software Engineer to join our dynamic team. In this role, we will lead and develop, compile, run, and debug C/C bare-metal, firmware, and software tests/apps targeting ARM CPUs and DSPs. You will work in pre-silicon (virtual, emulation, and FPGA platforms) and post-silicon (bring-up boards, non-form-factor) environments. Your tasks will include leading and performing unit testing, end-to-end testing of software/hardware features, and running performance and power characterization tests. Collaboration with multi-functional teams, including system validation, software, firmware, and hardware teams, is crucial to complete pre-silicon and post-silicon test plans successfully. Additionally, you will build automation scripts and set up regression testing to ensure the robustness of our systems!
Key responsibilities:
· Provide technical leadership throughout all stages of the product development process.
· 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. Understand HW register spec’s, Memory maps and develop/debug firmware
·Work closely with members of the System Validation, Software, Firmware, Hardware teams to complete the execution of pre-silicon/post-silicon test plan. Creating automation scripts, setting up regression
·Strong written, verbal, and interpersonal skills including excellent client facing skills - the ability to work effectively with customers to define software solutions
· Experience in developing code, bring-up & debugging in setups (SW HW) having multi-layered Firmware/Software stacks, interrupts, doorbells , IPC’s .
· Experience in developing (build run) bare-metal tests on ARM based CPU’s. Experience in using SW toolkits, code integration, automation using python.
· Experience in post-silicon bring-up and flows for SoC like IP. Experience with lab system debug with logic analyzers, scopes, meters, etc
Required Skills
· 10 years’ experience in developing C/C based embedded software, firmware, Embedded software development in C.
· Experience providing technical leadership for teams of at least 3-5 developers.
· Experience running tests on FPGA and/or Emulation platforms for SoC level or IP level.
· Experience in power tests and evaluation on prototyping platforms. Android development experience
· DV experience of developing tests at complex Subsystem or SOC level test-benches, creating C/C tests that run on ARM/DSP cores
· Bachelor or master’s in science or equivalent