Research Engineer Job Description Template

The research engineer builds the software that makes research possible: training infrastructure, experiment frameworks, data tooling and efficient implementations of new methods. The role pairs with scientists and is often the reason a research team can iterate quickly, since a great deal of research velocity comes down to engineering quality.

Typical Duties and Responsibilities

  • Build and maintain research infrastructure and experiment tooling
  • Implement research methods efficiently and correctly
  • Optimize training throughput and resource utilization
  • Build data pipelines for research datasets
  • Reproduce published results as baselines
  • Profile and remove bottlenecks in training and evaluation
  • Maintain reproducibility across experiments
  • Support scientists with engineering problems
  • Contribute to open source research code where appropriate
  • Help transfer research results into production systems

Education

  • Bachelor’s or Master’s degree in computer science or a related field

Required Skills and Experience

  • 3+ years of engineering work supporting machine learning research
  • Strong Python and deep learning framework internals knowledge
  • Experience optimizing training performance
  • Ability to implement methods correctly from papers
  • Good software engineering practice in a research setting
  • Experience with distributed or multi GPU training
  • Comfort working with scientists on ambiguous requirements
  • Reproducibility discipline

Preferred Qualifications

  • Contributions to open source research code
  • Experience with CUDA or low level performance work
Contact us

Recruit with Nexus IT Group