Principal Embedded SW Engineer

Search Jobs
  • Specialty:

    • City:

    • State:

  • Assignment Type:

    Direct Hire
  • Job Id:



Principal Software Engineer 

Responsibilities of Principal Software Engineer 

Lead Software team to architect, design and implement platform software:
• Ensure that the software requirement and architecture are adequate for software engineers to implement their software.
• Ensure that the design is robust, meets requirements and architecture and documentation is complete and accurate.
• Ensure that the code is robust, complete, meets design, is properly unit tested and conforms to the coding standard.
• Ensure that the developers are appropriately contributing to the Software Risk management efforts.
• Facilitate technical discussions amongst the software team(s) and ensure that decisions are made in a timely manner and documented.
• Mentor software engineers on software development in a medical environment.

Requirements of Principal Software Engineer :
• A minimum of BSc. in Computer Science, Computer Engineering or equivalent. MSc. in Computer Science or Computer Engineering strongly preferred.
• Minimum of 7-10 years of software development experience, from concept to production.
• Expert knowledge in software analysis/architecture, technical requirements, and design & development.
• Practical programming experience developing software for a commercial product, ideally involving significant capital and medical equipment.
• Experience leading a software team to design and develop sophisticated software. Experience working with other technical leads in a complex environment with multiple concurrent projects is a strong plus.
• Hands-on Experience with FDA regulated (62304) Software Development required. Expert knowledge of FDA regulations strongly preferred. Track record with multiple deployment platforms, from high-end microprocessors running full-featured operating systems, down to bare-metal embedded code deployed on lightweight microcontrollers
• Expert knowledge of distributed systems, interprocessor/interconnect schemes and protocols, and network programming (IP, TCP, UDP, etc).
• Expert-level knowledge of one or more real time operating systems (multiple is a plus) and operating system features in general. We are using QNX and Linux
• Experience implementing such systems is a strong plus.
• Hands-on knowledge of C++ is required. Must be well-versed in object-oriented design.
• GUI Experience is a plus (particularly with QT) 
• Controls and/or robotic systems a strong plus

Quick Apply

  • As an Equal Employment Opportunity Employer, DAVIS has reporting requirements which require us to invite employees to voluntarily self-identify their race/ethnicity. Submission of this information is voluntary and refusal to provided it will not subject you to any adverse treatment. The information obtained will be kept confidential.
  • By applying to this position and providing my contact information, I give The DAVIS Companies permission to provide me with email communications and information.