The company is looking to develop complex software and software/hardware integrated systems for cutting-edge medical technology products.
Requirements
- Solid understanding of microprocessor architectures, interfaces, and digital logic.
- Experience with multi-threaded programming for real-time embedded systems (C/C++, RTOS).
- Knowledge of object-oriented programming techniques.
- Experience with development tools such as logic analyzers, signal generators, oscilloscopes, debuggers, emulators, and simulators.
- Familiarity with Microchip, Freescale, NXP, ARM or other microcontrollers, modern C++ (C++11, STL, BOOST libraries), and high-speed communication protocols and interfaces (such as DMA, PCI, USB).
- Experience with C/C++ programming languages.
- Experience with Linux and Windows operating systems.
Responsibilities
- Develop embedded software (C/C++, RTOS, Linux, Windows) in a cross-platform development environment for controlling analytical instrumentation and medical devices using high-speed communication channels, real time data acquisition, and digital/analog I/Os.
- Follow the full design life cycle process including participation in requirements specification, design activities, planning, code reviews, and creating corresponding artifacts.
- Establish and execute verification plans against units in a simulated, emulated, and laboratory environment.
- Collaborate and serve as a member of a multi-functional development team.
Other
- Possess 5+ years of design and programming experience.
- Would be ideal to have earned BS degree in Computer Science, Computer Engineering, Electrical Engineer or equivalent, but will also consider equivalent years of working experience.
- Passion to learn new systems, methodologies, technologies, and tools.
- Would be ideal to have working experience in a highly regulated environment, such as medical device or aerospace/defense.
- Professional background with robotics is helpful.
- Work history in Agile/Scrum environments.