Research Software Engineer

University of Delaware

Newark, DE

ID: 7294007
Posted: 1 month ago
Application Deadline: Open Until Filled

Job Description

CONTEXT OF THE JOB:

In this Research Software Engineer (RSE) position, you will closely collaborate on innovative interdisciplinary research software projects across Departments of Computer & Information Sciences, Electrical & Computer Engineering, Political Science & International Relations, and Civil & Environmental Engineering. You will be part of a dynamic team of Research Software Engineers (RSE) that we are building for the newly funded NSF Award “Building a Computational and Data-Intensive Research Workforce & Network in the Mid-Atlantic Region” - an interdisciplinary science project that focuses on modernizing social, behavioral and economic sciences, finance along with coastal science applications. The project aims to leverage tools and techniques in High Performance Computing (HPC) Artificial Intelligence (AI), Machine Learning (ML) and Data Science to advance the targeted domain sciences. The position provides an excellent chance for the RSE to split their time equally between enhancing their research software development skills and contributing to the establishment and the growth of the RSE program at UD in collaboration with partnering organizations. The role will also provide teaching and training opportunities allowing the RSE to balance their time and focus between technical and professional development.



MAJOR RESPONSIBILITIES:

Develop relevant and optimized software for domain science code via communication and collaboration with domain scientists to enhance the necessary metrics that may include performance, readability, usability, scalability of the code.
Maintain software libraries and (open-source) repositories.
Contribute/coordinate with the MATCH/ACCESS and NAIRR program.
Contribute clean and effective code using software development platforms such as GitHub/GitLab.
Be an advocate to maintain and improve computing infrastructure for code development
Create comprehensive documentation of software developed.
Complete user manuals for knowledge transfer and ensure smooth handover with clear communication at the conclusion of the RSE software development.
Contribute to research and/or project reports as and when needed.
Adopt modern software development techniques and enhance/build best practices on RSE lessons learnt by working together with the RSE community.
Provide consulting expertise across domain sciences within UD and our external partners to leverage synergy across projects.
Assist with project-driven hackathons that include mentoring.
Perform other job-related duties as assigned.


QUALIFICATIONS:

Bachelor’s degree in a Computer Science, Computer Engineering, Software Engineering, or related technical field and at five years of experience, or equivalent combination of education and experience.
Experience in applying software engineering techniques to optimize scientific applications using parallel programming or distributed computing or machine learning (ML)/ AI techniques or high-performance computing. Knowledge of parallel programming models/abstractions and/or MPI. Experience with data science and ML/AI models.
Expertise using medium-large scale multicore and heterogeneous (CPUs + accelerators such as GPU) clusters.
Experience with software development for at least mid-size code bases.
Experience with languages such as Python and R for statistical analysis.
Demonstrated ability to prepare scientific results for publications and/or presentations at relevant seminars and meetings.
Excellent verbal and written communication skills
Strong attention to detail and responsiveness.
Strong interpersonal skills and an ability to foster a collaborative work environment.
Familiarity with CMake, make preferred.
Knowledge of version control systems preferred.
Ability and interest to communicate and collaborate with diverse science disciplines preferred.
Experience in leadership, project management, or employee supervision preferred.
Ability to help design as as well teach some modules of the to-be-created new RSE course/certificate preferred.
Experience in leading/offering training sessions preferred.
Demonstrates an understanding and consideration of the differing needs and concerns of individuals with varying identities, cultures, and backgrounds.
Committed to fostering a workplace culture of belonging, where diversity is celebrated, and equity is a core value.