Logo
Capgemini USAAvance Consulting

Firmware Engineer

Capgemini USAAvance Consulting, Waukesha, Wisconsin, United States, 53188

Save Job

Job Description: • Collaborate with systems and hardware teams to gather and capture requirements. • Develop software which meets quality, reliability, performance, and testability requirements. • Work with global teams and architects on generating consistent design and architectural improvements for MR platforms. • Conduct design and code reviews to ensure best practices. • Plan and conduct work using the Scaled Agile Framework. • Support planning and execution through user stories to meet commitment made by scrum team. • Port, restore, and/or implement new SW algorithms which exercise custom FPGA interfaces. Work may include the following activities: • Develop SW interfaces between kernel and user-space environments in an embedded RTOS running on Commercial Off-The-Shelf CPUs. • Reverse engineer legacy implementation and behaviors; perform runtime testing as needed to collect information. • Review interface documentation. • Discuss register interfaces with Hardware SMEs for clarity/understanding. • Produce and document reusable design modules applicable to multiple embedded processor environments. • Communicate design ideas to firmware architects for review. • Create test plans for verification and execute them. Learn/apply skills for using our development environment, including: • Conan (a C++ packaging tool) • Docker • Jenkins • Linux • Artifactory • GitLab / git • Own and maintain the readiness of software (SW) targets with the correct sets of binary files. • Deploy new SW binaries to targets as requested. • Perform regression testing of SW changes as requested. • Bachelor’s degree or foreign degree equivalent in Computer Engineering, Electrical Engineering, Computer Science, or a related field. • 5+ years of experience developing object oriented (OO) software leveraging object-oriented design methodology. • 5+ years of experience developing embedded software using C++ and object-oriented design. • Familiarity using standard tools for embedded software development such as emulators, debuggers, analyzers. • 3+ years of experience using continuous integration and automated testing. • 3+ years of experience working with a Realtime OS such as VxWorks. • Experience using a Linux development environment and containers. • Experience using source control such as Git.