Responsibilities Include:

  • Work with the software lead to define project goals and deliverables
  • Responsible for successfully delivering on project objectives and milestones
  • Use of Agile based methodologies to manage software development
  • Work closely with the hardware team to provide feedback on hardware designs
  • Work with algorithm engineers to port complex algorithms from a MATLAB type environment to an embedded platform.
  • Bring architectural/design concepts into the product design, include object oriented (OO) concepts as appropriate
  • Asist at creating platform level architectures that can be used for multiple product lines
  • Influence and guide the design activities on software development
  • Use best-practices to create maintainable and scalable code and be able to communicate concepts to team members
  • Generate Deliverables (including documentation) to support IEC 62304, ISO14971 and ISO13485 requirements
  • Assist the effort to elicit and create software requirements
  • Participate in the design of software validation tests and execution of same
  • Ensure the timely creation and execution of unit tests, integration tests and code reviews
  • Focus on software reliability with the appropriate level or design and test activities
  • Participate in system level risk analysis and DFMEA’s
  • Participate in HW design reviews and component selection. Contribute to HW DFMEAs
  • Creation of new and maintenance of existing custom software tools
  • Gathering of tool requirements
  • Development of scalable architecture
  • Validation and deployment

Must Have: Bachelor’s Degree required with 7+ years of experience or Advanced Degree with 7+ years of experience.

Nice to Have (Strongly Desired):

  • Degree and background in Software/Computer/Electrical Engineering
  • Strong C and C++ knowledge/experience
  • Experience with software development for embedded systems
  • Experience with Linux
  • Ability to comprehend datasheets schematics and apply information to software design
  • Ability to work closely with hardware engineers and technicians to bring up new boards and debug issues at the hardware/software interface level.
  • Demonstrated ability to quickly interpret an extensive variety of technical information and find resolution to an issue quickly.
  • Understanding of version control systems and configuration management.
  • Strong written and verbal communication skills
  • Ability to learn and apply new technology in areas of responsibility.

Additional Nice to Have:

  • AOSP development for embedded systems
  • Linux kernel device driver development
  • Experience with NXP processors, specifically iMX series
  • Experience with software development in a highly regulated environment (like medical devices/defense/aviation etc...)
  • Development of software compliant with coding standards such as ANSI and MISRA
  • Experience implementing serial communication protocols (I2C, SPI, GPIO, RS-422 etc.)
  • Previous experience with ARM based platforms.
  • Experience with driver development or maintenance
  • Experience with microprocessor, microcontroller architectures and assembly language.
  • Experience working with signal processing platforms and/or interfacing with analog circuitry.
  • Experience with IAR Toolchain and other cross-platform compilers
  • Experience with various IDE’s, including Microsoft Studios
  • Experience with scripting languages such as Shell, Python, Perl, LabView
  • Working knowledge of global Quality System requirements.
  • Has working knowledge of SOP’s, guidance documents and applies a risk-based approach to all decisions.
  • Demonstrated DFSS / DRM skills and Good documentation skills
  • Interpersonal Savvy
  • Integrity and trust
  • Good communication and teamwork skills

Apply Now