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