Jobs at Onward Technologies Inc

View all jobs

Senior Embedded Firmware Engineer

Redwood City, CA
Title: Senior Embedded Firmware Engineer
Location: Redwood City, CA

Salary Range: $48.00 - $68.00/hr.

Job Description:

This position will work with a cross functional team for developing embedded software for our client's future medical device products. This position will have the opportunity to excel within a high-energy, small, focused team environment, maintain a strong sense of shared responsibility and shared reward, and to make work fun and interesting.

Responsibilities: (Other duties may be required as assigned)

  • Set a committing and delivering example, mentoring team members, and growing technical capability
  • Work on multiple projects to develop new product embedded software
  • Design, code, test, and document embedded software for feasibility prototypes and released product
  • Work closely with cross-functional groups, including FPGA Firmware Engineering and Software and Electrical Engineering peers to define product requirements
  • Ensure all product embedded software is developed in accordance with the software development process, including requirements definition, architecture, design, implementation, debugging, and software testing
  • Write protocols and reports for embedded software verification and validation testing
  • Support software on customer complaint analysis team
  • Be capable of owning and completing tasks with the time pressures typical of new product development

Qualifications: (Education, Experience, Certifications)

To perform this job successfully, an individual must be able to perform each essential duty satisfactorily. The requirements listed below are representative of the knowledge, skill, and/or ability required.

Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.

  • The Sr Embedded Software Engineer position requires a minimum of a Bachelor’s degree (B.S.) in CS/EE/BME or equivalent with 5+ years of direct experience developing embedded software for medical devices, or a Master’s degree with 3+ year of experience.
  • MCU programing experience using C/C++ experience required
  • Experience with real-time embedded software programming required
  • Demonstrated excellent verbal and written communication skills
  • Ability to effectively coordinate multiple projects, highly self-directed
  • Demonstrated strong ability to systematically troubleshoot and debug complex software/hardware problem
  • Experience with software architecture, development and testing best practices, coding standard required
  • Experience with automated software testing systems for embedded systems testing required
  • Experience interacting with software debugging in an embedded IDE required
  • Experience controlling hardware using various I/O protocols such as I2C, SPI, UARTs, RS485, etc. required
  • Experience with motor control algorithms on various types of motors (BLDC, DC brushed, etc.)
  • Experience as a key player developing software on a development team
  • FPGA design and development capability a strong plus
  • Familiar with Scrum development process a strong plus
  • Comfortable using oscilloscopes, logic analyzer, multimeters, power supplies, etc.
  • Comfortable reading schematics and hardware data sheets
  • Experience with object-oriented analysis and design techniques a plus.
  • Experience with RTOS a plus
  • Experience with JTAG debugging, Embedded SW profiling using software and hardware tools required
  • Experience with GNU compilers, software versioning and GIT version control a plus.
  • Strong technical documentation skills within a formal quality system (ISO 13485, IEC 62304, 21, FDA QSR’s etc.)
  • Direct experience with entire software development life cycle, from concept through maintenance
  • Experience working in medical device software development
  • Demonstrated excellent verbal and written communication skills
  • An interest in the medical applications and experience with surgical device and medical image processing software development
  • The ability to excel within a high-energy, small, focused team environment, maintain a strong sense of shared responsibility and shared reward, and to make work fun and interesting
  • Ability to effectively present information and respond to questions from other internal groups, clients, customers, and the general public
  • Ability to work with mathematical concepts such as probability and statistical inference
  • Ability to solve practical problems and deal with a variety of concrete variables in situations where only limited standardization exists

Share This Job

Powered by