Hybrid Remote

Senior/Principal Software Engineer

Battalion Energy
$160,000 - $225,000
Bend, Oregon or Austin, TX - United States 🇺🇸

Senior / Principal Software Engineer – Energy Systems Software

Location: Bend, Oregon or Austin, Texas Work Arrangement: Hybrid – at least 3 days per week in office Base Salary: $160,000–$225,000 per year, with flexibility depending on experience, level, and location

ABOUT US

We are an energy technology company advancing the power infrastructure that AI data centers and critical industries depend on.

We have built a next-generation software platform for battery energy storage systems (BESS) and critical power applications. We are seeing exceptional demand, with major projects under contract and a growing pipeline of large-scale opportunities.

Our energy management system (EMS) unifies supervisory control, power plant and microgrid control, optimization, and cloud operations in an extensible platform. Its flexibility and our expertise in battery systems and medium-voltage uninterruptible power supply (MV UPS) systems help customers address demanding power requirements.

Our broader software offering includes battery modeling, analysis, and optimization. With deployments in several countries, we serve front-of-the-meter and behind-the-meter storage, solar-plus-storage projects, critical power microgrids, and industrial facilities. We are extending the platform into new applications, site and fleet operations, and additional energy markets.

Our technical leadership brings deep expertise in energy storage, utility software, remote monitoring, automation, and controls. Strong customer relationships and partnerships with battery and power system manufacturers support our growth. We work collaboratively and hold ourselves to high engineering standards.

We are expanding across engineering, operations, field service, marketing, and business support, with growing offices in Austin, Texas and Bend, Oregon. Our ambition is to build the world's leading software platform for battery systems, supporting their deployment and operation across an expanding range of markets and applications.

THE ROLE

This role focuses on our EMS and control platform, with substantial autonomy and ownership of the software behind major customer deployments.

You will work directly with our CTO, Chief Engineer, and industry experts, making architectural decisions and delivering production capabilities that can be reused across customers, sites, and markets.

Most of your time will be spent designing, writing, testing, and reviewing code. You will also help hire and mentor engineers and shape our development practices while remaining primarily hands-on. We will discuss your reporting relationship and initial technical focus early in the interview process.

THE TECHNOLOGY

The core EMS is built in Rust on real-time Linux. It combines supervisory control and data acquisition (SCADA), power plant control (PPC), microgrid control, and optimization, with an architecture designed for plugins and applications.

You will work on real-time coordination, resilience, and integration across battery systems and data center infrastructure.

Beyond core controls, you can contribute to equipment integrations, our React interface, and our AWS-based monitoring and telemetry portal. Integrations span batteries, power electronics, meters, protection relays, microgrid controllers, and data center systems.

WHAT YOU WILL DO

Design and build production Rust software for the EMS, taking ownership from technical design through implementation, testing, and release. Work directly with project teams implementing customer systems to understand requirements, equipment integration needs, and operational constraints. Translate those needs into well-designed, reusable platform features and reliable production code, clarifying tradeoffs and validating the result with project teams. Improve reliability, performance, diagnostics, and maintainability as the platform serves more sites and applications. Participate in architecture discussions and code reviews, explain tradeoffs clearly, and document decisions that others need to understand. Help interview and onboard engineers, mentor colleagues, and strengthen shared development practices while remaining primarily hands-on.

WHAT YOU BRING

10+ years of software engineering experience, with substantial responsibility for complex production systems and demonstrated ability to deliver high-quality code. Hands-on Rust experience and systems programming depth in areas such as concurrency, memory, timing, or failure handling. A passion for writing clear, well-tested software that behaves reliably in production, along with curiosity about energy, physical systems, and AI data center infrastructure. Experience collaborating with software and project delivery teams to turn complex customer requirements into reliable, maintainable production software. The ability to work independently, seek context when needed, and discuss technical disagreements constructively. An interest in mentoring and reviewing code. Formal people management experience is not required. Thoughtful use of AI development tools, with responsibility for understanding, reviewing, and testing the code you ship.

NICE TO HAVE

Experience with BESS, MV UPS, or real-time controls is a plus, but not required. Familiarity with real-time Linux, industrial protocols, AWS, or React is also helpful.

LOCATION AND WORKING ARRANGEMENTS

This position is available in Austin, Texas or Bend, Oregon. At least three days each week are spent in the office, with the remaining days available for remote work. Occasional field travel is available based on interest and is not required for this role.

COMPENSATION AND BENEFITS

Base salary: $175,000–$225,000 per year with flexibility for the right candidate. Actual base salary will depend on experience, technical depth, role level, and location. Our compensation package includes base salary, bonus, and equity, with flexibility in the mix based on the candidate and role. We currently offer a benefits stipend while a formal benefits package is being established, with availability currently estimated for January 1, 2027.

INTERVIEW PROCESS

An introductory recruiting call is followed by a technical conversation with our CTO about systems you have built, your design decisions, and your code. This discussion takes the place of a formal technical assessment. The process includes a standard background check and an offer discussion covering compensation and equity. Any screening required for optional site travel would be discussed separately.

Relocation assistance: Work Location: Hybrid remote in Bend, OR or Austin, TX

Looking for more roles like this?

Join our talent network and get matched with similar opportunities from top companies.