Eos Energy Enterprises Inc. Edison , NJ 08817
Posted 1 week ago
At Eos, we believe in great chemistry. The combination of core elements into an amazing product and the mixture of skills into a unified team. We seek the best talent to just us in our mission to bring affordable, sustainable, clean energy to all. Come change the world with us.
The Senior Software Engineer involves collaborating with a team to design and maintain efficient battery management systems, prototyping and implementing device controllers, configuring software on Linux-based computers, adhering to safety standards when working with high-voltage systems, and testing software applications in real-world factory settings to ensure they function correctly.
Responsibilities
Lead a team of engineers to design, develop, and maintain battery management systems (BMS) for efficient and reliable operation.
Configure and deploy C/C++ software applications on embedded environments and Linux-based single-board computers
Rapidly prototype and implement device controllers (power supplies, relay boards, telemetry capturing etc.)
Design of custom software as well as integration of commercially available software.
Use Software Architecture principles to lay out larger projects for team development
Create test and validation plans for new products under development.
Help implement Test Driven Development and Agile development principles in embedded and Linux-based products.
Collaborate with other groups in engineering in the development of automated testing platforms of current and new products.
Lead and conduct root cause failure investigations.
Collaborate with and support other groups in the company in developing user-friendly tools for troubleshooting and commissioning.
Participate in future product roadmap development.
Ensure a safe work environment by following health and safety guidelines and policies.
Knowledge, Skills, and Abilities
Expertise in C/C++ programming languages, including experience with software development tools such as compilers, debuggers, and version control systems.
Ability to rapidly prototype software solutions using C/C++ and other relevant programming languages, frameworks, and libraries.
Knowledge of embedded systems development, including familiarity with microcontrollers and real-time operating systems (RTOS).
Proficiency in working with Linux-based systems, including experience with command-line tools, shell scripting, and system administration tasks.
Familiarity with communication protocols commonly used in battery systems, such as CAN bus, Modbus, SPI, and I2C.
Ability to collaborate effectively with cross-functional teams, including hardware engineers, controls engineers, and data scientists.
Knowledge of software design patterns to create scalable and maintainable software architectures.
Knowledge of software development best practices, including code optimization, testing methodologies, and documentation standards.
Strong problem-solving skills and the ability to troubleshoot complex software issues in a timely manner.
Excellent communication skills and the ability to clearly articulate technical concepts to non-technical stakeholders.
Desired Skills
Understanding of battery management systems (BMS) and experience in developing software for BMS applications.
Experience in developing software tools such as diagnostic tools, calibration software, and automated testing frameworks.
Education and Experience
Bachelor's degree in electrical or software engineering required.
Minimum of 8 years' experience
Extensive experience in firmware or software development including embedded platforms and Windows / Linux based systems.
Experience in simulation and modelling tools is a plus.
Travel
Local Travel
Overnight/North America: 10-25%
Working Conditions
Eos Energy Enterprises Inc.