Embedded / IoTSMBEnterprise

Embedded Systems Engineer

[Company Name] is seeking an Embedded Systems Engineer to design and develop firmware for our hardware products. You will write low-level code for microcontrollers, optimize for power and memory constraints, and work closely with hardware engineers to bring devices from prototype to production. This role is ideal for an engineer who enjoys solving problems at the intersection of hardware and software.

Key Responsibilities

  • Design and develop firmware for microcontrollers and embedded processors in C and C++
  • Implement device drivers for peripherals including sensors, communication interfaces, and displays
  • Optimize firmware for power consumption, memory usage, and real-time performance constraints
  • Develop and maintain automated test suites for embedded software including hardware-in-the-loop testing
  • Collaborate with hardware engineers on PCB bring-up, schematic review, and component selection
  • Implement communication protocols (UART, SPI, I2C, BLE, Wi-Fi) for device connectivity
  • Support manufacturing teams with production firmware, factory test procedures, and OTA update mechanisms

Required Skills & Experience

  • 3+ years of experience developing embedded firmware in C or C++
  • Proficiency with microcontroller families such as ARM Cortex-M, ESP32, or STM32
  • Experience with real-time operating systems (FreeRTOS, Zephyr, or ThreadX)
  • Strong understanding of hardware interfaces and communication protocols (SPI, I2C, UART, GPIO)
  • Ability to read schematics and use debugging tools (oscilloscopes, logic analyzers, JTAG debuggers)
  • Experience with version control (Git) and embedded build systems (CMake, Make)
  • Knowledge of power management techniques for battery-operated devices

Nice-to-Have

  • Experience with wireless communication protocols (BLE, Zigbee, LoRa, or Wi-Fi)
  • Familiarity with IoT cloud platforms (AWS IoT Core, Azure IoT Hub)
  • Knowledge of functional safety standards (IEC 61508) or automotive standards (AUTOSAR)
  • Experience with PCB design review and signal integrity basics
  • Familiarity with Rust for embedded systems development

Tech Stack

CC++FreeRTOSZephyrARM Cortex-MESP32STM32JTAGCMake

What We Offer

  • Competitive salary and equity package
  • Flexible remote or hybrid work arrangement
  • Health, dental, and vision insurance
  • Annual learning and development budget
  • Generous PTO policy

Interview Process

  1. 1Recruiter phone screen (30 min) — role fit and logistics
  2. 2Technical phone screen (45 min) — embedded fundamentals, C programming, and hardware concepts
  3. 3Coding exercise — implement a driver for a given peripheral specification
  4. 4On-site or virtual loop (3 hours) — firmware debugging scenario, architecture discussion, and team fit
  5. 5Offer and reference checks