Jobs and Careers
BR

Research Software Engineer/Senior Research Software Engineer

Brown University
180 George Street, United States, United Statesfull_timeVerifiedPosted 19 Dec 2024

About the role

Job Description:

Research Software Engineer/Senior Research Software Engineer 

Office of Information Technology

The mission of the Center for Computation and Visualization (CCV, ccv.brown.edu) is to provide the scientific and technical computing expertise required to advance computational research and support Brown’s academic mission. We envision an environment where computational best practices, innovative solutions, and expert knowledge combine to build advanced tools for research and to enable new discoveries. We are a team of data scientists and research software engineers with a wide range of scientific backgrounds (e.g., Engineering, Physics, Computer Vision, Biology, Psychology, Statistics, Applied Math, Computer Science, Software Engineering, Industry, etc.).

The Research Software Engineer (RSE) will join the HPC team in  the Advanced Research Computing group (ARC) within the Center for Computing and Visualization (http://ccv.brown.edu). Within the HPC team, the Research Software Engineer will provide the scientific and technical computing expertise required to advance research utilizing High Performance Computing (HPC) and support Brown’s academic mission. The RSE is responsible for keeping up-to-date knowledge and understanding of best practices needed to take full advantage of the University’s diverse set of HPC computing resources including the HPC cluster, GPUs and IT infrastructure. The RSe will conduct Scientific software Optimization for HPC applications, including performance tuning and benchmarking. This includes recommending algorithmic, software and hardware solutions, and designing, debugging and utilizing best practices in software engineering to deploy applications on Brown’s HPC computational resources at scale. A critical part of this position is to  ensure that complete documentation of all processes are created and maintained according to prevailing best practices. The Research Software Engineer is also responsible for helping users adopt best practices in software engineering and optimized solutions based on both, algorithmic and IT infrastructure standpoints. Other responsibilities include contributing to outreach activities such as workshops and technical presentations, providing support for software engineering and acting as a consultant for researchers. 

CCV embraces a community enriched and enhanced by diverse dimensions, including race, ethnicity and national origins, disability status, gender and gender identity, sexuality, class and religion. We believe diversity brings innovation and progress. We are especially committed to increasing the representation of those populations that have been historically underrepresented in STEM.  The RSE is expected to adhere to and embrace CCV’s commitment to diversity and inclusion initiatives.

Qualifications: (Research Software Engineer - Grade 10)

  • Master's degree with a minimum of 2 years of experience or equivalent education and experience

  • An advanced science degree with strong computational emphasis (exceptional undergraduate work or experience may be an acceptable substitute)

  • Advanced knowledge of Linux/UNIX systems and shell scripting and scheduling systems

  • Strong programming skills with experience in parallel programming approaches

  • Experience building, installing, optimizing and profiling open source software

  • Strong debugging and troubleshooting skills

  • Experience with distributed parallel computing architectures and software systems

  • High professional standards with the ability to manage competing requirements in a diverse user population

  • Excellent interpersonal, oral and written communication skills with strong analytical ability

  • Knowledge of advanced numerical computing concepts

  • Possesses a willingness and ability to support a diverse and inclusive environment.

Desirable Qualifications

Candidates with some or all of the following qualifications are highly preferred:

  • A PhD degree with an emphasis on scientific computing is desirable

  • Familiarity with HPC resources such as XSEDE and EXASCALE

  • Experience with parallel programming models (e.g., use of OpenMP, MPI)

  • Expertise with one more low level programming languages such as C, C++, Fortran

  • Experience with GPU computing (e.g CUDA programming, tensorflow)

  • Experience with MATLAB,  Python, Mathematica is desirable

Apply for this role

Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.

Apply Now →Generate Application Kit

Free account required — sign up in 30s

Company

Brown University

View company profile →