Senior Embedded Software Engineer C++ (m/f/d) - Solar Monitoring & Smart Energy
Seeking a Senior Embedded Software Engineer C++ to develop software for solar monitoring, smart energy, and feed-in management. Responsibilities include requirements engineering, architecture design, embedded C++ development, and cybersecurity implementation. Requires a degree in CS/EE, several years of embedded C++ under Linux, Yocto Project experience, and knowledge of energy-domain protocols and cybersecurity principles. This is a fully remote role requiring fluent English, with German being a strong advantage.
Key Highlights
Key Responsibilities
Technical Skills Required
Benefits & Perks
Nice to Have
Job Description
About the Company
We are the globally successful Solar-Log GmbH and BKW Energie AG, an internationally active energy company based in Switzerland. Solar-Log GmbH‘s expertise lies in software development for solar monitoring, smart energy and feed-in management, while BKW offers total solutions in the areas of energy, buildings and infrastructure. Our vision is to make the digitalisation of renewable energy sources a reality.
About the Role
Together with you, we would like to achieve our goal. To strengthen our team we are looking for a Senior Embedded Software Engineer C++ (m/f/d)
Responsibilities
Requirements Engineering
- Derive detailed technical requirements from upper-level product and system requirements
- Use requirements as the authoritative basis for all development decisions; create concepts that make firmware dependencies and external interfaces visible, enabling the team to handle complexity in a controlled manner
- Work closely with the Product Owner to discuss, align and refine requirements; challenge ambiguity early and ensure shared understanding of scope within the team
Architecture & Design
- Design and maintain formal layered software architectures; apply architectural patterns consistently during implementation
- Create solution concepts before implementation starts, evaluate options, assess trade-offs and align on the approach with the team
- Create architectural concepts covering internal firmware dependencies and external system interfaces; present and discuss these with the team based on facts and technical reasoning
Interested in remote work opportunities in Development & Programming? Discover Development & Programming Remote Jobs featuring exclusive positions from top companies that offer flexible work arrangements.
Embedded C++ Development
- Develop C++ applications and system services under embedded Linux with clean architectural boundaries
- Author and maintain Yocto recipes, layers, image configurations and SDK builds
- Integrate protocols: RS485, Modbus RTU/TCP, CAN, SunSpec, MQTT, IEC 60870
Embedded Cybersecurity Development
- Apply embedded cybersecurity concepts: secure boot, encrypted communication, minimal attack surface, key management
- Contribute to a secure boot chain-of-trust strategy across bootloader, image integrity, and firmware update flows
- Integrate TLS-secured communication channels with backend services
- Harden Linux embedded devices to minimize attack surfaces by applying least-privilege and zero-trust principles, while enabling authorized remote access
- Design and maintain secure over-the-air firmware update mechanisms (package signing, artifact verification, and CI/CD integration)
- Apply secure secrets provisioning and renewal flows in embedded devices
- Participate in threat modeling and risk assessment for embedded attack surfaces
- Monitor and remediate security vulnerabilities by performing CVE monitoring against SBOMs, including third-party dependencies
Browse our curated collection of remote jobs across all categories and industries, featuring positions from top companies worldwide.
Quality & Collaboration
- Write unit tests and contribute to test automation including co-development of hardware/software simulators for testing
- Work effectively in a distributed remote team; use Git, CI/CD pipelines and communication tools proficiently
- Participate actively in agile processes (Scrum); contribute to reviews, planning and retrospectives
Your Profile
- Degree in Computer Science, Electrical Engineering or comparable; several years of embedded C++ (C++14/17/20/23) under Linux
- Hands-on Yocto Project experience: custom layers, recipes, BitBake, cross-compilation
- Proven hands-on experience to apply architectural patterns (e.g., layered architecture, blackboard, microservices) in production code
- Experience deriving and managing requirements with formal methods and tools
- Knowledge of energy-domain protocols (Modbus, SunSpec, MQTT)
- Knowledge of embedded cybersecurity principles and hands-on experience with secure boot on NXP iMX(HAB), CAAM, dm-verity, RPM package signing and Linux device hardening in production environments
- Experienced working in a software product team using Git and CI/CD; comfortable in a fully remote setup
- Structured and precise, you communicate technical concepts clearly and ground every discussion in facts
- AI-assisted development as part of a modern engineering workflow; hands-on experience is a plus, but a genuine interest and willingness to adopt these tools is essential
- Fluent English (required); German is a strong advantage
Similar Jobs
Explore other opportunities that match your interests
Senior Go Engineer
Natuvion
oho group