Embedded Software Engineer developing reliable firmware close to hardware for DSP architecture and microcontrollers. Collaborating on real-time embedded software and optimizing compute-heavy pipelines.
Responsibilities
Design, implement, and maintain embedded firmware for DSP cores and MCUs (RISC V and/or Arm).
Build and optimize real-time signal-processing pipelines (fixed-point and/or floating-point), potentially including FFTs, filters, modulation/demodulation, codecs, feature extraction, or control loops.
Develop firmware using a mix of C/C++ (and selective assembly where appropriate), with strong focus on performance, memory, and power optimization.
Work with SoC/board peripherals: DMA, timers, SPI, I²C, UART, I²S/TDM, PWM, GPIO, and relevant bus fabrics.
Bring up new hardware: boot flows, clocks, memory maps, interrupt vectors, peripheral init, and early validation.
Implement and debug drivers and RTOS components (e.g., Zephyr or equivalent), including task scheduling, synchronization primitives, and ISR design.
Develop test strategies: unit tests, hardware-in-the-loop tests, test automation, and manufacturing/production diagnostics.
Use debugging/profiling tools: JTAG/SWD, logic analyzers, oscilloscopes, trace (ETM/ITM), and cycle-accurate profiling when available.
Collaborate cross-functionally with hardware, FPGA/ASIC, systems, and application teams to define requirements and interfaces.
Contribute documentation: architecture notes, interface specs, timing budgets, work packages, and bring-up guides.
Participate in code reviews and help establish best practices for embedded quality, safety, and maintainability.
Requirements
Strong professional experience developing embedded firmware in C/C++ for MCUs and/or DSPs.
Hands-on experience with RISC V and/or Arm architecture (Cortex M/A), including interrupts, memory, caches, and performance characteristics.
Solid understanding of embedded software fundamentals:
Responsable Technique R&D sur des innovations dans le domaine des hautes tensions. SuperGrid Institute facilite la transition énergétique avec des solutions avancées en collaboration avec des acteurs industriels.
Software Engineer designing scalable information retrieval infrastructure for Slack. Collaborating with teams to maintain high availability and build new features.
Software Engineer developing scalable, resilient offline indexing pipelines for Slack's search infrastructure. Collaborating with product engineering to build new features and ensure system reliability.
Senior Systems/Software Engineer designing and developing complex software solutions for HPE's edge - to - cloud offerings. Leading project teams and managing internal and outsourced development partners.
ETL/Data Validation QA professional responsible for validating Informatica - to - Oracle PL/SQL migrations and data accuracy in SAP Commissions. Execute manual and automated tests and manage test cases efficiently.
Senior Software Engineer responsible for designing scalable systems at GEICO. Collaborating across teams while guiding quality practices in a fast - paced environment.
Staff Software Engineer developing reliability software for GM Autonomous Vehicles, collaborating across teams to enhance multi - sensor systems and improve data quality.
Senior Software Engineer developing and implementing vehicle simulation components for General Motors. Collaborating with technical experts to optimize performance and maintainability in vehicle modeling.
Senior Software Engineer developing and maintaining datapath software components for F5’s cybersecurity innovations. Collaborating across teams to optimize hardware and software integration.
Software Engineer building tools that shape how Homebase engineers ship software. Contributing to AWS infrastructure while improving internal developer experience as part of a collaborative team.