Senior Embedded Software, Firmware & Driver Engineer

microTECH Global LTD 

📍 Bucharest, Romania, Romania 🇷🇴

full-time
senior
Expired
Posted —
This job posting has expired View All Embedded Software Engineer Jobs

Key Skills

firmwaredriversRTOSLinuxdebugging

Industry

AutomotiveConsumer Electronics

Job Description

You will work across CPUs, MCUs, DSPs, NPUs, TPUs, and custom ASICs, developing firmware, boot flows, device drivers, and board-support packages (BSPs). The role spans early silicon and board bring-up through stable, scalable deployment, with a strong emphasis on correctness, performance, reliability, and maintainability.

What you'll do

  • Design, develop, and maintain embedded firmware and device drivers for a wide range of processors and accelerators, including ARM Cortex-M, Cortex-R, and Cortex-A; DSP cores (e.g., Tensilica); NPUs, TPUs, GPUs, and custom accelerators
  • Lead chip, SoC, and board bring-up from first power-on to production readiness
  • Develop and maintain BSPs, bootloaders, and low-level system software
  • Write and debug device drivers for peripherals and interfaces such as I2C, SPI, UART, CAN, USB, PCIe, Ethernet; GPIO, PWM, timers, DMA, watchdogs; sensors, cameras, storage, and custom hardware blocks
  • Develop firmware for RTOS-based systems and Linux-based platforms
  • Integrate firmware and drivers into a larger production software stack
  • Debug complex system-level issues across hardware, firmware, kernel, and user space
  • Optimize for performance, latency, memory footprint, power, and reliability
  • Collaborate closely with hardware, silicon, systems, and application teams to define interfaces and requirements
  • Establish and follow best practices for embedded software development, testing, documentation, and code quality
  • Support validation, manufacturing, and field issues with root-cause analysis and fixes

Required Qualifications

  • Bachelor's degree or higher in Computer Engineering, Electrical Engineering, Computer Science, or a related field
  • 7+ years of experience in embedded software, firmware, or driver development
  • Strong hands-on experience with bare-metal and RTOS-based firmware development; Linux kernel, device drivers, and system bring-up
  • Experience working across multiple processor architectures and cores (MCUs, CPUs, DSPs, accelerators)
  • Deep understanding of embedded systems fundamentals: boot flows, interrupts, memory hierarchies, caches, MMUs; concurrency, synchronization, and real-time constraints
  • Strong proficiency in embedded programming languages: C and C++; Assembly (at least at a debugging / bring-up level); Python and scripting for tooling, automation, and testing
  • Experience with hardware bring-up, debugging, and validation
  • Ability to read schematics, datasheets, and silicon reference manuals
  • Experience delivering production-quality embedded software


Preferred Qualifications

  • Experience with common RTOSes (e.g., FreeRTOS, Zephyr, QNX, ThreadX, VxWorks)
  • Strong Linux experience, including device tree; kernel configuration and build systems; driver development and debugging
  • Experience with bootloaders (e.g., U-Boot, custom boot ROM flows)
  • Familiarity with embedded Linux build systems (Yocto, Buildroot)
  • Experience with hardware debug and bring-up tools: JTAG/SWD, logic analyzers, oscilloscopes; GDB, OpenOCD, Lauterbach, Trace32, etc.
  • Experience with SoC and ASIC development environments
  • Familiarity with power management, clocking, and performance tuning
  • Experience in robotics, autonomous systems, or other safety-critical or real-time systems