Skip Navigation

Imaging System Software Engineer
Santa Monica, CA

Back To Job Board

Direct Hire


We are seeking an Imaging System Software Engineer for our client in Santa Monica, CA (90405). Experience with C++, Python, and imaging processing and devices are required.

The level of title will be determined case by case, based on the candidate’s qualifications and years of experience: senior engineer, staff engineer, principal engineer or higher.

The Engineer will design components and systems (hardware and software) as part of a complete product subjected to FDA regulations. Your design will be subject to safety and efficacy requirements

Required Qualifications and Abilities:

Educational Background:
    • Bachelor’s, Master’s or Ph.D. degree in Computer Science, Computer Engineering, Electrical Engineering, or a related field.
Technical Skills:
    • Programming Languages: Strong proficiency in C++ and Python is essential.
    • Image Processing: Solid experience with image processing libraries such as OpenCV, VTK, ITK, or similar.
    • Imaging Devices: Experience working with industrial cameras, high-speed optical coherence tomography (OCT), and stereo vision systems.
    • Operating Systems: Proficiency in working with Linux is required, including system-level programming and real-time performance optimization.
    • Graphics Processing: Experience with GPU programming (CUDA, OpenCL) for accelerating image processing tasks.
Experience:
    • 5+ years of hands-on experience in C++ software development with a focus on imaging systems or related fields.
    • Hands-on experience with imaging hardware (cameras, OCTs, etc.) and handling high-bandwidth image streams.
    • Proven ability to optimize software performance for image acquisition, processing, and rendering in real-time applications.
    • Experience with multithreading, multiprocessing, and low-latency communication between software components and hardware devices.
Knowledge:
    • Deep understanding of object-oriented programming (OOP) principles and design patterns.
    • Strong grasp of algorithms for image processing, including feature extraction, filtering, segmentation, and real-time analysis. Familiarity with debayering, distortion correction, contrast-limited adaptive histogram equalization (CLAHE), etc.
    • Familiarity with image compression, optimization techniques, and large-scale image data management.
    • Experience with embedded systems and hardware/software integration for imaging devices.
    • Familiarity with software and system architecture formality like UML or SysML.
    • Proficiency with tools like Git/JIRA/Confluence and platforms like GitHub.
Soft Skills:
    • Strong analytical and problem-solving abilities, particularly in optimizing system performance.
    • Good communication skills to collaborate with interdisciplinary teams, including software engineers, electrical/mechanical engineers, and product managers.
    • Detail-oriented with the ability to manage multiple priorities and meet project deadlines.
Other Requirements:
    • Comfortable working hands-on with imaging hardware in a lab or clinical environment.
    • Ability to work on-site for hands-on software-hardware integration.
Responsibilities:
Software Architecture, Design and Implementation:
    • Design, develop, and maintain C++ code for imaging systems including cameras, OCTs, and other medical imaging devices on Linux platforms.
    • Implement efficient, scalable algorithms for image processing and data analysis.
    • Develop and optimize software to ensure the real-time acquisition, processing, and visualization of image data.
System Integration:
    • Collaborate with hardware engineers to integrate software with imaging devices, ensuring seamless performance in capturing and processing high-quality images.
    • Work closely with cross-functional teams to ensure alignment between hardware and software components in the imaging pipeline.
Performance Optimization:
    • Profile, benchmark, and optimize image processing pipelines to maximize performance, ensuring low-latency, high-throughput processing on both CPU and GPU.
    • Develop strategies for efficiently handling large image datasets, balancing performance with memory and storage constraints.
Testing & Reliability:
    • Design and implement automated tests to ensure the stability and reliability of image processing software.
    • Debug complex issues related to hardware-software interfaces, and provide innovative solutions to technical challenges.
    • Ensure reliability and robustness of software through automated testing and performance monitoring.
Research & Development:
    • Stay up to date with the latest trends and techniques in imaging technologies and software optimization.
    • Prototype and evaluate new algorithms and technologies to improve the performance and accuracy of our imaging systems.
Please note: This position is not open to 3rd party c2c agencies. No visa sponsorship provided. All applicants must have permanent US work authorization and not require sponsorship now or in the future.



Back To Job Board

Submit Your Resume

"*" indicates required fields

This field is for validation purposes and should be left unchanged.
First Name*
Last Name*
Max. file size: 2 MB.
Drop your resume and other files here or upload here