About the Role
About the Role
As a Software Engineer at sonnen, you will contribute to the development of a distributed Virtual Power Plant that controls home battery systems across multiple countries. You will design algorithms for grid services, optimize energy use, and implement backend services in Elixir and Rust.
What You Will Do To Help Drive Energy Transition
- Contribute to a distributed Virtual Power Plant controlling tens of thousands of home battery systems across 8 countries in real time.
- Design, analyze, and improve algorithms for grid services — FCR, intraday trading, demand response, and spot optimization.
- Develop algorithms that optimize energy use within individual households, balancing self-consumption and cost savings under dynamic energy prices.
- Build and run simulations to model real battery behavior and validate algorithmic decisions.
- Analyze data streams to monitor system health and develop new signals that add value to the VPP.
- Implement protocols, backend services, and client features in a production Elixir/Rust codebase.
What You Will Need On That Journey
- Experience with Elixir, Rust, or Erlang — or strong motivation to learn. We hire at all experience levels.
- Solid foundation in algorithms and mathematics; you enjoy working through problems that don't have obvious solutions.
- Comfortable reasoning about distributed systems, concurrency, or real-time constraints — or eager to develop that understanding.
- Experience with functional programming (Clojure, OCaml, Haskell, Scala) or Python is a plus.
- Fluent in English. German is a plus.
What You Can Expect At Sonnen
- An atmosphere of openness, tolerance and mutual respect, where innovation is expected and encouraged.
- 30-32 days annual vacation with increasing team membership.
- Leasing of company (e-)bikes with up to 40% discount.
- Flexible working hours and option working mobile.
- Use of sports memberships (EGYM Wellpass, only €29.75/month) and discounts for other services and products.
- Employee discount on our electricity tariff.
- Regular team and company events.
- We love dogs! You too? Feel free to bring your fellow friend to our offices.
Requirements
Experience with Elixir or Rust
You should have experience with Elixir, Rust, or Erlang, or a strong motivation to learn.
Algorithms and Mathematics
A solid foundation in algorithms and mathematics is essential.
Distributed Systems Knowledge
Comfortable reasoning about distributed systems, concurrency, or real-time constraints is important.
Nice to Have
Experience with functional programming languages like Clojure, OCaml, Haskell, or Scala is a plus.
Fluency in German is a plus.
Benefits
Annual Vacation
30-32 days annual vacation with increasing team membership.
Company Bike Leasing
Leasing of company (e-)bikes with up to 40% discount.
Flexible Working Hours
Flexible working hours and option to work mobile.
Sports Membership Discounts
Use of sports memberships and discounts for other services and products.
Employee Discount
Employee discount on our electricity tariff.