Software Engineer
Role details
Job location
Tech stack
Job description
As a Senior Software Engineer, you will serve as a technical leader and architect across our clean energy edge platforms, including EMS, PPC, SCADA, and Logger. You will drive the design and implementation of scalable, high-performance renewable energy control systems.
This role demands deep expertise; strategic thinking; and the ability to mentor and influence engineering teams. You will collaborate with cross-functional stakeholders to support technical roadmaps, maintain architectural standards, and ensure the delivery of robust, maintainable, and innovative software solutions that accelerate the clean energy transition., * Technical Strategy - Collaborate with product and engineering leadership to shape long-term technical strategy and roadmap.
- Software Development - Collaborate with Edge Development teams to implement integrated software product offerings.
- Controls Development Integration - Integrate, maintain, and occasionally develop robust controls features, from application interfaces to complex controls algorithms.
- Testing & Quality Assurance - Oversee comprehensive unit, integration, and end-to-end tests using modern testing frameworks to ensure code reliability and maintainability.
- Ensure proper security best practices are followed for all aspects of development and deployment of production systems/services.
- Collaborate with DevOps teams to implement CI/CD pipelines, containerization strategies, and monitoring solutions for deployed applications.
- Code Reviews - Participate in code reviews, provide constructive feedback to team members.
- Technical Innovation - Stay current with emerging technologies and industry trends, proposing and implementing new tools and approaches that improve development efficiency and product capabilities.
- Other duties as assigned.
Requirements
-
Education - B.S/M.S in Software Engineering, Computer Science, Electrical Engineering, or related technical field preferred, or equivalent practical experience.
-
Experience - 8+ years of professional software or controls development experience with a proven track record of delivering complex control system designs.
-
Technical Skills:
-
C++ (C++17/20), fluency in other languages is a plus.
-
Experience with embedded or resource-constrained Linux systems.
-
Linux shell scripting/bash.
-
Git and GitLab CI/CD workflows.
-
Real-time system experience - Understanding deterministic behavior, timing constraints, and concurrency.
-
Version Control & Collaboration - Proficiency with Git workflows, code review processes, and collaborative development practices in distributed teams.
-
Testing Practices - Experience with automated testing frameworks and methodologies, including unit testing, integration testing, and test-driven development (TDD).
-
DevOps Awareness - Familiarity with CI/CD pipelines, deployment automation, and monitoring tools. Experience with GitLab CI, GitHub Actions, or similar platforms.
-
Communication Skills - Excellent verbal and written communication skills with the ability to collaborate effectively with technical and non-technical stakeholders.
-
Industry Interest - Genuine interest in clean energy, sustainability, and making a positive environmental impact through technology solutions.
Preferred Qualifications:
- Additional languages: C#, Python, React, Node.js, SQL
- Broad protocol experience: MQTT, Modbus, DNP3, OPC-UA
- Embedded databases: SQLite or similar
- Containerization: Docker/Podman
- Hardware I/O experience: Serial ports, GPIO, hardware debugging
- Data acquisition systems - Polling strategies, multi-protocol handling, time-series data
- Remote diagnostics and field deployment - OTA updates, remote debugging, fault tolerance
- System integration - Working with heterogeneous devices, protocols, and data formats
- Knowledge of energy power industry standards, like NERC and/or ENTSO-E.
- Background in applications for the renewable and/or traditional energy sector.
- Problem-Solving Skills - Strong analytical and debugging skills with the ability to troubleshoot complex technical issues across the full stack.
Work Environment:
- Hybrid - Office Setting, primarily in cubicles, and partial remote.
- Ability to sit or stand (standing desk provide upon request) at a computer terminal for an extended period.
Physical Demands:
- While performing the duties of this job, the employee is regularly required to communicate (talk/sign/type/write) and operate a computer, telephone (or alternative), keyboard (or typing device), etc.
- Specific vision abilities required by this job include close vision requirements due to computer work.
- Ability to uphold the stress of traveling.
Benefits & conditions
This is a salaried exempt position, M-F, with additional weekend work as required. Salary Range$145,360.00 - $218,040.00
What We Offer:
At Stem, you will work in a growing, innovative, mission-driven company with talented colleagues that have a passion for building renewable energy systems. Stem offers competitive compensation as well as a comprehensive set of benefits to support the health and wellness of our employee including:
- A competitive compensation package, including eligibility for a bonus or commission based on the role.
- Full health benefits on the first day of employment (several medical plan options-HDHP and PPO, dental plans, FSA/HSA-with employer contribution, employer paid vision/LTD/STD/Life, variety of voluntary coverage)
- 401k (pre- or post-tax) on first day of employment
- 12 paid calendar holidays per year
- Flexible time-off