Senior Software Engineer - Network
The Senior Embedded Software Engineer – Network (SESN) will be part of a team of talented software developers at RefleXion. This group in involved in developing mission critical software in radiotherapy treatment delivery, planning and medical imaging. The SESN will be the liaison to support software infrastructure, networking and platform development and operations. The SESN will be a strong technical team member with a deep grounding in sound medical software development practices.
- The SESN should have good leadership and collaboration skills to work with a multi-disciplinary team of application software developers, embedded software developers, algorithms developers, systems and reliability engineers, product managers and service engineers to support development and troubleshooting of embedded software infrastructure for the RefleXion System.
- The SESN should be familiar with requirements analysis, use-case analysis, risk analysis, system timing and latency analysis and management, system configuration, data flow, data management and hardware interface design.
- The SESN should be fully conversant with standard software development practices and lifecycles and should be familiar with product development processes in the medical device environment including software design, coding, testing, software quality control and release management.
- The SESN is responsible for developing core embedded software that forms the architectural infrastructure of RefleXion system.
- The SESN will be intimately involved in development of system features – systems analysis, use-case analysis, risk analysis, system performance, prototyping and simulation, feature development, unit and component test case development, testing and integration, documentation, build management.
- The SESN will be an independent worker who can learn the system to fix complex issues, lead the support and troubleshooting of software while interacting with multiple engineering teams.
- The SESN will develop software tools required for efficient support of the RefleXion System
- The SESN will support required testing and documentation for product release and regulatory submissions.
- The SESN will participate in architecture, design, and code reviews.
- Other duties as assigned.
- MS in CS or EE.
- At least 10 years of experience in embedded software development on an industry standard RTOS – QNX/Linux preferred.
- At least 10 years of experience in Networking – TCP/IP protocols, network engineering, network performance, network middleware solutions such as ZeroMQ and DDS.
- At least 7 years of experience in Linux kernel and device drivers, platform engineering.
- At least 7 years of experience in C++11, STL, object-oriented analysis and design, multi-threading.
- A solid understanding and implementation skills in Design Patterns.
- Experience in scripting languages – Python, Perl, bash.
- Must have worked in at least two large scale project end-to-end – from design to product release.
- Excellent communication and presentation skills.
- Preferred: Understanding of medical device design control concepts and robust software engineering practices related to the medical device industry.
- Preferred: Software development experience governed by regulatory agency processes such as FDA and CE.
- Physical Requirements: Must have correctable vision that allows for working at a computer desk
- Travel requirements: None.