Algorithm Software Engineer – Medical Imaging
Design, implement, and optimize tomographic reconstruction software for medical imaging systems. The role combines C++ development, algorithm implementation, software architecture, parallel computing, and verification support.
Responsibilities
- Design and implement tomographic reconstruction algorithms and tools in C++, OpenCL, and CUDA environments
- Define architectures and designs for complex software subsystems
- Collaborate with algorithm engineers and scientists to implement mathematical and physical algorithms
- Define interfaces between reconstruction software and other subsystems
- Optimize runtime performance and memory usage
- Write software requirements and design documentation
- Design and execute unit tests
- Support verification and validation teams with system testing plans
- Support field investigations when needed
- Manage and control generated code and configuration data
- Lead technical reviews and monitor relevant software and computing trends
Requirements
- Bachelor’s or master’s degree in computer science, computer engineering, or software engineering
- At least three years of hands-on C/C++ experience
- Excellent C/C++ programming, debugging, performance analysis, and testing skills
- Experience with software architecture and design
- Ability to solve complex problems creatively
- Strong written and verbal communication skills
Nice to have
- Five or more years of hands-on algorithm implementation experience
- Parallel programming with multicore CPUs or GPUs
- OpenCL or CUDA experience
- Knowledge of MATLAB or Python
- Knowledge of image processing
- Strong performance optimization skills
Benefits
- Supportive work environment
- Professional growth and development opportunities
- Opportunity to contribute to medical imaging technology that improves patient outcomes
- Competitive salary and benefits
- Relocation assistance is not provided