EnergyHub empowers utilities and their customers to create a clean, distributed energy future. As a senior software engineer, you will join the Client Connections team to develop and maintain client-facing REST APIs and backend services that enhance product capabilities and client value.
Responsibilities:
- Help develop and maintain our client-facing REST API
- Help build the under-the-hood backend logic and integrations with other distributed services to abstract away our internal complexities
- Ensure proper security and data protection policies, procedures, and monitoring are in place
- Collaborate with the product team and other engineers to continuously strive towards better product requirements and better software quality
- Collaborate with other teams to both enable new features in our API and help them build on top of the data we make available from utility clients
- Write and maintain technical documentation
- Other duties as assigned
Requirements:
- 5+ years professional software engineering experience
- Experience with the Java/Spring ecosystem
- Expertise in RESTful web APIs, especially ones targeting external clients
- Strong software design skills
- Familiarity with relational database fundamentals (We mostly use PostgreSQL)
- Knowledge of modern security best practices, authentication/authorization frameworks, and system/API hardening
- Knowledge of typical development best practices and tools for automated testing, continuous integration/deployment, and monitoring systems (i.e. Github Actions, DataDog, Sentry, Metaplane, etc)
- The ability to work both autonomously and collaboratively as befits the situation
- Experience with AWS or other cloud providers
- Experience with microservice architectures and event-driven messaging systems
- Experience with protocol buffers and gRPC communications
- Experience with containerized systems
- Experience with MongoDB