Senior Software/Firmware Design Engineer

Sunnyvale, CA
5+ Years

Job Summary

We are looking for one or more experienced Design Engineers with a solid background in Firmware / Embedded Software, particularly extensive with Embedded Linux development. Exposure to other areas of electronics design, including firmware, board-level digital design, and logic design would also be beneficial. A strong desire to succeed and a passion for learning are key. The rapid hardware development cycle at Nuvation provides a unique and challenging opportunity to develop and apply skills ranging from system architecture through to detailed implementation and system integration.
The position will involve firmware design, engineering processes, test definition and planning, and a great deal of project responsibility.


  • Embedded Firmware / Software design and development
  • Embedded Firmware / Software technical documentation (requirements, specifications, process)
  • Device driver design and development
  • Hardware interfacing
  • Microcontroller selection
  • Custom communications protocol design
  • Test planning and definition
  • System integration with board level-designs


  • 5+ years working experience in firmware / software
  • Experience with a variety of Microcontrollers, Microprocessors, and DSP
  • Experience with C, Assembly and Embedded C++
  • Experience interfacing with hardware components, buses, protocols, and in particular board-level bring-up
  • Experience with 8-, 16-, and 32-bit microcontrollers / microprocessors
  • Experience with communications over Ethernet, USB, Firewire, or other interfaces
  • Experience with custom communications protocol design
  • Experience with real-time / embedded operating systems, particularly some form of Embedded Linux
  • Experience with document processes for FDA certifications a plus
  • Proficient in C and C++ compilers


  • Rapid learning
  • Multi-tasking
  • Estimation and critical thinking
  • Independent and self-managing when needed
  • Strong technical writing and verbal communication
  • Desire to mentor others and collaborate with teams
  • Passion and creativity
  • Hands-on and practical
  • A focus on results
  • Commitment to quality


Nuvation offers competitive salaries with excellent health, life, and disability benefits. All positions at Nuvation have opportunities for diversity, innovation, advancement, and success. We have a fast-paced, yet relaxed work environment and a unique corporate culture. Nuvation is an Equal Opportunity Employer.

About Nuvation

Nuvation is recognized as a global leader in Electronic Design Services (EDS). We provide project-based Hardware, Logic, and Firmware/Software Design services for the embedded systems industry. We offer a full spectrum of systems engineering, including FPGA design, Board (PCB) design, Signal Integrity analysis, Firmware/Software, and turnkey Product Development. Nuvation is a successful and established company with well-established offices in San Jose, California and Waterloo, Ontario.
Nuvation develops leading-edge technology for many companies, simultaneously working in many vertical markets. The focus is on challenging design work, high quality, and time to market.

Nuvation engineers work on projects combining digital and analog board-level electronic designs, large and small FPGAs/CPLDs, and embedded software and firmware. We operate in a wide variety of vertical markets and technology sectors, including telecom/datacom/storage, consumer electronics, medical and scientific systems and devices, security/defense/aerospace, semiconductor and test, imaging/video/broadcast applications, and many other areas. Therefore, we are seeking individuals who have an understanding of MANY different technologies, and a quick ability (and desire) to learn new technologies. This person should know something about (and be excited by) a broad range of technologies and applications.


Apply For a Position

  • Please attach a copy of your resume. File types accepted include pdf, doc, docx, odf, rtf. Upload zip files for multiple file submissions.
  • This field is for validation purposes and should be left unchanged.