JobTarget Logo

Research Software Engineer II in Princeton, New Jersey at Princeton University

NewSalary: $125000 - $140000Job Function: Information Technology
Princeton University
Princeton, New Jersey, 08544, United States
Posted on
New job! Apply early to increase your chances of getting hired.

Explore Related Opportunities

Job Description

Job Type Full-Time

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 is a full-time position located in Princeton, NJ and will follow a hybrid work schedule. This is a 3-year term position, with a possibility of reappointment. The position is up to a 3-year term, with a possibility of reappointment.



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 Qualifications:

  • 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, PyTorch, or Scikit-learn.
  • Experience working with large datasets and familiarity with GPU computing environments.
  • Demonstrated success:
    Consistently using conventional and readable coding style.
    Creating comprehensive and well-written documentation.
    Using version control systems.
  • Demonstrated successes contributing to a collaborative research team.
  • Ability to work independently.
  • Strong written and oral technical communication skills with the ability to present complex research findings to technical and non-technical audiences.

Preferred Qualifications:

  • Expertise in conducting research in Artificial Intelligence and Machine Learning. Contributions to open-source libraries and publications in relevant journals or conferences are highly valued.
  • Experience participating in multiple software development projects simultaneously, ensuring timely delivery and adherence to quality standards. An eagerness to take on more responsibility and develop project management skills.
  • A Masters/Ph.D. in computer science, applied science, or other related field with a strong computational focus or equivalent experience in a research setting preferred.

Princeton University is an Equal Opportunity 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.

The University considers factors such as (but not limited to) scope and responsibilities of the position, candidate's qualifications, work experience, education/training, key skills, market, collective bargaining agreements as applicable, and organizational considerations when extending an offer. The posted salary range represents the University's good faith and reasonable estimate for a full-time position; salaries for part-time positions are pro-rated accordingly.

If the salary range on the posted position shows an hourly rate, this is the baseline; the actual hourly rate may be higher, depending on the position and factors listed above.

The University also offers a comprehensive benefit program to eligible employees. Please see this link for more information.


Standard Weekly Hours
36.25

Eligible for Overtime
No

Benefits Eligible
Yes

Probationary Period
180 days

Essential Services Personnel (see policy for detail)
No

Physical Capacity Exam Required
No

Valid Drivers License Required
No

Experience Level
Mid-Senior Level

#Ll-DP1

Salary Range
$125,000 to $140,000

Job Location

Princeton, New Jersey, 08544, United States

Frequently asked questions about this position

Similar Jobs In Princeton, New Jersey

Urgently Hiring

Software Configuration Manager

Castellum Inc
Lakehurst, New Jersey
Hot Job

Sr Software Developer II (R&D)

B. BRAUN MEDICAL (US) INC
Allentown, Pennsylvania
New

Oracle Integration Cloud (OIC) Developer

Bright Vision Technologies
Edison, New Jersey

Staff Software Engineer

Dow Jones & Co.
New York, New York
New

Senior Software Engineer, Full-Stack

Till Financial
Brooklyn, New York
Continue to apply
Enter your email to continue. You’ll be redirected to the employer’s application.
By clicking Continue, you understand and agree to JobTarget's Terms of Use and Privacy Policy.