ForgeApply · Job listing
Home Assistant Python Developer for Hardware (America)
Nabucasa
Apply in about a minute — without sacrificing quality.
ForgeApply autofills this application and tailors your resume to this exact posting. You review everything before it's sent. Free trial, no card required.
About this role
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. This experience is important because the role requires collaborating within large shared codebases and public contribution 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.
Ways of working
- High autonomy and ownership mindset — able to independently drive integrations from concept through long-term maintenance.
- 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.
- C
Ready to apply to Nabucasa?
Apply in about a minuteSimilar jobs
- Senior Python Developer — Themotleyfool · Remote
- Senior Python Software Engineer (Perm, USA, Remote + Travel) — Nearform · Remote
- Senior Software Engineer (Python) — Patientpoint · Remote
- Software Engineer (Python) — Anysignal · Los Angeles, CA
- Senior Python Engineer — Mongodb · United States
- Senior Python/React/AWS Software Engineer — Mitratech · Remote
- Staff Software Engineer (Python) — Duettoresearch · Remote
- Senior AI Software Engineer, Python — Scorpionenterprisesllc · Remote