Senior Python Integration Engineer, Hardware
Remote · À temps plein
Soyez le premier à postuler
- Expérience
- N'importe lequel
- Salaire
- USD 50,000 – USD 155,000 / year
- Ouvertures
- 1
- Publié
- il y a 1 heure
- Mode de travail
- Travaillez à domicile
- Admissibilité
- Open to candidates in the United States for a fully remote full-time role. The company also hires internationally through its remote employment setup, with country-specific compensation and legally required benefits based on where the employee resides.
- CV
- Candidature requise
Description de l'emploi
About Nabu Casa
Nabu Casa is the company behind Home Assistant, the world’s largest open-source smart home platform, trusted by more than two million households. It was created to keep the project financially sustainable, and in 2024 it joined forces with the Open Home Foundation to help safeguard and grow open-source initiatives. The company is guided by privacy, user choice, and long-term sustainability in every part of its work.
Nabu Casa operates profitably without outside investors. Its revenue comes directly from Home Assistant Cloud subscriptions and purchases of Home Assistant hardware, which means its focus stays on employees and users. The company also backs other open-source efforts spanning hardware, standards, and voice technology.
Role overview
This position is for a senior Python engineer who will own the software layer that links Nabu Casa hardware products with the Home Assistant ecosystem. The role sits at the point where hardware and software meet: you will build the integrations and device-support code that allow physical Nabu Casa devices to work smoothly inside Home Assistant. You will partner closely with the Hardware team and the Embedded Linux Developer, and your work will be what users first experience when they connect a Nabu Casa device.
The role is centered on the application and client-side integration layer rather than low-level firmware, operating-system, or device-driver work. You should be comfortable working in large, evolving codebases with many dependencies, contributors, and long-term maintenance needs.
Purpose of the role
The Python Integration Engineer is responsible for the software layer that helps Nabu Casa products and services operate seamlessly with Home Assistant, ESPHome, and the wider Open Home ecosystem. This includes building integration logic, device support, and automation behavior that makes Nabu Casa hardware and cloud services feel native across related Open Home Foundation projects.
Responsibilities
- Take ownership of integrations and software support for Nabu Casa products across Home Assistant, ESPHome, and related Open Home Foundation projects throughout the full product lifecycle.
- Develop and maintain Python integrations, proxy libraries, and related software components that connect Nabu Casa devices to the Home Assistant and ESPHome ecosystems, with an initial focus on expanding these areas.
- Create and support Python code that communicates with device protocols and hardware peripherals, converting low-level device behavior into polished Home Assistant entities and user-facing experiences.
- Work closely with the Embedded Linux OS Engineer and the Hardware team to understand device capabilities and turn them into clean, maintainable software integrations.
- Contribute to Home Assistant core, ESPHome, and other related projects when needed to support integrations, config flows, entity models, and platform features.
- Maintain high code quality in your area by producing well-tested, readable, and well-documented Python code.
- Review community issues and pull requests for owned integrations, giving helpful and constructive feedback that advances collaboration.
- Diagnose and fix software and integration problems, including protocol edge cases, compatibility issues, regressions, and device communication failures.
- Keep unit, integration, and hardware-in-the-loop test coverage healthy where relevant.
Requirements
- Strong Python development background, including async/await, testing tools, type hints, and scalable software design patterns.
- Proven experience contributing meaningfully to large open-source projects, with public pull requests, code review, and asynchronous collaboration.
- Experience creating integrations, APIs, automation systems, device communication layers, or software for connected devices.
- Comfort working across software and hardware boundaries, including understanding device protocols and basic hardware interaction concepts.
- Familiarity with local device and communication technologies such as Bluetooth, Zigbee, USB, UART, mDNS, SPI, I2C, MQTT, or similar.
- Ability to learn unfamiliar systems quickly and navigate large, complex codebases.
- Strong troubleshooting instincts for integrations and distributed systems.
- Experience or familiarity with Home Assistant, ESPHome, integrations, config flows, entity models, or related Open Home projects is an advantage.
- Ability to work with a high level of autonomy and take integrations from idea through long-term maintenance.
- Comfort working asynchronously across distributed teams, cultures, and time zones.
- Willingness to receive feedback and adapt based on review comments.
- Community-minded approach to public collaboration with external contributors.
- Strong written communication and the ability to explain technical ideas clearly.
- Quality-conscious mindset balanced with pragmatic delivery.
Nice to have
- Prior contributions to Home Assistant, ESPHome, or other Open Home Foundation projects.
- Experience building software for smart home, IoT, or connected hardware products.
- Familiarity with Raspberry Pi or embedded Linux ecosystems.
- Experience supporting software at scale across distributed hardware environments.
- Background working in fully remote, async-first engineering teams.
Working style and conditions
This is a fully remote position. Nabu Casa uses Remote to employ people across the world, and employees are hired as salaried staff in their own country. The role is full time at 40 hours per week. There is no fixed schedule, but the team aims for at least three hours of overlap during the workday for communication. You will report to the Engineering Manager.
Employees receive all statutory benefits required by their country of residence, plus a baseline global package that includes paid time off, sick leave where needed, parental leave, equipment support, learning support, and other benefits.
Benefits and perks
- Five weeks, or 25 days, of paid time off.
- Fourteen days of paid sick leave if local law treats sick leave as unpaid.
- Six weeks of paid parental leave and six weeks of unpaid parental leave, usable within the first year after birth.
- A hardware budget for equipment at the start of employment, with the option to keep it for personal use after three years.
- An annual smart home budget.
- An annual education budget.
- A yearly performance bonus tied to company performance.
- 50% coverage of your home internet bill.
- One day every two weeks dedicated to personal projects.
- Permission to spend work time maintaining Home Assistant-related side projects, where applicable.
Compensation
Nabu Casa aims to offer new hires a total compensation package around the 75th percentile for the role, seniority, and local market. Approximate annual compensation in primary operating countries is as follows: Canada CAD 105,000 to 129,100; United States USD 120,000 to 155,000; Latin America USD 50,000 to 65,000. For other countries, compensation is discussed during the first interview. Final figures may vary depending on experience, qualifications, and working hours.
About the company and ecosystem
Nabu Casa also funds development efforts for Home Assistant and other projects at the Open Home Foundation. Its broader ecosystem includes open hardware tools such as ESPHome and ESP Web Tools, open standards such as Python Matter Server, Z-Wave JS, ZigPy, BTHome, and Improv Wi-Fi, open voice projects such as Rhasspy, Wyoming Protocol, and Piper, as well as Music Assistant. The company’s culture is built around privacy, choice, sustainability, and long-term open-source stewardship.
Recruitment process
- Submit your application.
- The hiring manager and team review your profile.
- Screening stage.
- Technical assessment.
- Interview with the engineering team.
- Offer stage.
- Join the team.