Embedded Software Engineer - Platform & Firmware

Pivotal Systems Corp Inc
  • Fremont, CA
    30+ days ago

    Job Description

    Embedded Software Engineer (Platform & Firmware)

    Overview: We are seeking an Embedded Software Engineer (Platform & Firmware) to design, develop, and test software that interfaces directly with hardware, such as microcontrollers and processors in embedded systems. This role focuses on foundational software development, including drivers, bootloaders, and firmware, using C, C++, and assembly to manage system resources and optimize device performance. You will need a deep understanding of computer architecture, hardware-software integration, and low-level debugging. As a core member of our software engineering team, you will collaborate closely with embedded software and hardware engineers to deliver high-performance, reliable systems.

    Key Responsibilities:

    • Develop Low-Level Software: Write and maintain firmware, bootloaders, and device drivers for embedded hardware platforms.
    • Optimize Performance: Ensure code efficiency and performance on resource-constrained systems (limited memory, CPU, power).
    • Hardware-Software Integration: Collaborate with hardware teams to validate and troubleshoot system-level issues.
    • Debug and Test: Use tools like oscilloscopes, logic analyzers, and in-circuit debuggers to identify and resolve issues at the hardware/software boundary.
    • System Resource Management: Implement low-level system features such as power management, memory allocation, and communication protocols (SPI, I2C, UART, etc.). Required Skills and Qualifications:
    • Proficiency in C, C++, and assembly language for embedded development.
    • Strong understanding of microcontrollers, processors, and memory management.
    • Experience with device trees, real-time operating systems (RTOS), and device driver development.
    • Skilled in using low-level debugging tools: oscilloscopes, logic analyzers, JTAG, ICE, etc.
    • Excellent analytical and problem-solving skills to address complex hardware/software integration issues.
    • Bachelor's or Master's degree in Computer Engineering, Electrical Engineering, or Computer Science. Preferred skills:

    The ideal candidate will also have:

    • Experience with EtherCAT technology
    • CAN ecosystem Software: DeviceNet or CANopen stacks
    • Embedded Linux Platform Software: Device tree, init/system services, userspacedeamons, kernal • Diagnostic tooling: Python utilities for log parsing and packet/trace inspection
    • PLC familiarity: (software and hardware)

    Numbers & Facts

    LocationFremont, CA

    More jobs like this

    See more jobs

    Be found by employers

    5,500+ employers search our resume database daily. Add yours to get found by recruiters looking for candidates like you.