Research Software Engineer II
Princeton UniversityAbout the role
Overview
Princeton Laboratory for Artificial Intelligence (the “AI Lab”) invites applications for a full-time Research Software Engineer (RSE). As an RSE joining the AI Lab, you will contribute to the current research that the AI Lab supports across the university. Candidates can read more about the AI Lab on the website.
In this position, you will be both a member of Princeton’s RSE team, as well as an integral member of the AI Lab and the research community it supports. You will work with a diverse group of faculty, postdocs, and students from multiple disciplines.
If you are passionate about advancing AI research, working alongside leading researchers, and contributing to impactful open-source projects, we encourage you to apply for this position.
- This position is located in Princeton, NJ. This is not a remote position.
- The position is up to a 3-year term, with a possibility of reappointment.
- Competitive compensation package with attractive work conditions.
- Access to state-of-the-art research facilities and a new GPU cluster.
- Opportunities for professional growth and career advancement.
- Collaborative and inclusive work environment that fosters creativity and innovation.
- Application of Domain Expertise.
- Initiate and maintain open collaboration with researchers across Princeton University. Regularly meet with, listen to, and ask questions of researchers to ensure the engineered solutions fit the research need.
- Apply AI and machine learning algorithms to software engineering projects in the researcher’s specific domain.
Responsibilities
Application of Domain Expertise
- Initiate and maintain open collaboration with researchers across Princeton University. Regularly meet with, listen to, and ask questions of researchers to ensure the engineered solutions fit the research need.
- Apply AI and machine learning algorithms to software engineering projects in the researcher’s specific domain.
Research Software Engineering
- Working independently with minimal guidance to understand and translate research priorities into flexible software solutions.
- Collaborate with a team to develop comprehensive open source software solutions and models based on researcher-provided requirements and desired outcomes. Conduct independent or team research to identify and solve problems, and provide detailed documentation for the research team.
- Contribute to software solutions by establishing project-specific best practices, including version control, continuous integration and delivery, software design, and programming models.
- Ensure long-term maintainability, sustainability and open access by thoroughly documenting projects. Provide support for the use of software libraries, including detailed documentation that is accessible to both researchers and future Research Software Engineers.
- Provide technical expertise and improve the performance and quality of new and existing code bases through hands-on work with ongoing research.
- Collaborate with researchers to ensure solutions meet their needs, addressing software engineering questions during research planning. Communicate software engineering concepts to project teams with varying levels of expertise. Serve as a liaison with Princeton Research Computing staff on GPU cluster-related issues.
Professional Development
- Learn the underlying science, mathematics, statistics, data analysis, and algorithms of computational research questions through independent research, studying existing code bases, and staying current with publications.
- Build awareness of software development tools and techniques, best practices in software engineering, programming languages, high-performance computing hardware, and computational research solutions.
- Participate in a community of research software engineers and engage in continued professional development opportunities at Princeton Research Computing.
Qualifications
ESSENTIAL Minimum Required Knowledge, Skills, Competencies, and Abilities
- Bachelor’s degree or equivalent in computer science, engineering, applied math, sciences, or related computational field.
- A minimum of 4 years as a Research Software Engineer or equivalent experience (e.g. graduate school, industry experience, open-source software development, etc.).
- Proficiency in programming languages used in AI and computational research (e.g. Python, C++, R, MATLAB, Julia).
- Expertise in machine learning algorithms and techniques. Familiarity with AI frameworks like TensorFlow, PyTorc
Apply for this role
Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.
Apply Now →Generate Application KitFree account required — sign up in 30s
Similar roles
Oceanographic/Bathymetric Research Scientist
Peraton
$179,000/yr
Principal Scientist Metabolism Bioscience Research, CVRM
AstraZeneca
$259,008/yr
Program Support Coordinator (Administrative Support Coordinator II ), Office of Student Research
California State University
$76,344/yr