Platform Software Engineer (m/f/d)
Cairo, EG
For our location in Cairo, we are looking for an experienced Platform Software Engineer that, with the company headquarters in Wildpoldsried (Germany), you will work in a distributed team from our office in Málaga (Spain).
The “ECU” (Electronic Control Unit) team develops the control unit of each sonnenBatterie.
Overview
We are seeking a highly skilled Platform Software Engineer to join our team. The ideal candidate will have a strong background in software engineering and linux administration in Embedded Systems.
Responsibilities
- Develop and maintain software solutions.
- Write clear and concise documentation for code and system functionality.
- Adhere to best practices in code style, testing, and version control.
- Debug and resolve issues in development and production environments.
- Develop and manage containerized applications using Docker.
- Monitor system performance and ensure system security.
- Automate tasks and processes using scripting languages.
- Administer and manage Linux-based embedded systems.
- Implement and manage basic CI/CD pipelines using tools like GitLab CI and GitHub Actions.
- Assess/Integrate third-party and open source software.
- Work with embedded communication interfaces and network protocols.
- Create and manage root filesystems for embedded devices.
- Develop, configure and integrate device drivers and other linux kernel components.
- Interface with hardware design and development.
- Collaborate with cross-functional teams to design and implement system architecture.
- Provide technical support and guidance to team members.
Qualifications
- Programming experience in system languages such as C or C++.
- Experience in scripting languages like shell and Python.
- Experience with object-oriented programming, design patterns, and software architecture patterns.
- Strong understanding of code compilation (qmake, cmake), debugging tools (gdb, strace), profiling (perf), and software integration, especially in embedded systems.
- Familiarity with version control systems, particularly Git.
- Familiarity with Linux-based operating systems and system administration tools (systemd).
- Experience in hands-on development and troubleshooting on embedded targets.
- Knowledge of root filesystem build tools such as chroot, multistrap, Buildroot or Yocto.
- Experience with kernel development for Linux (drivers, device tree, patches).
- Familiarity with bootloaders like U-Boot or Barebox.
Nice to have qualifications
- Understanding of some of these network protocols: MQTT, SSH, DNS, SSL/TLS.
- Basic understanding of some of these embedded protocols: UART, I2C, SPI, Modbus, or CAN.
- Experience with Docker and container management.
- Knowledge of infrastructure monitoring using tools like the Elastic Stack.
- Familiarity with microcontroller programming and real-time operating systems like FreeRTOS.
You feel we are a match? Apply now and help us to shape the energy transition together. We look forward to welcoming you to #teamsonnen!
sonnen - energy is yours!
Stellensegment:
Embedded, Open Source, Testing, Linux, Technical Support, Technology