Back to Jobs

Embedded Software Engineer

Not Disclosed

Job Description & Details

This is a specialized firmware gig focused heavily on wireless protocols and low-power IoT devices rather than just running blinky on a dev board. If you enjoy digging into registers, optimizing MAC/PHY layers, and wrangling mesh networking stacks, this role will keep you genuinely challenged.

What You'll Actually Be Doing

Your days will be split between writing tight Embedded C, debugging hardware quirks with a scope or J-Link, and making sure wireless packets actually make it across the air reliably. You'll work closely with hardware engineers to bring up new custom boards, implement secure bootloaders, and tune low-power states to stretch battery life. Expect to spend a lot of time tracing packets, dealing with RF coexistence issues, and wrestling with custom protocol layers on top of Silicon Labs silicon.

The Core Tech Stack

Embedded C is your bread and butter here, running on bare-metal or RTOS environments targeting ARM Cortex-M microcontrollers like the Silicon Labs EFR32. You need deep fluency with peripherals like UART, SPI, I2C, DMA, and timers. On top of standard firmware skills, this role demands real wireless chops—specifically Z-Wave, proprietary sub-GHz protocols, and mesh networking. Experience with Simplicity Studio, the Gecko SDK, and tools like Zniffer for packet analysis will save you from a lot of painful debugging sessions.

Interview Expectations

Expect the hiring team to grill you on how you handle interrupt service routines and memory management under strict resource constraints; they'll likely ask you to write a thread-safe circular buffer or explain how you'd debug a hard fault on an ARM Cortex-M without crashing the system. They are secretly testing whether you understand the hardware-software boundary deeply, or if you just rely on high-level HAL abstractions to bail you out when things break.

Application Advice

Make sure your resume explicitly highlights your hands-on experience with low-power wireless protocols and ARM Cortex-M processors rather than just listing general programming languages. Drop specific keywords like 'Z-Wave', 'Simplicity Studio', 'secure boot', and 'FreeRTOS' or whatever RTOS you've used directly into your project descriptions so you easily clear the ATS filters and grab the attention of the engineering manager.