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

VEhLd0taY2ZNMkpZSStkQ2pYeGZodFMxOWc9PQ==
  • 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









PI254962648

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

Hyatt

Housekeeper/ Room Attendant ($28.00/hour) Job at Hyatt

 ...setting. Join us as We Care for People So They Can Be their Best. Take a peek into our colleague experience as a Housekeeper/Room Attendant What does the role entail? At Hyatt, we believe our guests select Hyatt because of our caring and attentive associates who... 

Aimbridge Hospitality

Front Desk Supervisor Job at Aimbridge Hospitality

 ...easy access to local attractions. Travelers can enjoy wonderful shopping at the nearby Centerpoint and Woodland Malls, visit Fredrik Meijer Gardens, or discover the Gerald R. Ford Presidential Museum. We provide all the comforts of home in spacious suites with... 

Donohue & Associates

Western Colorado Hematology/Oncology Position Job at Donohue & Associates

Hospital employed traditional Hematology/Oncology position joining a well established (4) Hematology/Oncology,(2) Radiology Oncology,(2) Gyn Oncology,(1) Survivorship Physician and (2) Oncology APP providers in a cancer center of excellence affiliated with The University... 

Core Soft Technologies

Python Developer (Entry Level) Job at Core Soft Technologies

 ...We are seeking a Python Developer (Entry Level) to become an integral part of our team! You will be responsible for creating and modifying computer application software or specialized utility programs. Responsibilities: Analyze user needs and develop software solutions... 

Yokohama Tire Manufacturing Mississippi

Ux Designer Job at Yokohama Tire Manufacturing Mississippi

 ...to gauge user enjoyment. Qualifications A bachelor of science degree in computer science or engineering. Proficiency with CSS, HTML, and JavaScript. Proficiency with design software like UXPin. Excellent communication skills. The ability to interpret...