Senior Edge Software Engineer
Moonwatt
- Diemen, Netherlands
- Full-time
- Senior Level
- 5+ years
- Posted
Skills
Required
- CAN
- embedded
- Linux
- tooling
- Modbus
- software engineering
- edge or industrial systems
- C++ / Go / Rust
- Python
- data analysis
- industrial and fieldbus protocols
- schematics
- oscilloscope
Preferred
- inverters
- battery storage
- solar PV
- real-time
- Yocto
- embedded build systems
- grid communication protocols
- IEC
You will own the site controller: the edge software that runs every Moonwatt site and ties the batteries, converters, inverters and the cloud together. You start hands-on with our live test setup, proving out the system on real hardware. What you learn there shapes the production site controller, which you then design and build.
About Moonwatt
- Moonwatt is developing the next generation of highly competitive Energy Storage Systems utilizing advanced sodium-ion battery technology.
- Our hardware and software solutions are optimized for co-location with solar power plants, enabling them to completely replace fossil-fuel power generation on the world’s power grids.
- We are seeking talented individuals across all areas whether you are in engineering, marketing, design, project management, HR, or finance.
- Join our team push the boundaries of innovation.
- If you are driven by the desire to create change, tackle big challenges, and make a meaningful impact, we’d love to have you onboard!
Responsibilities
- Design, build and own the production site controller software, from architecture to deployment and long-term maintenance.
- Build robust data acquisition and processing: reliable, time-stamped collection of measurements and events from the BMS, power converters and inverters, with local storage, buffering and forwarding to the cloud.
- Implement low-level communication and control over Controller Area Network (CAN), Modbus TCP and Modbus RTU, including device drivers, protocol handling, state machines, sequencing and safe fault handling.
- Build commissioning and diagnostic interfaces into the site controller, so field engineers can bring a site up, configure it and troubleshoot it quickly. Where needed, extend these to customer-facing interfaces, both to the customer's supervisory control and data acquisition (SCADA) system and directly to users.
- Run integration and validation work on our test setup: write test scripts and tooling, analyse data and turn findings into fixes and requirements.
- Define the interfaces between the site controller, BMS firmware and cloud platform, together with the relevant engineers.
- Help lay the foundation for later energy management and dispatch features.
- Set good engineering practice for edge software: version control, code review, automated testing, continuous integration and controlled releases.
Requirements
- 5+ years of professional software engineering experience, with a significant part on embedded Linux, edge or industrial systems.
- Strong skills in C++, Go or Rust, plus Python for tooling, testing and data analysis.
- Hands-on experience with industrial and fieldbus protocols, ideally CAN and Modbus.
- Experience building reliable data acquisition pipelines and software that runs unattended in the field.
- Comfortable working close to hardware: reading datasheets and schematics, and using an oscilloscope, CAN analyser or logic analyser to find the root cause of a problem.
- A systems mindset and good judgement about safety, robustness and failure modes.
- Willingness to work hands-on at our test site and, occasionally, at customer sites.
- Fluent English.
Preferred
- A background in electrical engineering is a strong plus.
- Experience with battery storage, solar PV, inverters or other power electronics.
- Familiarity with real-time Linux, Yocto or similar embedded build systems.
- Experience with grid communication protocols such as IEC 61850, SunSpec or DNP3.
- Experience with cloud connectivity for devices, such as MQTT.
Benefits
- Ownership of a core piece of our product, with the chance to shape its architecture from the start.
- Work on real hardware and real deployments, not just code.
- A small, experienced team where your work has a direct impact.
