Description
ESSENTIAL DUTIES AND RESPONSIBILITIES:- Design and implementation of embedded software systems in C/C++ and native code; development targets will include but not limited to MSP430, ARM based processors and Linux SoC's/SoM's.
- Develop boot-up and initialization code, PLL synchronization, peripheral drivers (SPI, I2C, and UART), User Interface (LCD / touch screens) and protocols for communication with a host.
- Work closely with hardware and software engineers/developers to meet the customer requirements and project scope.
- Unit test, system test and general troubleshooting of embedded software systems.
- System debugging of microprocessor based hardware / software systems and System integration of hardware and software components including troubleshooting
- Project management support including scheduling, status reporting, risk mitigation and contingency planning.
- Documentation throughout the entire development cycle including high-level specifications, requirements, and design descriptions, detailed implementation specifications, and test plans.
- Ongoing product support and sustaining engineering including product release management.
- Technical evaluation to assess new tools, alternative technologies and improved design solutions.
- Stay up-to-date and follow all Quality System procedures related to this job, which can affect the quality of products or services provided to our customers.
QUALIFICATION REQUIREMENTS:
- Minimum BS degree in electrical engineering or computer engineering or computer science. Advanced degree (MS or equivalent) in electrical engineering/computer engineering/computer science is preferred.
- 8+ years of hands-on experience in firmware development with demonstrated proficiency and proven experience in C/C++ targeting multiple CPU families (including ARM7/9, Strong ARM, Linux and MSP430).
- Experience with hard real-time systems including troubleshooting
- Experience with Digital Signal Processing / digital filters.
- Network protocols knowledge (UDP, TCP/IP, FTP, Ethernet, Telnet, SNMP, HTTP)
- Ability to understand and read hardware schematics
- Experience developing firmware for electronic systems in the medical device industry is highly desirable.
- Good understanding of Design Control process and FDA regulation standards. Experience in medical or biomedical engineering.
- Expresses ideas clearly and simply both verbally and in writing; promotes timely flow of information to others.
- Gathers relevant information efficiently; applies logic in solving problems and making decisions; uses data to support recommendations, weighs risks, benefits and costs.