What are the responsibilities and job description for the Backend Software Engineer position at Piper Maddox?
We are a rapidly growing organization focused on delivering scalable, safe, and sustainable energy storage solutions for critical infrastructure, including data centers, industrial facilities, and the grid. Our mission is to pioneer innovative technologies that enable long-duration, non-toxic energy storage systems made in the U.S.
Role Overview
We’re looking for a Backend Software Engineer (3 years of experience) who is strong in C# and the .NET ecosystem and wants to build a modern, secure, and scalable Energy Management System (EMS). This role is hands-on: you will design APIs, implement business logic, integrate with real-time data sources, and collaborate with ML/controls engineers to bring energy-market intelligence into our platform. Python and energy-market experience are nice-to-haves.
You will be responsible for designing, implementing, and maintaining backend services and APIs for our EMS; integrating with real-time/batch data sources (market, SCADA, metering); enforcing code quality, testing, and observability standards; and collaborating with cross-functional teams to deliver features that support battery operation, optimization, and reporting.
Key Responsibilities
- Design and develop backend services and RESTful APIs in C# / .NET for the EMS platform.
- Implement business logic to support battery operation, telemetry ingestion, and control workflows.
- Integrate with external systems (market data, historians, SCADA/OT gateways, databases) using secure and reliable patterns.
- Write unit/integration tests and participate in code reviews to maintain high code quality.
- Optimize performance, reliability, and security of backend services.
- Work closely with front-end, ML, and controls teams to expose data and features in a clean, consistent way.
- Document services, data contracts, and deployment considerations.
- Support production deployments and troubleshoot issues in collaboration with DevOps.
Qualifications
- Bachelor’s degree in Computer Science, Software Engineering, or a related field (or equivalent experience).
- 3 years of professional experience building backend applications.
- Strong proficiency in C# and .NET / .NET Core.
- Experience building and consuming RESTful APIs and working with relational databases (e.g., SQL Server, PostgreSQL).
- Solid understanding of software engineering best practices (version control, testing, code review, CI/CD).
- Ability to work independently, prioritize, and deliver across multiple projects.
- Strong communication and teamwork skills.
Preferred Qualifications
- Python experience (for tooling, data processing, or integration) is a plus.
- Experience in the energy/power/electricity markets (ERCOT, NYISO, PJM, CAISO) is a plus.
- Experience with message-based or event-driven architectures (e.g., Kafka, RabbitMQ, Azure Service Bus).
- Experience deploying .NET services to cloud environments (Azure/AWS) and working with containers (Docker).
- Familiarity with operational technology (OT), SCADA, Energy Management Systems (EMS), Battery Management Systems (BMS), or Distributed Energy Resource Management Systems (DERMS).