Job Title : Client Software Engineer (Battery Management Systems)
Duration : 9+ Months
Job Description :
We are seeking a highly skilled Client Software Engineer contractor to support the development of Battery Management System (Client) software. The ideal candidate will have a strong background in embedded systems development with a focus on object-oriented C++ and RTOS environments.
Key Responsibilities :
- Design, implement, and test Client software using modern C++ (C++17 or later)
- Develop software following trunk-based development processes using pull requests and gating checks (static analysis, unit tests)
- Create and maintain unit tests using Google Test
- Collaborate with cross-functional teams using Agile tools like Jira
- Generate and maintain in-source documentation using Sphinx, Doxygen, and PlantUML
- Utilize static analysis tools such as Axivion to ensure code quality
- Work within an RTOS environment, specifically SafeRTOS (or similar FreeRTOS API)
- Manage source control and code review via GitHub and Graphite
- Configure build systems using CMake
Required Skills :
Strong proficiency in Object-Oriented C++ (C++17+)Experience with Unit Testing frameworks (preferably Google Test)Hands-on experience with RTOS (SafeRTOS or FreeRTOS)Familiarity with static code analysis tools (Axivion preferred)Version control expertise with GitHubExperience with trunk-based development processesStrong documentation practices using Sphinx, Doxygen, and Plant UMLBuild configuration experience with CMakeNice to Have :
Background in battery management systems or automotive embedded systemsExperience in regulated safety-critical software environments