Our client is developing a hard real-time FPGA-based system, and is looking for a software developer who will develop and design the overall PC-based control system that interacts with, and extracts data from, the real-time system. While the control software will be required to maintain some timing constraints, it is not an explicit hard real-time system. The Software Developer will be responsible for the overall design of the software system, as well as unit testing, maintenance, and troubleshooting. The Software Developer will work under the supervision of the Manager of Software Systems.
- Design, develop, and characterize soft real-time software that interfaces between host PC and custom hardware.
- Create a robust software architecture
- Design and develop interfaces between host PC and other PCs as part of overall system.
- Work closely with other team members to ensure architectural integrity and product quality
- Perform unit tests on developed modules
- Fix defects found in developed modules
- Write proper design documentation as required by the product development process
- Participate in documentation reviews
- Work closely with other team members and the QA team to ensure quality and punctual software development
- Work closely with the QA and Applications teams to ensure clear and accurate help and training documentation pertaining to developed system
- Bachelor’s degree in Computer Engineering, Electrical Engineering, or equivalent
- 3+ years of development experience with software development in C or C++
- Experience with real-time systems or systems with timing constraints
- Experience with backplane technologies (PCIe)
- Experience with inter-systems and inter-process communication
- Experience developing in both Linux and Windows
- Experience with data converters (ADC, DAC)
- Experience with medical software development under FDA, EU GMP, and ISO 13485
- Experience with magnetic resonance imaging
- Experience with digital signal processing
- Familiarity with embedded software
- Familiarity with the IEC 62304 development methodology
- Experience with the Agile development methodology