Software Engineer
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+15 more
Job description
The Software Engineer involves collaborating with a team and individual efforts to design and maintain solutions in the effective and efficient operation of energy storage (battery) systems, prototyping and implementing various battery management system (BMS) interfacing solutions, 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., * Collaborate with battery engineers, firmware developers, and system integrators to understand tooling needs and requirements for battery management systems (BMS) and related applications.
- Design, develop, and maintain solutions and utilities to automate battery testing, data analysis, simulation, and optimization processes.
- Implement software solutions to monitor battery performance metrics, conduct diagnostics, and facilitate predictive maintenance.
- Create user-friendly interfaces and dashboards for visualizing data and configuring parameters related to battery management and testing.
- Integrate tools with existing frameworks and platforms, ensuring compatibility and scalability.
-
Document tool functionality, usage guidelines, and best practices for internal teams., * Factory - The worker may be subject to hazards. Includes a variety of physical conditions, such as proximity to moving mechanical parts, vibration, moving vehicles, electrical current, exposure to temperature changes or exposure to chemicals. While performing the duties of this job, the employee may be exposed to fumes, airborne particles, odors, dust, mists, and gases. The noise level in the work environment can be loud. Required to have close visual acuity to perform an activity such as: preparing and analyzing data and figures; transcribing; viewing a computer terminal; extensive reading; visual inspection involving small defects, small parts, and/or operation of machines (including inspection); using measurement devices; and/or assembly or fabrication parts at distances close to the eyes. Machinery operation requires the use of safety equipment to include but not limited to eye safety glasses, hearing protectors, work boots, and lab coats. May be required to exert up to 50 pounds of force occasionally to lift, carry, push, pull or otherwise move objects, including the human body.
- Customer/Partner Locations - Employee may visit customer or partner locations that may be comprised of office, manufacturing floor, laboratory environments and construction sites depending on the location and reason for visit.
Requirements
- Proficiency in multiple programming languages such as C/C++, Rust, Javascript, Python, or Java.
- Experience with data analysis tools and libraries (e.g., Pandas, NumPy) for processing and interpreting battery performance data.
- Familiarity with version control systems (e.g., Git), build tools (e.g., CMake), and continuous integration (CI) pipelines.
- Familiarity with issue/project tracking software (e.g., JIRA).
- Ability to obtain strong understanding of battery management systems (BMS), battery modeling, and simulation techniques.
- Knowledge of communication protocols used in battery systems (e.g., CAN, Modbus, HTTP) and familiarity with hardware-in-the-loop (HIL) testing.
- Excellent problem-solving skills and attention to detail.
- Strong communication and collaboration skills, with the ability to work effectively in a cross-functional team environment.
- Experience with real-time operating systems (RTOS) and embedded software development.
- Understanding of regulatory standards and safety protocols related to power plant equipment.
- Familiarity with agile methodologies and DevOps practices., * Bachelor’s degree in computer science, software engineering, or related field required.
- Master’s degree in computer science, software engineering, or related field preferred.
- Minimum of 2 years’ experience.
Travel
- Local Travel: 10-25%
- Overnight/North America: 10-25%
Working Conditions
- Office Environment - Must be able to remain in a stationary position 50% of the time and occasionally move about inside the office to access file cabinets, office machinery, etc. Required to have close visual acuity to perform an activity such as: preparing and analyzing data and figures; transcribing; viewing a computer terminal; extensive reading. May be required to exert up to 25 pounds of force occasionally to lift, carry, push, pull or otherwise move objects, including the human body.
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
How We Built a Worry-Free System That Runs for 10+ Years – And What We’d Do Again
A Guide to Green Tech and Green IT Careers
Highest Paying Tech Companies for Developers
Top-Paying Tech Jobs (with Salaries)