What are the responsibilities and job description for the Software Engineer - Reconstruction Platform (CT/MR/PET) position at Prophecy Technologies?
Job Summary
We are seeking a Senior Software Engineer to design, develop, and evolve high-performance reconstruction platform software in a fast-paced Agile environment. The role involves working closely with engineers, scientists, and application experts to translate advanced PET Acquisition and CT/MR reconstruction requirements into scalable, distributed software solutions.
Key Responsibilities
Required Qualifications
Required Skills & Experience
Preferred / Desired Technical Expertise
Competencies
We are seeking a Senior Software Engineer to design, develop, and evolve high-performance reconstruction platform software in a fast-paced Agile environment. The role involves working closely with engineers, scientists, and application experts to translate advanced PET Acquisition and CT/MR reconstruction requirements into scalable, distributed software solutions.
Key Responsibilities
- Define, develop, and evolve software using modern development technologies and infrastructure.
- Collaborate with cross-functional teams of engineers, scientists, and application experts to translate high-level CT/MR/PET acquisition needs into component-level requirements.
- Design and implement solutions for complex data management and distributed processing in the reconstruction platform domain.
- Plan and perform integration activities at component, subsystem, and system levels.
- Document software designs and verification activities.
- Perform component and subsystem-level verification and support system-level validation activities.
- Drive efficiency improvements by eliminating duplication and promoting technology and product reuse.
- Support and contribute to process improvements across development and sustaining support activities.
- Apply SDLC principles including Lean, Agile, XP, CI/CD, Security, Scalability, Testing, Refactoring, and Documentation best practices.
- Develop high-quality code that meets defined standards and delivers required functionality.
- Analyze and optimize application performance based on defined performance parameters.
- Implement core data structures and algorithms using selected technologies.
Required Qualifications
- Bachelor's Degree in Computer Science, Electrical Engineering, or Computer Engineering.
- Minimum 5 years of professional software development experience.
- 5 years of Linux-based programming on x86 systems.
- Strong proficiency in C programming and object-oriented programming concepts in a production environment.
- Working knowledge of Git or similar configuration management tools.
- Strong communication and collaboration skills, with experience working in global teams.
Required Skills & Experience
- Linux systems programming
- C programming
- Object-oriented design and development
- Software integration and verification
- Distributed and high-performance computing concepts
- SDLC and Agile methodologies
- Performance analysis and optimization
- Data structures and algorithms
Preferred / Desired Technical Expertise
- Experience with enterprise databases handling large data volumes.
- Expertise in MATLAB or equivalent scientific modeling tools.
- Experience with parallel computing tools and concepts (MPI, OpenMP).
- 5 years experience designing and architecting high-performance systems.
- Experience with CT/MR acquisition processing.
- Hands-on experience with C and Python IDEs such as Eclipse, CLion, Visual Studio, XCode, PyCharm.
- Familiarity with requirements management and troubleshooting (5 years).
Competencies
- Agile Software Development
- Distributed Systems
- High-Performance Computing
- Scientific / Medical Imaging Software
- Cross-functional Collaboration