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

ZDVlZEJMK21uemc1aFNTT0VsNDJxL3VZU1E9PQ==
  • Princeton University
  • Princeton, NJ

Job Description



Research Software Engineer I


US-NJ-Princeton



Job ID: 2024-20160

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 play a crucial role in advancing our research efforts, bringing a strong background in software development, High-Performance Computing, and Machine Learning to the team.

In this position, you will be an integral part of the Maxwell research group in Princeton, collaborating with the Condon Lab at the University of Arizona. You will work on a project that provides fast and accurate watershed forecasting across the US to inform decisions about water management better. This tool will build on the success of HydroGEN, part of the HydroFrame framework, which combines outputs from ParFlow, Machine Learning, and field observations gathered using hf_hydrodata. In this role, you will be part of a team of RSEs, faculty, postdocs, and graduate students at Princeton University and the University of Arizona. Part of your role will involve interfacing ParFlow, our hydrology code written in C/C++ and CUDA, with an ML library (e.g., PyTorch) to generate fast and physically consistent results. You will also participate in developing, training, and fine-tuning the Machine Learning model.


The RSE Group collectively provides computational research expertise to multiple divisions within the University. As a central team of software experts, we focus 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.


If you have a strong background in scientific computing and Machine Learning, you have the proper skill set to impact a high-profile research project immediately. You will have the opportunity to work on a cutting-edge project and learn from experienced professionals, fostering your personal and professional growth. We encourage you to bring your unique perspective and skills to our team.


The role is initially for two years, with the option to extend based on available funding and job performance.

A remote work arrangement within the United States may be considered for candidates with the appropriate background and experience during this term period. University-paid business travel to Princeton, NJ may be required approximately 2-4 times per year.





Responsibilities



Application of Domain Expertise

  • Work toward understanding relevant topical areas and corresponding numerical methods in Hydrology necessary for software development projects. This involves team research and independent studies, such as reading publications and studying existing code bases.
  • Through collaborations and independent efforts, work with researchers to understand their needs and challenges to develop software solutions that 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 towards designing, developing, and maintaining 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.
  • Assist in managing software projects by contributing to developing project scopes and planning delivery timelines. Collaborate with the scientific research team to communicate project plans and provide regular progress updates.
  • 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 minimum required knowledge, skills, competencies, and abilities

  • At least two years as a Research Software Engineer or equivalent experience (e.g., graduate school, industry experience, open-source software development, etc.)
  • Strong programming skills, particularly in C/C++, CUDA, and Python
  • Expertise in Machine Learning.
  • 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.)
    • Working with large gridded datasets.
    • Cloud-based data. Geospatial data and tools.
  • 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.
  • Demonstrated enthusiasm for acquiring new skills and understanding emerging technologies beyond your current areas of expertise.
  • Ability to communicate efficiently with users who have different degrees of technical proficiency.
  • 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).
  • Education: A Master's degree in computer science, engineering, physical science, or a related computational field is required.

PREFERRED knowledge, skills, abilities, experience, and other education

  • Experience with numerical methods in scientific programming.
  • Experience working in an academic research environment.

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 -









PI260066835

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, Remote job,

Similar Jobs

Travel From The Hart

Travel Consultants Wanted Job at Travel From The Hart

Are you ready for an amazing opportunity with flexible hours and unlimited earning potential? Join our vibrant team of travel enthusiasts! No experience? No problem! All you need is a passion for adventure and a desire to help others explore the world!**IMPORTANT:... 

Mutual of Omaha Mortgage

Retail Mortgage Loan Officer Job at Mutual of Omaha Mortgage

 ...Are you currently a productive loan officer wanting to take your business to the next level? If so, join the team at Mutual of Omaha Mortgage and Keller Home Loans. We offer a unique blend of opportunities! With Mutual of Omaha we are part of the iconic brand and... 

Vibra Healthcare

Receptionist Full Time Job at Vibra Healthcare

Receptionist Full Time Location Mechanicsburg, PA : Overview: COME BUILD YOUR CAREER WITH VIBRA HEALTHCARE! We are seeking a Receptionist...  ..., 401K matching Additional Critical Illness, Accident, and Hospital plans Company discounts for mobile phone service,... 

King School Incorporated

Upper School French Teacher Job at King School Incorporated

 ...vibrant learning community, endeavoring for each person to feel seen, heard, valued, and respected. Job Title: Upper School French Teacher Division: Upper School Reports to: Head of Upper School and Chair of the World Languages Department Start Date:... 

Edward Jones

Analytics Consultant Lead - Firm Analytics Job at Edward Jones

Join a financial services firm where your contributions are valued. Edward Jones is a Fortune 500 company where people come first....  ...the Firm Analytics team and step into the role of Lead Analytics Consultant where you'll thrive at the heart of new strategy development in...