Embedded Software Engineer

Job Title: Embedded Software Engineer

Department: R&D, CTL Firmware

Reporting Line: Firmware Team Lead

Location: Berlin, Germany

About ENGIE Energy Access

ENGIE Energy Access is one of the leading Pay-As-You-Go (PAYGo) and mini-grids solutions provider in Africa, with a mission to deliver affordable, reliable and sustainable energy solutions and life-changing services with exceptional customer experience. The company is a result of the integration of Fenix International, ENGIE Mobisol and ENGIE PowerCorner; and develops innovative, off-grid solar solutions for homes, public services and businesses, enabling customers and distribution partners access to clean, affordable energy. The PAYGo solar home systems are financed through affordable installments from $0.14 per day and the mini-grids foster economic development by enabling electrical productive use and triggering business opportunities for entrepreneurs in rural communities. With over 1,700 employees, operations in 9 countries across Africa (Benin, Cote d’Ivoire, Kenya, Mozambique, Nigeria, Rwanda, Tanzania, Uganda and Zambia), over 1 million customers and more than 5 million lives impacted so far, ENGIE Energy Access aims to remain the leading clean energy company, serving millions of customers across Africa by 2025.


Job Purpose/Mission

As part of the ENGIE Energy Access firmware team, you implement the control logic and functionality of our solar controllers with a focus on high code quality and long product life expectancy. In close collaboration with Product + R&D and surrounding teams, you contribute to developing a sustainable foundation for our products. You are also involved in providing 2nd level support to firmware-related issues in the field.


  • Maintenance, improvement and updating of the firmware of existing products (such as GSM-enabled solar controllers, B2B PAYGO solutions)
  • Design, implementation and testing of firmware for future solar controllers and smart DC appliances
  • Research and technology studies for new products, covering a broad range of functionality: battery charge control, M2M backend communication, user interaction, real-time control, testing and manufacturing
  • Testing and test automation (continuous integration, unit, module & system-level testing)
  • Guarding of lifecycle and gaining insights by evaluating runtime data of existing customer devices
  • Work in close collaboration with other teams like hardware, data analysis, back-end development, product management, manufacturing, testing and support

Knowledge and skills


  • 5+ years of experience in embedded systems software development
  • Practical background in product life cycle development and management processes such as agile development
  • Deep understanding of low-level software mechanisms; experience in preemptive, multitasking real-time operating systems is a plus
  • Experience in hands-on firmware development for micro-controllers including peripheral interfaces
  • Familiarity with IoT connectivity stacks or in battery technology (e.g. MPTT, PWM) is a plus


  • M.Sc. or comparable degree in software engineering, electrical engineering or similar
  • Excellent skills in coding embedded C with strong modular thinking
  • Debugging and good problem-solving skills
  • Self-driven, independent working style
  • Strong team-mindedness and collaborative ways of working (e.g. pair programming, code reviews)
  • Innovation-oriented mindset, ability to research new topics and arrive at tangible results
  • Focus on code quality and affinity to automated testing concepts (unit-tests, CI)


  • English – Professional Fluency
  • German is a plus


  • Programming: C, gcc toolchain, Makefiles, git (e.g. gitlab); C++ is a plus
  • Peripheral interfaces: UART, I2C, SPI, USB
  • Microcontroller: e.g. Cortex-M, STM32
  • IoT Connectivity, e.g. GSM Bluetooth, MQTT
  • Real-time systems knowledge, e.g. FreeRTOS
  • Scripting for test automation: e.g. Python, shell, Linux configuration
  • Development Environment: git, gitlab incl. CI

We thank all applicants for their interest, however due to the large volume of applications we receive, only shortlisted candidates will be contacted.

ENGIE is an equal opportunity employer, promoting diversity and committed to creating an inclusive environment for all. All applications are screened based on business needs, job requirements and individual qualifications, without any regard to origin, age, name, sexual identity, orientation or preference, religion, marital status, health, disability, political opinions, union involvement or citizenship. Our differences are our strengths!

Follow Us on Facebook