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

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

AoPS Incorporated

Math Instructor Job at AoPS Incorporated

Join Our AoPS Academy as a Math Instructor!Are you passionate about math? Do you love inspiring young minds in an engaging, collaborative...  ...? We have the perfect opportunity for you!What You'll Do:~Teach Engaging Curriculum: Use company-created curriculum and... 

Humana

Senior product marketing professional Job at Humana

 ...Become a part of our caring community and help us put health first Are you a data-obsessed marketer with a passion for wellness? Join Humana's Marketing Organization as a Senior Product Marketing Professional on the Wellness Member Marketing Team. Working remotely, you... 

NITELINES USA, INC

Ultrasound Technician Job at NITELINES USA, INC

 ...NEEDED: Ultrasound Technician / Echocardiogram Technician LOCATION: 4200 Bureau Road North, Terre Haute, Indiana 47808 STATUS: As Needed - Two visits per month per technician, not to exceed 8 hours per day, 185 hours per year. SCHEDULE: Monday - Friday, excluding... 

Crisis Prevention Institute

Revenue Operations Analytics Specialist Job at Crisis Prevention Institute

 ...people within service-oriented industries including education, healthcare, behavioral health, long-term care, human services, security,...  ...only obtained within a fast-growing organization Entry-level roles through executive leadership. Feel fulfilled and have... 

Fred Hutchinson Cancer Center

Post-Doctoral Research Fellow | Fred Hutchinson Cancer Center Job at Fred Hutchinson Cancer Center

 ...Overview Fred Hutchinson Cancer Center is an independent, nonprofit organization providing adult cancer treatment and groundbreaking research focused on cancer and infectious diseases. Based in Seattle, Fred Hutch is the only National Cancer Institute-designated cancer...