ESS, Principal Software & Data Engineer

SK battery America•Troy, MI

About The Position

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.

Requirements

  • Bachelor's degree in computer science, Software Engineering, Computer Engineering, Electrical Engineering, or a related technical field.
  • 8+ years of professional software engineering experience, including designing, developing, and deploying production software systems.
  • Strong proficiency in modern programming languages such as Python, Go, Java, C++, C#, or Rust.
  • Experience designing scalable software architectures, APIs, distributed systems, and data-intensive applications.
  • Strong knowledge of SQL, relational databases, time-series data, and ingestion pipelines.
  • Experience with Linux environments, containerization such as Docker, CI/CD, version control, and software engineering practices.
  • Demonstrated ability to troubleshoot complex software systems across application, database, operating system, and network environments.
  • Ability to work independently and collaboratively in a fast-paced, evolving engineering environment.

Nice To Haves

  • Experience with Energy Management Systems (EMS), Distributed Energy Resource Management Systems (DERMS), SCADA, or other industrial control platforms.
  • Familiarity with Battery Energy Storage Systems (BESS), renewable energy, microgrids, power conversion systems, or utility-scale power systems.
  • Knowledge of industrial communication protocols such as Modbus TCP, OPC UA, DNP3, IEC 61850, or MQTT.
  • Experience with time-series databases, messaging and streaming technologies, and container orchestration platforms such as InfluxDB, Kafka, or Kubernetes.
  • Experience with cloud and edge computing architectures, high-availability systems, and cybersecurity practices.
  • Exposure to hardware-in-the-loop testing, digital twins, machine learning, or AI-enabled industrial applications.

Responsibilities

  • Design and develop the core EMS software platform and application services.
  • Establish software architecture for control applications, system integrations, operator interfaces, analytics, configuration management, and external APIs.
  • Develop modular, reusable software components deployable across products, customers, and system configurations.
  • Define service boundaries, APIs, event models, and communication patterns across the EMS platform.
  • Establish software that operates reliably across cloud, edge, and on-premise environments, supporting server-based and industrial or embedded deployments.
  • Own the architecture for ingesting real-time and historical data from battery management systems, power conversion systems, meters, protection systems, site controllers, SCADA systems, and third-party devices.
  • Develop scalable ingestion services for high-frequency operational data and technologies such as Modbus TCP, OPC UA, MQTT, and REST APIs.
  • Define canonical data models that normalize information across equipment vendors and device types.
  • Develop integration frameworks that reduce the effort to onboard equipment, devices, and external systems.
  • Partner with Controls and Network Engineering to ensure reliable and deterministic data movement between field devices and the EMS platform.
  • Define and implement data architecture for real-time, time-series, relational, configuration, event, and historical data.
  • Select and manage database and storage technologies based on performance, reliability, scalability, and lifecycle requirements.
  • Design data models for telemetry, alarms, events, equipment configuration, system state, operational history, and analytics.
  • Develop data retention, aggregation, archival, and lifecycle strategies.
  • Ensure data is traceable and contextualized from the originating physical asset through downstream applications and analytics.
  • Establish architectures that enable operational data to support future organizational, machine learning, digital twin, and AI applications.
  • Develop secure APIs and interfaces between the EMS platform and internal and external systems.
  • Support integrations with SCADA, customer energy management systems, market systems, cloud platforms, fleet management systems, and third-party applications.
  • Establish API versioning, compatibility, authentication, and lifecycle standards.
  • Develop reusable software development kits, interface libraries, and integration patterns where appropriate.
  • Ensure interfaces remain stable as equipment and software components evolve.
  • Design software for mission-critical, continuously operating energy infrastructure.
  • Establish application health monitoring, logging, metrics, alarms, and diagnostic capabilities.
  • Partner with DevOps Engineering to create automated build, test, deployment, and release pipelines.
  • Develop capabilities for remote diagnostics, troubleshooting, upgrades, and lifecycle management.
  • Define application-level redundancy, recovery, data integrity, and fault-handling strategies.
  • Support performance testing and characterization under realistic system loads.
  • Ensure systems operate safely and predictably during network interruptions, equipment failures, and degraded communications.
  • Help establish EMS development environments, simulation capabilities, hardware-in-the-loop systems, and engineering test benches.
  • Develop simulators, emulators, test harnesses, and supporting software to validate EMS functionality.
  • Create mechanisms to replay operational data and reproduce field conditions in development and test environments.
  • Support integration of the EMS software platform with laboratory and full-scale test facilities.
  • Work with the broader engineering team to automate system and regression testing where practical.
  • Serve as the technical authority for software and data engineering within the EMS organization.
  • Partner with the Chief Architect to translate system architecture into scalable software implementation.
  • Evaluate and select software frameworks, databases, messaging platforms, development tools, and supporting technologies.
  • Conduct design and code reviews, mentor engineers, and help establish the technical foundation for a growing software and data engineering organization.
  • Help define the long-term software and data technology roadmap.
  • Balance near-term product delivery with development of a reusable, maintainable EMS platform.
  • Work effectively with global R&D organizations, external engineering partners, equipment suppliers, and customers.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service