System Software Verification Engineer
Capgemini
Job Description
Choosing Capgemini means choosing a place where you’ll be empowered to shape your career, supported by a collaborative global community, and inspired to reimagine what’s possible. Join us in helping leading Consumer Products and Retail Services (CPRS) organizations unlock the value of technology and drive scalable, sustainable growth.
Your Role
As a System Software Verification Engineer, you will be responsible for validating embedded software components across pre-silicon and post-silicon platforms. You will work on board bring-up, driver validation, and system-level testing for ARM-based platforms, ensuring robust and reliable software delivery. Your role will involve close collaboration with development teams to analyze failures, automate test cases, and maintain test frameworks for continuous integration and verification.
In this role, you will:
- Perform board bring-up activities for software components such as bootloaders, platform managers, Linux Kernel, Linux drivers, Baremetal drivers, and applications on ARM-based boards.
- Conduct testing and verification of Linux Kernel and drivers including I2C, Flash, USB, Ethernet, PCIe, and DDR memory.
- Develop and execute test plans to evaluate firmware functionality, security, and efficiency using emulation and evaluation boards.
- Analyze, debug, and track test failures; collaborate with development teams to resolve issues.
- Run regression tests, triage issues, log defects, and follow up on closure.
- Automate functional and system-level tests using Python and integrate them into the test automation framework.
- Maintain and update test artifacts in line with evolving test cases and frameworks.
Your Profile
- B.E/B.Tech or M.E/M.Tech in Electronics & Communications or Computer Science.
- Hands-on experience in verification and testing of Linux-based embedded systems.
- Proficient in Linux device driver validation on Linux, Baremetal, and RTOS platforms.
- Skilled in compiling, cross-compiling, debugging, and deploying Bootloader, TF-A, Linux Kernel, Device Tree, Middleware, and Baremetal applications using JTAG debuggers and emulators.
- Strong understanding of SoC/processing technologies such as ARM, RISC-V, or x86, including MMU, interrupt handling, and cache management.
- Experience with peripheral interfaces like UART, I2C, SPI, USB, SD, eMMC, QSPI, and PCIe.
- Capable of defining, designing, and developing manual and automated test cases for embedded systems.
- Programming skills in C/C++, Makefile, linker scripts, and scripting languages like Python, Shell, or Tcl.
- Familiarity with version control and CI/CD tools such as GIT, Jenkins, Pytest.
- Exposure to tools like VIVADO, VITIS, and configuration management platforms like JIRA and Confluence is a plus.
What You’ll Love About Working Here
We value flexibility and support our employees with remote work options and adaptable schedules to maintain a healthy work-life balance. Our inclusive culture brings together diverse professionals committed to growth, innovation, and excellence. You’ll have access to continuous learning opportunities and certifications in emerging technologies like cloud and AI.
About Us
At Capgemini Engineering, the world leader in engineering services, we bring together a global team of engineers, scientists, and architects to help the world’s most innovative companies unleash their potential.