Position Description

Scientific Research Software Developer
Job Category Fulltime Term
ExemptOvertimeEligible Overtime Eligible
Benefits Eligible Benefit Based
Apply Now

Caltech is a world-renowned science and engineering institute that marshals some of the world's brightest minds and most innovative tools to address fundamental scientific questions. We thrive on finding and cultivating talented people who are passionate about what they do. Join us and be a part of the diverse Caltech community.


Job Summary

We seek a research software developer for an NIH-funded video/image analysis project involving Caltech, the Jet Propulsion Laboratory, and Dartmouth Medical School. The goal of the project is to develop a computer vision-based system for robust, large-scale detection / characterization of visual advertising content in streaming video.

The successful candidate will develop and maintain python software to collect annotated data, run and validate computer vision/machine learning experiments, and deploy models/code in distributed computing environments. This individual will attend regular meetings/teleconferences with Caltech/JPL/Dartmouth staff, and may require travel to annual team meeting at Dartmouth and/or short-term travel to assist Dartmouth supercomputing staff with software/model deployment efforts.

Job Duties

– Write software to facilitate data collection, curation and quality assurance for a large and expanding corpus of expert-annotated video data
– Implement and maintain [data ingest + preprocessing + training + prediction + summarization/visualization] workflow to run experiments using existing/new models on multiple datasets using distributed computing resources
– Assist with video analysis/computer vision research experiments as necessary
– Work with engineers at Dartmouth supercomputing facility to deploy validated models for large scale object detection tasks
– Provide regular code check-ins and documentation sufficient to reproduce experiment outputs

Basic Qualifications

– Bachelor's degree in Computer Science or related technical discipline
– 0-2 years of relevant experience
– Experience with python development and widely-used scientific, image processing, and visualization packages (e.g., numpy/scipy, numba, pandas, scikit-image, matplotlib)
– Working knowledge of unix environment and application development tools
– Capable of quickly incorporating algorithmic improvements and new research code within existing software frameworks
– Demonstrated success developing maintainable software in multidisciplinary research environments
– Excellent oral and written communication skills
– Ability to meet strict deadlines

Preferred Qualifications

– Master's degree in computer science or related technical discipline
– Familiarity using standard computer vision + machine learning toolkits (e.g., keras, tensorflow, opencv, scikit-learn)
– Working knowledge of established model selection methods/metrics and theoretical concepts used to assess statistical models (e.g., cross validation, stratified sampling, precision/recall, bias/variance tradeoff)
– Experience with distributed / cloud-based computing software + systems (PBS Pro, MPI, AWS, Google Compute Engine)

Required Documents

– Resume
– Code Sample
– Cover Letter

Back Apply Now

EEO Statement

We are an equal opportunity employer and all qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, or national origin, disability status, protected veteran status, or any other characteristic protected by law.

Caltech is a VEVRAA Federal Contractor.

To read more more Equal Employment Opportunity (EEO) go to eeoc_self_print_poster.pdf