Revvity's In Vivo Imaging group does incredibly important work supporting research across disease models for cancer, cardiopulmonary, metabolic, and infectious disease. The team is an interdisciplinary group that develops market leading preclinical instrumentation, software, and reagents that drive innovation. In this role as Software Development Engineer, your primary focus will be on multi-modal image analysis platforms, one of the newest entrants to Revvity's product portfolio.
Software development engineers must understand the full technology stack at a high level and be able to pick up a low-level understanding when designing for specific subsystems. These engineers have experience writing software for data visualization and instrument control, and have training in software development processes, including version control, code review, and code testing. They work with project management and other internal stakeholders to meet scope and timeline of their projects and development efforts.
A background in medical imaging software is not required but is desired. Without that background, candidates should have an interest in getting acquainted with the aims of the products and learning the scientific background that motivates those aims. They have a can-do attitude, and willingness to work hard to achieve our common goals.
This job is based in Research Triangle Park, North Carolina.
Responsibilities:
Software development. Develop front and back-end code for multi-modal in vivo imaging data analysis software and data acquisition instrument control software (including ultrasound and optical imagers, scan guidance cameras, and robotic motion stages).
GUI design. Design and program graphical user interface (GUI) elements with streamlined user experience (UX).
Testing and code review. Write and execute verification and validation tests of various software modules. Document code and conduct code reviews.
Project management. Help establish estimates for project timelines. Diligently record progress via the team's project management software. Work in a collaborative fashion with both software and hardware teams to meet company objectives.
Technical support. Field and document technical support inquiries from customers.
Required Qualifications:
BS in Biomedical Engineering, Computer Science, or related field.
Minimum 1-2 years' experience as a software engineer or equivalent.
Minimum of 6 months' experience programming in Python.
Preferred Qualifications:
Experience programming with C++, C# (.NET framework), and/or MATLAB
Experience with life science or medical product development.
Experience with object-oriented programming concepts.
Experience with software development tools, processes, and version control (e.g., MS Visual Studio, Git, etc.).
Experience in the development and testing of graphical user interfaces (GUIs).
Experience with open-source image processing and visualization toolkits (e.g. VTK, ITK, 3D Slicer, etc.).
Experience with cloud-based devops and test automation (e.g. Azure, AWS).
Experience with configuring, building and packaging code (e.g. CMake, NSIS).
Experience working in a team-oriented, collaborative environment.
Technical writing abilities and analytical skills.
Additional personal attributes:
Demonstrated ability to work independently and research innovative solutions to challenging technical problems.
Desire to work in a dynamic and fast-paced entrepreneurial environment.
Comfortable presenting and demonstrating software in live settings in front of stakeholders.
Detail oriented, focused on facts and objectives.
Strong interpersonal and relationship-building skills.