Role: Senior Firmware Developer
Location: Denver, CO (4 days onsite/week)
Must have skills:
C++ (11/14/17)
Python
Perl
Embedded Linux (Yocto/Buildroot)
RTOS (FreeRTOS, ThreadX, Zephyr)
I2C, SPI, UART, CAN, USB, TCP/IP
Experienced Engineer specializing in developing, integrating, testing, and maintaining broadband, video, and IoT solutions on RDK-based devices such as set-top boxes, gateways, and routers
Good to have skills:
Wireless stacks (BLE, Wi Fi, Thread, Zigbee)
Edge AI
DSP
ISO 26262, IEC 62304, MISRA C/C++
Detailed Job Description:
QUALIFICATION:BE/B.Tech
KEY RESPONSIBILITIES
Experienced Engineer specializing in developing, integrating, testing, and maintaining broadband, video, and IoT solutions on RDK-based devices such as set-top boxes, gateways, and routers
Key Niche Skills
Programming:
Strong proficiency in C++ (11/14/17) for embedded contexts (const correctness, RAII, templates, STL in constrained environments).
Strong scripting with Python (pytest/unittest, argparse, asyncio/threads, serial, numpy/pandas for analysis).
Working experience with Perl for legacy automation, parsing, tooling, infrastructure scripts.
Embedded Expertise:
- Experience with microcontrollers (e.g., ARM Cortex-M/R/A) or Embedded Linux (Yocto/Buildroot, device tree, system).
- Familiarity with RTOS (e.g., FreeRTOS, ThreadX, Zephyr) and interrupt-driven design.
- Hands-on with communication protocols: I2C, SPI, UART, CAN, USB, TCP/IP.
- Board bring-up, BSP customization, bootloaders (U-Boot), secure boot, OTA update mechanisms.
- Experience with Yocto, Cmake toolchain files, and containerized toolchains (Docker).
- Exposure to safety or quality standards (ISO 26262, IEC 62304, MISRA C/C++).
- Experience with wireless stacks (BLE, Wi Fi, Thread, Zigbee), edge AI, or DSP.
- Knowledge of power management, low-power modes, and battery-operated devices.
- Familiarity with Perl CPAN tooling and migration of legacy Perl scripts to Python when appropriate.
- Performance profiling and memory analysis on embedded targets (perf, gprof, valgrind, ETM/ITM).
Minimum years of experience: 8-10 years
Education: Bachelor's or Master of Engineering