Logo
Capgemini

Associate Embedded Software Engineer - Embedded Software Engineer

Capgemini, Washington, District of Columbia, us, 20022


Job description:

Design and implement components at all layers of the system, e.g. kernel, synchronization primitives, resource allocators, memory management, security, I/O systems, persistence, etc. Design and implement drivers and services that operate efficiently in a constrained environment yet when pressed can efficiently deliver large volumes of data with low-latency and high-bandwidth. Debug complex, system-level, multi-component issues that typically span across multiple layers from kernel to application. Profile performance problems and drive optimizations that span the entire software stack. Bring up new devices and lead debugging and performance tuning exercises that span multiple hardware/firmware/software engineers. Understand software components from multiple partner teams, lead the integration of those components into the unified product code base, and drive their continued development. Key responsibilities:

You will architect, design, build and test embedded firmware systems for future AR, VR, and new platforms. In this role, you will participate in the definition of architecture and implementation of designs in both prototype and shipping consumer products as well as demonstrate good development practices and seamless collaboration. Our teams deliver all embedded software from low-level device drivers, to computer vision, to machine learning algorithms! Design and implement components at all layers of the system, e.g. kernel, synchronization primitives, resource allocators, memory management, security, I/O systems, persistence, etc! Design and implement drivers and services that operate efficiently in a constrained environment yet when pressed can efficiently deliver large volumes of data with low-latency and high-bandwidth. Debug complex, system-level, multi-component issues that typically span across multiple layers from kernel to application. Profile performance problems and drive optimizations that span the entire software stack. Bring up new devices and lead debugging and performance tuning exercises that span multiple hardware/firmware/software engineers. Understand software components from multiple partner teams, lead the integration of those components into the unified product code base, and drive their continued development including source control and design documentation. Required Skills:

Experience in Embedded systems, C/C++. Experience with debugging tools such as GDB, oscilloscope, analyzer, and JTAG. RTOS (preferably Zephyr), Embedded Linux, embedded MCU and DSP architectures. Proficiency in Python or any other scripting language for tooling and test automation. Experience in peripheral drivers like PCIe, UART, I2C, SPI is a plus. Outstanding analytical and problem-solving skills. Always eager to learn and improve.

#J-18808-Ljbffr