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-06Job Posting Title:
Research Software Engineer/Senior Research Software EngineerDepartment:
Office of Information TechnologyGrade:
Grade 11Worker Type:
EmployeeWorker Sub-Type:
RegularTime Type:
Full timeScheduled Weekly Hours:
37.5Position Work Location:
OnsiteSubmission 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.