Providence, RI, USA
7 days ago
Research Software Engineer/Senior Research Software Engineer

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

Experience with HPC administration or Previous HPC center support experience is desirable

Experience with parallelization of serial computational applications

Experience with cloud computing software and services

Experience with scientific visualization in one or more science domains

Mentoring experience and or Teaching experience, especially in research

Experience in scientific disciplines specifically domain knowledge in the physical sciences is desirable

Ability to work both independently and as a team member.

Ability to manage multiple projects with competing priorities and deadlines, and an eagerness to take ownership of challenging and open-ended assignments.

Qualifications: (Senior Research Software Engineer - Grade 11)

Master's degree with a minimum of 5 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 a minimum of two years of experience in HPC environments  with 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

Experience with HPC administration or Previous HPC center support experience is desirable

Experience with parallelization of serial computational applications

Experience with cloud computing software and services

Experience with scientific visualization in one or more science domains

Mentoring experience and or Teaching experience, especially in research

Experience in scientific disciplines specifically domain knowledge in the physical sciences is desirable

Ability to work both independently and as a team member.

Ability to manage multiple projects with competing priorities and deadlines, and an eagerness to take ownership of challenging and open-ended assignments.

Successful completion of a criminal background check and education verification is required.

Benefits of Working at Brown:

Information on the Benefits of Working at Brown can be found here.

Recruiting Start Date:

2024-12-06

Job Posting Title:

Research Software Engineer/Senior Research Software Engineer

Department:

Office of Information Technology

Grade:

Grade 11

Worker Type:

Employee

Worker Sub-Type:

Regular

Time Type:

Full time

Scheduled Weekly Hours:

37.5

Position Work Location:

Onsite

Submission Guidelines:

Please note that in order to be considered an applicant for any staff position at Brown University you must submit an application form for each position for which you believe you are qualified. Applications are not kept on file for future positions. Please include a cover letter and resume with each position application.

Still Have Questions?

If you have any questions you may contact employment@brown.edu.

EEO Statement:

Brown University is an E-Verify Employer.

As an EEO/AA employer, Brown University provides equal opportunity and prohibits discrimination, harassment and retaliation based upon a person’s race, color, religion, sex, age, national or ethnic origin, disability, veteran status, sexual orientation, gender identity, gender expression, or any other characteristic protected under applicable law, and caste, which is protected by our University policies.

Confirm your E-mail: Send Email