• Embedded Software Engineer

    Requisition ID
    Experience Level
    Employment Status
    Regular Full-Time
    Location : Location
    US-CA-San Jose
  • Overview

    Design, implement and support embedded software development for new medical device and IoT products. Working closely with the other hardware engineers to develop firmware control of the optical, mechanical, and electrical sub-systems.  Develop engineering requirements and specifications and conduct embedded software verification and validation testing.


    • Work closely with hardware engineering team to define product requirements, verify hardware design with the engineering team.
    • Designs and develops embedded software in C/C++ including hardware/software interfacing, real time, signal processing, communication, user interfaces, and data storage/management under both Windows and Linux.
    • Participate in cross functional design review; analyze complex hardware and firmware issues.
    • Identify and optimize the performance of critical signal processing algorithms.
    • Develop embedded software for wireless communication micro-controllers.
    • Validate customer requirements and perform failure analysis on embedded software issues.
    • Ensure all product embedded software is developed in accordance with the software development process, including requirements definition, architecture, design, implementation, debugging, and software testing.
    • Develop automated test platform for embedded systems. Write protocols and reports for embedded software verification and validation testing.
    • Test and document embedded software and firmware according to the new product develpment process.



    Education & Experience:

    • BS or MS in Computer Engineering, Electrical Engineering, or Computer Science
    • 4+ years of embedded software development experience
    • Expert with embedded IDE, compilers, and source code control tools
    • Experience bringing up hardware and debugging embedded systems using ICE and other tools
    • Familiarity using in-circuit debugging, logic/bus analyzers, oscilloscopes, etc.
    • Experience with standard embedded communication protocols such as I2C, SPI, UART, and CAN
    • Experience with ARM Cortex Microprocessors

    Knowledge, Skills, and Abilities:

    • Strong knowledge of firmware development, verification, system failure analysis, embedded systems design and real time embedded systems
    • Strong working knowledge of software engineering principles and designing and developing embedded software using C/C++ programming language.
    • Knowledge of the Agile software development process and life cycle.
    • Strong problem-solving skills, including the ability to find creative solutions to difficult problems.
    • Ability to work in a fast-paced environment and communicate effectively (written and verbal) across multiple locations and teams
    • Experience with wireless communication protocols a plus.
    • Expereince with Texas Instruments microcontrollers a plus.



    Sorry the Share function is not working properly at this moment. Please refresh the page and try again later.
    Share on your newsfeed

    Connect With Us!

    Not ready to apply? Connect with us for general consideration.