USA remote
Senior Software Engineer
About this role
As a Senior Software Engineer on our growing Battery team, you will design and develop backend services that support residential battery programs while maintaining a strong security posture across our infrastructure. Working closely with leading battery providers, you will improve grid flexibility and help push virtual power plants forward towards a sustainable climate future. This role is back-end and data focused, giving you the opportunity to build services, APIs, and new features to improve the quality and breadth of our battery solutions.
You would join a relatively new and growing team with the opportunity to contribute to highly visible projects with significant client impact. Partnering with engineers, product, and OEMs, you will design backend services that provide direct client value and unlock the full potential of residential batteries. Main Responsibilities: What you'll do Build and maintain features across our battery solution Develop and maintain our client-facing REST API and the backend logic that powers it Build integrations with distributed internal services to abstract away complexity and enable new product capabilities Ensure proper security and data protection policies, procedures, and monitoring are in place Collaborate with product and engineering to continuously improve requirements and software quality Collaborate with other teams to enable new API features and help them build on top of utility client data Drive and embody the “Dev Owns Quality” culture Write and maintain technical documentation Other duties as assigned Required Skills and Experience: What you need 5+ years of professional software engineering experience Experience with the Java/Spring ecosystem Expertise in RESTful web APIs, especially those targeting external clients Strong software design skills Familiarity with relational database fundamentals (we mostly use PostgreSQL) Strong problem-solving skills, capable of balancing multiple use cases while enabling flexibility Knowledge of modern security best practices, authentication/authorization frameworks, and system/API hardening Knowledge of development best practices including automated testing, CI/CD, and monitoring (e.g.