Research Software Engineer II | Princeton University Job at Princeton University, Princeton, NJ

SDhYb0hsZUdvYTkzaUpyUEhOdlNnS1BiU2c9PQ==
  • Princeton University
  • Princeton, NJ

Job Description



Research Software Engineer II


US-NJ-Princeton



Job ID: 2024-20007

Type: Full-Time

# of Openings: 1

Category: Information Technology



Overview



Princeton University seeks candidates for a new position within the fast-growing Research Software Engineering (RSE) Group. The successful candidate will have a strong background in software development, high-performance computing (HPC), and numerical modeling in Geophysics.

The RSE Group collectively provides computational research expertise to multiple divisions within the University. As a central team of software experts, we are focused on improving the quality, performance, and sustainability of Princeton's computational research software. Our group is dedicated to creating collaborative and inclusive environments that value the best software engineering practices and to sharing and applying cross-disciplinary computational techniques in new and emerging areas.

In this position, you will be an integral part of the Theoretical & Computational Seismology group . As part of a team of RSEs, you will collaborate with several researchers and develop the SPECFEM++ framework, which involves modern C++ features and the Kokkos portability performance library. This group of researchers heavily uses computing resources at Princeton University and national supercomputing facilities, providing the opportunity to utilize the nation's state-of-the-art systems. As part of your role, you will focus on importing features from the original SPECFEM Fortran codebase and implementing new features directly into SPECFEM++, all with a focus on the code's performance, scalability, and maintainability. You will also help researchers to contribute new models to the codebase.

If you have a strong background in HPC and Geosciences, you have the proper skill set to impact a high-profile research project immediately. This role functions within a dynamic, supportive team environment that permits diverse backgrounds to thrive.





Responsibilities



Application of Domain Expertise:

  • Through directed independent studies, including reading publications and studying existing code bases, understand relevant topical areas and corresponding numerical methods in Geophysics, which will be needed for software development projects.
  • Collaborate with scientific researchers to understand their needs and challenges and develop software solutions to support their work.
  • Foster open collaboration via regular meetings and effective communication to ensure software development meets the research objectives.

RSE:

  • Work independently or as a self-directed team member to design, develop, and maintain software tools and applications for scientific research projects.
  • Write efficient, robust, and maintainable code that is well-documented and tested.
  • Optimize code performance for large-scale, parallel simulations and modeling.
  • Write technical reports and documentation to communicate software development processes and usage.
  • Manage software projects by developing project scopes and planning delivery timelines. Communicate project plans and progress updates with the scientific research team.
  • Communicate software engineering concepts to project teams with varying levels of software engineering knowledge.

Professional Development:

  • Keep up-to-date with new software technologies and tools that could improve research outcomes.




Qualifications



Essential Qualifications:

  • A minimum of 4 years as a Research Software Engineer or equivalent experience (e.g., graduate school, industry experience, open-source software development, etc.)
  • Extensive experience with the Finite Element Method (FEM).
  • Strong programming skills, particularly in C++ and Python.
  • Strong experience in High-Performance Computing (HPC). Particularly:
    • Parallel computing (MPI, OpenMP, hybrid CPU/GPU code).
    • GPU programming.
  • Experience with code performance tuning using performance analysis tools (e.g., profilers.)
  • Demonstrated success in:
    • Consistently using conventional and readable coding style.
    • Creating comprehensive and well-written documentation.
    • Developing and maintaining reproducible build systems.
    • Using modern software development workflows based on Git and Continuous Integration/Continuous Development methods.
  • Ability and interest in learning new concepts and technologies beyond current core knowledge areas.
  • Ability to communicate effectively with a diverse user base with varied technical proficiencies.
  • Experience working in an academic research environment.
  • Experience with HPC cluster environments (e.g., workflow manager, parallel file system).
  • Demonstrated successes working independently and in a collaborative software development environment (team science, often geographically distributed).
  • A scientific and mathematical background appropriate for understanding the algorithms used in Geosciences and communicating effectively with researchers.
  • Education: A Bachelor's degree in computer science, engineering, physical science, or a related computational field is required.

Preferred Qualifications:

  • Experience with the Kokkos library.
  • Background in Geophysics.
  • A Master's/Ph.D. in Geosciences.

Princeton University is an Equal Opportunity/Affirmative Action Employer and all qualified applicants will receive consideration for employment without regard to age, race, color, religion, sex, sexual orientation, gender identity or expression, national origin, disability status, protected veteran status, or any other characteristic protected by law. KNOW YOUR RIGHTS









PI253627121

About Princeton University

Princeton University is a vibrant community of scholarship and learning that stands in the nation's service and in the service of all nations. Chartered in 1746, Princeton is the fourth-oldest college in the United States. Princeton is an independent, coeducational, nondenominational institution that provides undergraduate and graduate instruction in the humanities, social sciences, natural sciences and engineering.As a world-renowned research university, Princeton seeks to achieve the highest levels of distinction in the discovery and transmission of knowledge and understanding. At the same time, Princeton is distinctive among research universities in its commitment to undergraduate teaching.Today, more than 1,100 faculty members instruct approximately 5,200 undergraduate students and 2,600 graduate students. The University's generous financial aid program ensures that talented students from all economic backgrounds can afford a Princeton education.

Connections working at Princeton University

Job Tags

Full time, Immediate start,

Similar Jobs

Linear

Motion Storyteller Job at Linear

At Linear, we are on a mission to bring magic back to software. To empower product teams to do their best work, we are building an issue tracking and project management tool that combines UI elegance with world-class performance. Founded in 2019, Linear has become the ...

Career Transitions, LLC

Quality Inspector Job at Career Transitions, LLC

Quality Inspector Contract Lafayette, IN Compensation DOE: Up to $21/hour Available Shifts: ~1st Shift, Monday-Friday, 6:00 am - 2.30 pm ~2nd Shift, Monday-Friday, 2:00 pm - 10:30 pm Morales Group is a mission-focused staffing and talent sourcing...

AECOM

Design Phase Manager (Construction) Job at AECOM

 ...bring your bold ideas and big dreams and become part of a global team of over 50,000 planners, designers, engineers, scientists, digital innovators, program and construction managers and other professionals delivering projects that create a positive and tangible impact... 

University of California San Francisco

Part-time Outdoor Programs Instructor | University of California San Francisco Job at University of California San Francisco

Provides instruction, leadership and assistance while acting as a guide on non-credited outdoor recreational activities that includes camping, hiking, backpacking, sea kayaking and stand up paddle boarding to primarily UCSF students and staff as well as the general public... 

DARCARS Automotive Group

Service Advisor DARCARS Chrysler Job at DARCARS Automotive Group

DARCARS Automotive Group is now seeking Service Advisors ! As the Service Advisor you are responsible for presenting, consulting and selling automotive warranty products and repair services to the customer in a professional manner while adhering to the manufacturer...