Bachelor's degree in Computer Science, Electrical Engineering, or related field preferred
5+ years of experience with Python and JavaScript/TypeScript development
Knowledge in energy experience and modeling, specifically optimization
Proficiency in convex/constraint-based optimization and statistical modeling
Familiarity with Pyomo, HiGHS, Gurobi, and related solvers
Experience in building microservices with FastAPI
Strong skills in front-end development using React
Responsibilities
Build web applications with modern, interactive UIs for operators and customers
Architect and maintain backend services and APIs to support microgrid operations
Develop financial modeling features for investment decision-making
Design and validate mathematical optimization models for operational efficiency
Build and extend simulation infrastructure for validation of algorithms
Design scalable data ingestion and event-driven pipelines for IoT
Collaborate with teams to deliver software products that meet user needs
Implement logging and monitoring for high availability in software deployments
Benefits
Work in a dynamic and impactful sector focused on energy innovation
Opportunity to influence the future of sustainable energy systems
Collaborate with a diverse team of engineers and industry experts
Access to continuous learning and new technology adoption
Potential for career growth within a fast-paced environment
Full Job Description
We are looking for a full-stack software engineer to build software to efficiently manage microgrids and other distributed energy resources. This is a great role for someone looking to build software that will change the future of the energy industry.
This role will report to our Director of Software Engineering and be based in our New York City office (Union Square area).
Key responsibilities will include:
Front-end development: build web applications with modern, interactive UIs for operators and customers
Architect and maintain high-performance backend services and APIs (FastAPI, PostgreSQL) to support real-time microgrid operations, telemetry data pipelines, and optimization workflows at scale
Develop and enhance financial modeling features, building reliable calculation engines and data integrations that support portfolio-level analysis and investment decision-making
Design and validate mathematical optimization models (MILP/LP) using Pyomo and commercial or open-source solvers (HiGHS, Gurobi) for generator dispatch and fleet-level maintenance scheduling, including heuristic approaches, OPH projection, and constraint-based planning
Build and extend simulation infrastructure (rolling dispatch, Monte Carlo scenario analysis) to validate optimization outputs, refine algorithmic approaches, and auto-tune model parameters against operational requirements
IoT and messaging pipelines: design and maintain scalable data ingestion, transformation, and event-driven pipelines (MQTT, AWS IoT, SQS, Sparkplug B)
System design: collaborate with product management and design to deliver robust software products that excite users and achieve business goals
Reliability & observability: implement logging, monitoring, and alerting for high availability microgrid software deployments
Collaboration: work with stakeholders across engineering, operations, and product to turn workflows into production-ready automation
Continuous improvement: assess and adopt new technologies to enhance performance, scalability, and maintainability
The Ideal Candidate
Bachelor's degree in Computer Science, Electrical Engineering, or related field preferred
5+ years of experience with Python and JavaScript/TypeScript development
Energy experience and modeling, optimization
Experience with complex algorithm-driven problems: convex/constraint-based optimization problems, statistical modelling including Bayesian model fitting, DSP, control systems
Constraint modeling frameworks (Pyomo) and commercial/open-source solvers (HiGHS, Gurobi, GLPK)
FastAPI and microservices experience
React for front-end development
PostgreSQL and relational database design
Experience with high-volume, time-series data processing
Experience with message brokers and IoT protocols (MQTT, Sparkplug B, AWS IoT Core)
Experience with SCADA platforms (e.g., Ignition or equivalent) and deployment and management of edge devices
Experience with SCADA/energy protocols such as Modbus, OpenADR, DNP3, or IEEE 61850
Excellent communication and collaboration skills to work across teams with evolving requirements