Home Assistant Python Developer for Hardware (America)
WFA Digital Insight
Nabu Casa’s Home Assistant platform powers millions of smart‑home setups, and this role sits at the exact point where software meets the physical devices. The senior‑level Python Integration Engineer will own the code that translates raw hardware signals into the clean entities Home Assistant users interact with, meaning every line of code becomes part of a household’s everyday experience. Working side‑by‑side with the embedded‑Linux team and hardware designers, the engineer must balance deep knowledge of Python libraries with an understanding of device protocols and the broader Open Home ecosystem. Candidates should be comfortable navigating a large, collaborative codebase, contributing back to Home Assistant core, and maintaining rigorous test coverage, because reliability is non‑negotiable when users plug devices into their homes.
Job Description
About Nabu Casa Nabu Casa https://www.nabucasa.com is the organisation behind Home Assistant https://www.home-assistant.io, the world's largest free and open-source smart home platform used by over two million households. We were founded to ensure the project's sustainability, and in 2024, we partnered with the Open Home Foundation to protect and promote a wide range of open-source initiatives. Our guiding principles—privacy, choice, and sustainability—are embedded in everything we do, from our architecture to our community. We are a profitable company with no external investors. Our funding comes directly from users who subscribe to Home Assistant Cloud https://www.home-assistant.io/cloud/ and purchase Home Assistant hardware, ensuring our only stakeholders are our employees and our users. We also support other open-source projects, including those focused on hardware, standards, and voice technology. The Role We're looking for a Home Assistant Senior Python Integration Engineer for Hardware to own the Python software layer that connects Nabu Casa's hardware products to the Home Assistant ecosystem. This role sits at the boundary between hardware and software: you'll write the integrations and device support code that make physical Nabu Casa devices work seamlessly within Home Assistant. You'll work hand-in-hand with our Hardware team and Embedded Linux Developer — and your output is what users experience the moment they plug in a Nabu Casa device. If you're excited by the challenge of writing software that talks directly to hardware, and you want that work to reach millions of smart homes, this is the role for you. Purpose of the Role The Python Integration Engineer owns the software and application layer that enables Nabu Casa products and services to function seamlessly within Home Assistant, ESPHome, and the broader Open Home ecosystem. This role sits at the boundary between hardware and software, building the integrations, device support code, and automation logic that allow Nabu Casa hardware and cloud systems to work naturally with Home Assistant, ESPHome, and related Open Home Foundation projects. The role is focused primarily on the client-side integration and application layer rather than low-level hardware, operating-system, or firmware development. You will work closely with the Hardware team, the Embedded Linux OS team, the Open Home Foundation, and the wider Home Assistant and ESPHome ecosystems to deliver reliable and user-friendly device experiences. You should be comfortable navigating large, evolving codebases with many interconnected components, contributors, and long-term maintenance requirements. Core Responsibilities - 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 What you need to have Technical / functional - 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.
- Comfortable collaborating across distributed teams, cultures, and time zones in a highly asynchronous environment.
- Open to feedback — able to take on review comments and adapt, rather than holding rigidly to an approach.
- Community-oriented mindset — comfortable contributing publicly and collaborating with external contributors in open-source environments.
- Strong written communication skills and ability to explain technical concepts clearly.
- Quality-focused while remaining pragmatic and delivery-oriented.
- Experience building software for smart home, IoT, or connected hardware products.
- Raspberry Pi or embedded Linux ecosystem familiarity.
- Experience maintaining software used at large scale across distributed hardware environments.
- Experience working in fully remote and async-first engineering teams.
- 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.
- 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.
- US: 120,000 - 155,000 USD - LatAm: 50,000 - 65,000 USD - Other countries: Compensation can be discussed during the first interview.
How to Stand Out
- Highlight any Home Assistant or ESPHome integrations you have built in your portfolio; include links to the repositories.
- Showcase test coverage metrics or examples of how you structure unit and integration tests for Python projects.
- Be prepared to discuss a challenging device protocol you translated into a Home Assistant entity and the debugging steps you took.
- Familiarise yourself with Nabu Casa’s cloud subscription model; understanding the business context helps during interview conversations.
- When negotiating, factor in remote‑work allowances and the professional development budget as part of the total compensation package.
- Watch for vague statements about “ownership” without clear team structure; ask how responsibilities are divided between hardware and software teams.
- During the interview, demonstrate your open‑source mindset by explaining how you handle community contributions and code reviews.
This is a remote position listed on WFA Digital, the platform for professionals who work from anywhere. Browse more remote jobs across all categories.