Principal Software Engineer - Edge Computing
As a Principal Software Engineer focused on R&D within Resideo’s Innovation organization, you will help build the next generation of software platforms that enable intelligent, connected experiences across the home.
This is a highly technical, hands-on role for an engineer with a strong software systems background who enjoys solving complex problems from the ground up. You will contribute to the architecture and development of an edge computing runtime and integration platform, helping create a software foundation that can understand connected devices and their data, build a richer model of the home, especially spatial and occupancy information, and make that information available to applications, edge workloads, and intelligent agents.
You’ll work in an R&D environment where the path isn’t always predefined. The role is focused around exploring new ideas, rapidly learning unfamiliar technologies, building prototypes and production-quality systems, and helping determine which concepts are worth taking further.
JOB DUTIES
-
Architect, design, and build core components of Resideo’s next-generation edge computing and spatial intelligence platforms.
-
Develop an edge runtime and integration platform capable of bringing together data and capabilities from connected devices across the home.
-
Help build software models and knowledge structures that make device and home information usable by other systems, including edge applications, mobile experiences, and intelligent agents.
-
Take complex technical problems from concept through prototype and implementation, helping the team quickly test, learn, and iterate.
-
Evaluate technologies and architectural approaches based on scalability, reliability, performance, portability, and long-term maintainability.
-
Serve as a technical leader within the team, providing architectural guidance, reviewing code and designs, and establishing strong software engineering practices.
-
Work closely with engineers across Innovation, IoT systems, mobile, embedded firmware, and other technical disciplines.
-
Contribute to R&D planning by identifying opportunities, shaping technical concepts, communicating recommendations, and helping turn promising ideas into new projects.
-
Mentor engineers and contribute to a collaborative engineering culture focused on thoughtful experimentation and high-quality execution.
YOU MUST HAVE
-
10+ years of experience in technology environments, with hands-on software development experience in compiled programming languages (such as Rust, C/C++, or Go).
-
Software systems engineering experience (in areas such as databases, operating systems, compilers, networking, cybersecurity, virtualization) focused on building foundational technology.
-
Experience working in a R&D, advanced development, prototyping, or similarly exploratory technical environment.
WE VALUE
-
Strong communication skills and the ability to clearly explain technical needs, architectural decisions, tradeoffs, and recommendations.
-
Experience taking ideas from prototype to product.
-
Experience with Rust, or a strong interest in becoming highly proficient with Rust.
-
Experience designing or building foundational software systems such as databases, operating systems, compilers, runtimes, network stacks, protocols, or similar infrastructure.
-
Networking and network protocol development experience.
-
Cybersecurity or secure systems development experience.
-
Experience with edge computing, distributed systems, or resource-constrained computing environments.
-
Experience with knowledge graphs, ontologies, semantic technologies, or other approaches to representing relationships between systems and data.
-
Experience developing or integrating intelligent agents or agent-based systems.
-
Experience with Internet of Things (IoT) technologies and connected-device ecosystems.
-
Experience with embedded Linux, including technologies such as Yocto, or experience with embedded RTOS environments.
-
Experience with asynchronous programming.
-
Experience with containers, WebAssembly, virtualization, or application portability technologies.
-
End-to-end platform development experience.
-
Experience with robust software quality, testing, version control, and continuous integration practices.
-
Experience with a major cloud platform; Resideo uses Azure.
-
A track record of learning from previous architectural or technical approaches and applying those lessons to future system design.
-
Comfortably moving between exploration and execution, with the ability to pivot quickly as new information emerges, and are willing to challenge or adapt processes when doing so helps the team move forward.
-
Self-direction while still actively participating in team planning and technical discussions.
WHAT’S IN IT FOR YOU
-
Help create foundational technology for the next generation of connected-home experiences.
-
Work on technically challenging problems spanning edge computing, IoT, software systems, spatial intelligence, and emerging intelligent-agent technologies.
-
Join a small but high impact R&D environment where you can influence architecture and technical direction rather than simply execute against an established product roadmap.
-
Take ideas from early exploration through working systems and help determine how new technologies can create value across Resideo.
-
Collaborate with experienced engineers across software, IoT, mobile, embedded systems, and innovation teams.
-
Have significant technical ownership and the opportunity to shape software that can ultimately support products and experiences across Resideo’s connected-home ecosystem.
#LI-EP1
#LI-Remote
Required Skills
Required Languages
🇬🇧 English