Job Search and Career Advice Platform

Activez les alertes d’offres d’emploi par e-mail !

Contractor: Senior Build System Engineer

Open Home Foundation

À distance

EUR 60 000 - 80 000

Plein temps

Aujourd’hui
Soyez parmi les premiers à postuler

Générez un CV personnalisé en quelques minutes

Décrochez un entretien et gagnez plus. En savoir plus

Résumé du poste

A non-profit organization is seeking a Senior Build System Engineer to enhance the build process for ESPHome by replacing PlatformIO. This role involves leading the architectural design and implementing direct integrations with modern CMake. Ideal candidates will have senior experience in complex software builds, expertise in Python and CMake, and be fluent in English. Compensation is competitive and based on experience, with a fully remote work environment offered.

Qualifications

  • Senior experience in architecting and implementing complex software build systems.
  • Expert-level knowledge of modern CMake for embedded systems.
  • Strong expertise in Python development as the glue code for builds.

Responsabilités

  • Lead the architectural design to replace PlatformIO's orchestration role.
  • Implement direct integration with Espressif IDF using modern CMake.
  • Develop mechanisms for toolchain acquisition and version management.

Connaissances

Architecting complex software build systems
Expert-level CMake knowledge
Strong expertise in Python development
Understanding of embedded toolchains
Experience with Git and GitHub
Professional fluency in English
Description du poste

The Open Home Foundation is looking for a Senior Build System Engineer to join our Ecosystem department on a contract basis for a specific, high-impact project for ESPHome.

This department is responsible for the development of several projects under the Open Home Foundation umbrella, including ESPHome.

ESPHome currently relies on PlatformIO which acts as an abstraction layer between ESPHome and the underlying vendor SDKs (like ESP-IDF). For ESP(32) projects using the ESP-IDF framework, this abstraction now adds complexity without clear benefit. The ESP-IDF already has a mature CMake-based build system that ESPHome could invoke directly.

The goal of this project is to phase out our dependency on PlatformIO.

By eliminating PlatformIO from the ESP-IDF path, we remove a third-party dependency that must be maintained and versioned. This simplifies the toolchain and reduces potential points of failure. Crucially, it enables faster issue resolution. Currently, when upstream dependencies break, ESPHome is often blocked waiting for PlatformIO to release a fix. With direct ESP-IDF integration, we can diagnose and ship fixes within hours, rather than weeks.

This role will involve significant architectural work involving both the large C++ core codebase and the Python code generation component.

What you are going to do
  • Lead the architectural design to replace PlatformIO's orchestration role within ESPHome with a native, Python-based solution that interacts directly with vendor SDKs.
  • Implement direct integration with native toolchains, specifically focusing on the Espressif IDF (IoT Development Framework) using modern CMake.
  • Develop the mechanisms within ESPHome's Python backend for toolchain acquisition, version management, and library dependency handling that PlatformIO previously managed.
  • Update ESPHome’s existing Python CLI and dashboard code to seamlessly utilize the new CMake-based build backend.
  • Review code from team members regarding build system changes.
  • Ensure the new build system reliably produces working binaries across supported platforms and complex configurations.
What you need to have
  • Senior experience in architecting and implementing complex software build systems.
  • Expert-level knowledge of modern CMake, specifically in cross-compilation environments for embedded systems.
  • Strong expertise in Python development, as the glue code orchestrating the build is written in Python.
  • Deep understanding of embedded toolchains (compilers, linkers, sysroots) and vendor SDKs, particularly Espressif IDF.
  • Experience with Git and GitHub.
  • Professional Fluency in English: Excellent written and verbal communication skills in English.
It would be great if you also have
  • A passion for smart homes and automation.
  • Experience as an ESPHome user.
  • Previous experience contributing to, or deeply analyzing the internals of, PlatformIO.
  • Experience with C/C++ package management design concepts (e.g., Conan, vcpkg).
The conditions
  • This is a project-based contractor position with a clear definition of done: a release of ESPHome that directly uses CMake/ESP-IDF without requiring PlatformIO.
  • The Open Home Foundation is a fully remote organization; you can work from anywhere in the world.
  • Because we are a fully remote company, there is no fixed schedule. However, for team communication, we try to ensure at least 3 hours of overlap in the workday with the members of our team, who are mostly based in Europe.
  • Your point of contact will be our Ecosystem Lead.
  • Compensation will be based on an agreed-upon hourly or project rate commensurate with the niche, senior expertise required for this architectural shift.
About us

The Open Home Foundation is a non-profit organization based in Switzerland, with the objective of fighting for the fundamental principles of privacy, choice, and sustainability for smart homes. It does this by supporting the development of open-source projects and open connectivity and communication standards.

A big part of this is Home Assistant, but the Open Home Foundation also owns or collaborates with other projects important to promoting privacy, choice, and sustainability in the smart home, like ESPHome.

The process
  • Apply for the project.
  • Our team will review your application.
  • Initial interview.
  • Technical assessment or discussion regarding build system architecture.
  • Interview with the team.
  • Contract Offer.
Obtenez votre examen gratuit et confidentiel de votre CV.
ou faites glisser et déposez un fichier PDF, DOC, DOCX, ODT ou PAGES jusqu’à 5 Mo.