This is a remote position based out of Sydney, Australia - Geli is headquartered in San Francisco, California, USA and has a growing Australia team.
Geli (Growing Energy Labs, Inc.) provides software and business solutions to design, connect, and operate energy storage systems ranging in size from residential to utility-scale, as well as grid-tied, microgrid, and off-grid systems. Geli’s suite of products creates an ecosystem where project developers, OEMs, financiers, and project operators can deploy advanced energy projects using a seamless hardware-agnostic software platform.
Geli is a subsidiary of Hanwha Q CELLS, one of the world’s largest photovoltaic manufacturers most recognized for its high-performance, high-quality solar cells and modules.
Geli is committed to helping make the planet a cleaner, better place to live, both with our software products and through our everyday actions.
Imagine a world where there is less reliance on non-renewable power, where you source your electricity from your neighbors rather than from power stations hundreds of miles away and software makes the best possible use of the solar, wind, and battery storage available. This is our vision.
We are looking for enthusiastic colleagues that are not only fluent in technology, but also share our vision of a world running on 100% renewable energy.
ABOUT THE JOB
As a Java Engineer on our team, you will be working on the core of our network of distributed energy resources. You will work on extending and scaling our backend responsible for processing telemetry streams from nodes in the field. You will excel in this role with a blend of backend development, microservice messaging, cloud and DevOps experience as wellas a desire to take ownership of projects and push them over the line. As a member of the team, you will have a significant influence on the direction of our technology stack.
- Develop and maintain new services within our microservice architecture
- Scale backend-capabilities
- Spring Boot
- Break components off the monolith into their own services
- Optimize time-series processing and storage
- Improve messaging infrastructure
- Manage services in Kubernetes, ensuring reliability and availability
- Contribute to monitoring, logging and alerting
- Improve build pipelines and deployment processes
- Work collaboratively in a diverse environment. We commit to reaching better decisions by respecting opinions and working through disagreements.
- Gain in-depth experience in an exciting industry as you work with storage sizing, energy financial models, energy tariffs, storage controls & monitoring
- BS or higher degree with 5+ years of relevant experience
- Excellent software engineering skills with Java (8+) or Kotlin
- Strong Objected oriented programming skills
- Good knowledge of Software design patterns
- Ability to mentor and lead a team
- Good knowledge of Functional programming
- Programming experience with Reactive streams and/or Kafka streams
- Docker and Kubernetes
- Designing software systems
- Writing clean, maintainable, thoroughly tested, and shippable production code
- Expertise in software engineering best practices, design patterns, OOP, data-structures
- Hands-on microservice experience
- Creating services in Java or Kotlin
- Messaging with AMQP and MQTT through RabbitMQ
- Sound design decisions around messaging architecture, protocols and interfaces
- Backend development experience for web applications
- Experience with maintaining products that are in production
DESIRED EXPERIENCE & SKILLS
- Redis, PostgreSQL, Cassandra, ElasticSearch
- AWS (EKS, ECS, RDS, EC2, S3, networking)
- Ansible, Jenkins
- Prometheus, Grafana, PagerDuty, NewRelic, Mixpanel
- Slack, Bitbucket, Jira, G-Suite
- Knowledge of cloud, IoT technologies, and scalable platforms
BENEFITS OF WORKING AT GELI
Competitive salary commensurate with experience
Competitive benefits offerings
Make a difference: join a group of people who are passionate about renewable energy
Have an impact: the company is still small enough that everyone’s contribution has a significant impact to the success of the company
Many opportunities to lead teams, projects, and contribute to development
Casual professional working environment: there’s no need to dress up, just present your best self
Work collaboratively in a diverse environment- we commit to reaching better decisions by respecting opinions and working through disagreements
We value the insights that a diverse team can bring. We encourage applications from members of groups that have been traditionally underrepresented in tech.