Revel Embedded Software Engineer responsible for building the software layer bridging Revel's runtime and industrial machinery hardware. The role focuses on performance, portability, and robust driver implementation.
Responsibilities
We are looking for an experienced Embedded Software Engineer to join our rapidly growing engineering team. In this role, you will build the critical software layer that bridges Revel's high-performance runtime and the complex physical world of industrial machinery. We are seeking a systems expert who obsesses over performance and abstraction, to whom a millisecond seems like an eternity, and who takes pride in implementing drivers that are robust, portable, and mathematically correct.
Integrate industrial hardware, from standard PLCs to specialized instrumentation, navigating complex register maps and standard protocols.
Reverse-engineer "black box" hardware behavior when vendor documentation falls short, treating datasheets as hypotheses rather than facts.
Write portable, high-performance Rust code targeting Linux userspace today but designed to be architecture-agnostic.
Own the physical boundary using logic analyzers and oscilloscopes to drive troubleshooting to the absolute root cause.
Treat system reliability as a safety requirement, rigorously validating code to prevent failures that could result in physical damage or dangerous behavior.
Qualification
High proficiency in RustStrong understanding of Linux internalsDeep familiarity with ModbusIntuitive grasp of latency costsCompetitive salary
Required
Bachelor's degree in Computer Engineering, Electrical Engineering, Computer Science, or related field (or equivalent practical experience).
3+ years of professional experience in systems programming (C/C++/Rust) or embedded software development.
High proficiency in Rust, C, or C++, with a willingness to work primarily in Rust.
Strong understanding of Linux internals, including sockets, syscalls, and kernel-to-userspace data flow.
Ability to interpret electrical schematics, datasheets, and timing diagrams to translate hardware behavior into code.