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
-Ex
To help us track our recruitment effort, please indicate in your email/cover letter where (vacanciesineu.com) you saw this job posting.
vacanciesineu.com At ABB, we help industries run leaner and cleaner—and every person here makes that…
vacanciesineu.com Wondering what’s within Beckman Coulter Diagnostics? Take a closer look. At first glance, you’ll…
Location: Zagreb - Croatia Salary: Competitive Type: Permanent Main Industry: Search Retail & Wholesale Jobs…
Location: Stavanger (4065) - Norway regions, Norway Salary: Competitive Type: Permanent Main Industry: Search Engineering…
Location: (M5J 2S1) Ontario, Canada Salary: Competitive Type: Permanent Main Industry: Search Secretarial, Office &…
Location: Toronto, Ontario, Canada Salary: Competitive Type: Permanent Main Industry: Search Finance, Banking & Insurance…