The Principal Software & Data Engineer is a foundational, hands-on senior technical role in the Energy Management Systems (EMS) engineering organization. The role owns the architecture and implementation of the EMS software stack, including data ingestion and storage, application services, APIs, system integrations, observability, and data infrastructure for real-time control, analytics, optimization, and future AI-enabled capabilities. The platform will support battery energy storage, power conversion systems, grid-connected applications, microgrids, and high-availability applications such as data centers, across cloud, edge, on-premise, server-based, and industrial or embedded environments. The position works closely with the Head of EMS Engineering, Chief Architect, Controls Engineers, Network Engineering, DevOps, and broader product and R&D organizations. The successful candidate will establish the technical foundation while directly designing, developing, testing, and deploying production software. The role reports to the Head of EMS Engineering and may take on increasing technical leadership responsibilities as the organization grows, including mentoring engineers and helping shape the software and data engineering team. The role establishes the EMS platform’s software architecture, data models, integration patterns, storage and data lifecycle strategies, API standards, reliability and observability capabilities, and development and test infrastructure. It also serves as the technical authority for software and data engineering within the EMS organization, helping set technology choices and the long-term roadmap while balancing product delivery with a reusable, maintainable platform.
Stand Out From the Crowd
Upload your resume and get instant feedback on how well it matches this job.
Job Type
Full-time
Career Level
Principal