Job Description:
• Own integrations and software support for Nabu Casa products across Home Assistant, ESPHome, and related Open Home Foundation ecosystems throughout the full product lifecycle.
• Build and maintain Python integrations, proxy libraries, and software components that connect Nabu Casa products to the Home Assistant and ESPHome ecosystems — expanding these components is a primary focus initially.
• Write and maintain Python software that interfaces with device protocols and hardware peripherals, translating low-level behaviour into clean Home Assistant entities and user experiences.
• Collaborate closely with the Embedded Linux OS Engineer and Hardware team to understand hardware capabilities and translate them into well-structured software integrations.
• Contribute to Home Assistant core, ESPHome, and related projects where needed to support integrations, config flows, entity models, and platform functionality.
• Own code quality within your areas by writing well-tested, maintainable, and well-documented Python code.
• Review community pull requests and issues related to owned integrations, providing clear and constructive feedback that helps move contributions forward.
• Investigate and resolve software and integration issues including protocol edge cases, compatibility problems, regression bugs, and device communication failures.
• Maintain healthy unit, integration, and hardware-in-the-loop test coverage where applicable.
Requirements:
• Strong Python development experience, including async/await, testing frameworks, type annotations, and scalable software architecture patterns.
• Required: meaningful experience contributing to large open-source projects, including public pull requests, code review, and asynchronous collaboration workflows.
• Experience building integrations, APIs, automation systems, device communication layers, or software for connected devices.
• Comfortable working across software and hardware boundaries, including understanding device protocols and hardware interaction concepts (deep hardware expertise is not required — that is handled by other team members).
• Familiarity with local device and communication protocols such as Bluetooth, Zigbee, USB, UART, mDNS, SPI, I2C, MQTT, or similar technologies.
• Ability to quickly understand unfamiliar systems and navigate large, complex codebases — plus a knack for discovery: working out how complex systems fit together and creating new solutions for greenfield problems.
• Strong debugging and troubleshooting mindset across integrations and distributed systems.
• Familiarity with Home Assistant, ESPHome, integrations, config flows, entity models, or related Open Home ecosystem projects is a strong plus.
Benefits:
• Five weeks (twenty-five days) of paid time off.
• Fourteen days of paid sick leave if your country/laws treat them as unpaid.
• Six weeks of paid and six weeks of unpaid parental leave to be used in the first year after birth.
• A budget for your work hardware once you start. After three years, you may keep this equipment for personal use.
• An annual smart home budget to ensure you keep up-to-date with the latest smart homes offer.
• An annual education budget to help you grow and stay on top of your game.
• A yearly performance bonus based on company performance.
• A 50% contribution to your internet connection fee at your home workspace.
• One day every two weeks to work on your personal projects.
• If you are currently working on Home Assistant-related side projects, you can spend work time maintaining them.