About the Role
About the Role
The Embedded Engineer role involves developing embedded applications primarily using Go, Rust, or C++. Candidates will work on applications for embedded devices, focusing on performance optimization and system-level applications.
Experience
There are two openings:
- Mid-Level Engineer: 4–6 years of experience
- Senior Engineer: 7–8 years of experience (ideal range)
A future Team Lead version of the role may require prior people management experience, although the candidate would initially join as an Individual Contributor (IC).
Core Technical Skills Programming Languages (Must-Have)
Candidates should have strong expertise in at least one of:
- Go (preferred)
- Rust
- C++
Important: Candidates whose primary language is C only are not a fit. If a candidate's background is primarily in C, they must also demonstrate solid C++ experience.
Operating System
Strong experience developing applications on Embedded Linux. Experience building software that runs on embedded devices at the application layer.
What They're Actually Looking For
The team develops embedded applications, not operating systems.
Good Candidates Have Experience With
- Embedded Linux application development
- Device software
- System-level applications
- Networking or distributed embedded software
- Performance optimization
- Cross-platform development
A Suitable Candidate Would Look Something Like This
Role: Embedded Software Engineer
Experience: 4–8 years (depending on level)
Primary Languages: Go, Rust, or C++
Platform: Embedded Linux
Preferred Expertise: Embedded application development, system software, networking, performance optimization
Nice to Have
- Yocto
- Buildroot
- Embedded build systems
Strong Industry Background
Energy, aerospace, robotics, industrial automation, advanced embedded products
Key Differentiator
Hands-on application-layer development on Embedded Linux, combined with strong communication skills.
Requirements
Programming Languages
Strong expertise in Go, Rust, or C++ is required.
Embedded Linux
Experience developing applications on Embedded Linux is essential.
Application Development
Candidates should have experience in embedded application development.
Performance Optimization
Experience in performance optimization for embedded systems is important.
Nice to Have
Familiarity with Yocto is a plus.
Experience with Buildroot is beneficial.
Knowledge of embedded build systems is advantageous.