EnergyHub empowers utilities and their customers to create a clean, distributed energy future. The Software Engineer II will support the Devices Team in designing and implementing core platform features for IoT devices, ensuring scalability and flexibility while transitioning to a microservices architecture.
Responsibilities:
- Design and implement core platform features that solve for multiple constraints and use cases
- Support the transition from a monolithic architecture to a microservices-based approach, ensuring scalability, maintainability, and improved system resilience
- Contribute to data modeling, contract definition, and API development
- Develop backend as well as frontend solutions, ensuring well-structured, high-quality code with automated testing
- Collaborate cross-functionally with product managers, internal engineering teams, and stakeholders to drive high-impact projects
- Work within real-world constraints to develop creative solutions that maintain platform flexibility and scalability
- Contribute to best practices for CI/CD, data modeling, and iterative development (e.g., PoCs, rapid prototyping, milestone-based execution)
- Support other engineers, fostering a strong technical culture of respect, open communication, and collaboration
Requirements:
- 3+ years of professional software engineering experience, with a primary focus on backend systems, exposure to frontend development, and proficiency in relational database design
- Proficiency in Java (preferably Java 11+) and experience with at least one scripting language (e.g., React)
- Experience with web services, gRPC/RESTful APIs, and contract-driven development
- Ability to operate independently with little supervision
- Strong problem-solving skills, capable of balancing multiple use cases while enabling flexibility
- Frontend experience with Typescript and React and the ability to contribute to UI development as needed
- Experience and familiarity with AI coding tools
- Experience with PostgreSQL, RabbitMQ, MongoDB, AWS, and Robot Framework
- Familiarity with CI/CD pipelines and modern software development practices
- Proven ability to deliver high-quality, iterative value while maintaining execution speed
- Strong communication skills, with an emphasis on cross-functional collaboration and working on challenging technical problems
- Experience or familiarity with the energy industry and energy management