Template

Senior Research Software Engineer Job Description Template

This sample job description is an editable template for organizations planning to hire a senior research software engineer.

Level
Beginner
Provided By
Topics
Talent Culture

Overview

This template is a great starting point for an organization ready to hire a senior research software engineer. Here you will find information on the role of a senior research software engineer, a guide for writing a job description, and templates that can be customized to fit the needs of individual organizations.

Who We Are:

[ ORGANIZATION NAME ] mission goes here and about your organization.

About this Role:

The Senior Research Software Engineer (RSE) will be implementing solutions to maximize interoperability and consistency across the different packages. In close collaboration with other RSE teams, the post holder will develop dedicated object classes to represent common data as well as procedures for handling, visualizing, and converting them and tools for data pipeline automation. The senior RSE will also help define and implement good practices for the packages, including coding standards, documentation, unit testing and associated coverage diagnostics, continuous integration and Agile collaboration frameworks.  

The salary range for this position is [ SALARY RANGE ] annually and includes a comprehensive benefits package.

[ ORGANIZATION NAME ] highly values facilitating an equitable standard of living across the regions in which it operates. This position’s location is remote and can be based anywhere globally. Details of actual compensation will be discussed during the interview process to ensure compensation is approached comprehensively and equitability. [ TRAVEL REQUIREMENT, IF APPLICABLE ].

What You’ll Do:

Contribute to the development of object classes (S3/S4/R6) and associated methods for handling, visualizing, and converting the most common types of outbreak data 

Help define and implement coding, documentation and quality standards for the R packages

Implement a coherent infrastructure for automated testing and continuous integration for the packages

Contribute to the development of infrastructures for data pipelines, automated reporting, and scientific reproducibility 

Contribute to developing standards for data anonymization and data security 

Improve existing codebases and packages to meet the development team’s standards 

Help other teams implement Lean and Agile collaboration frameworks (e.g. Scrum)  

Write documentation as needed 

Attend meetings as needed 

Qualifications You’ll Need:

Bachelor’s degree and 5+ years of relevant experience developing software to industry standards 

Excellent programing skills in R and at least one additional language 

High proficiency with version control systems (preferably Git) 

Experience in implementing automated testing and continuous integration 

Experience applying Lean and Agile principles in a collaboration framework (e.g. Scrum) 

Self-motivated and able to work in a startup environment- managing to project plans, while maintaining the flexibility to shift as the program and organization evolve 

Detail-oriented and organized 

Ability to work collaboratively and develop trusted relationships 

Excellent interpersonal, organizational, and communication skills 

Demonstrated work ethic, and ability to self-manage within a geographically distributed team 

Experience working with purpose-driven organizations 

Experience in Public Health, Technology, Research, Data Science, or Innovation sector preferred 

Experience managing developers team, a plus 

Excellent knowledge of R packages for software development (e.g. devtools, testthat, usethis) 

General knowledge of common R packages for data analysis (tidyverse, reconverse) a plus 

Do you have feedback on this resource?

Thank you for your feedback as we strive to curate and publish resources to help social impact organizations succeed with data.

Send us a note

Explore More

Related Guides & Resources