A Senior Software Engineer responsible for developing and maintaining the software platform that optimizes control and market participation of battery energy storage systems, including data engineering, simulation, real-time workflows, and energy market integration.
Key Responsibilities
Build and maintain telemetry pipelines, data stores, and feature ingestion systems for forecasting and optimization
Design, develop, and manage simulation and training infrastructure for large-scale simulations
Develop and operate real-time forecast and optimization workflows to support BESS operations
Support energy market integration through data ingestion and bid management
Collaborate across teams to ensure the overall system functions effectively
Write well-tested, monitored software and iteratively improve system quality
Requirements
2-5 years of experience in software engineering
Strong software design instincts, including thinking in systems, reasoning from first principles, and understanding the challenges of building available, reliable, scalable, and secure distributed systems
Experience designing, building, and maintaining telemetry pipelines, data stores, feature ingestion, and storage systems for forecasting and optimization
Experience developing and operating real-time forecast and optimization workflows, including orchestrating pipelines that drive battery energy storage system (BESS) operations
Experience supporting energy market integration, including data ingestion and bid management
Ability to collaborate across the full stack and across team boundaries to ensure the product system works well as a whole
Ability to write well-tested, well-monitored software and iteratively improve it over time
Experience applying AI tools to accelerate development while maintaining high system design quality and code standards
Excellent communication skills, including clear communication and active listening
Bias toward action, taking initiative, making progress in ambiguous situations, and not waiting for perfect information
Willingness to think and collaborate across team boundaries to ensure the product functions effectively as a whole
Rigorous about quality, including writing well-tested, well-monitored software and iterating on it over time
Experience with relevant technologies such as Kubernetes, Rust, Python, NATS, PostgreSQL, TimescaleDB, or SQLite (preferred but not explicitly mandatory)