Senior Research Software Engineer

senior
Software EngineerSoftware Engineering
0 views0 saves0 applied

Quick Summary

Overview

Overview Do you have a background in computational research and love to write code? Do you want to help enable and advance groundbreaking research in space physics? If so,

Technical Tools
Software EngineerSoftware Engineering

Do you have a background in computational research and love to write code? Do you want to help enable and advance groundbreaking research in space physics? If so, Princeton University's Research Computing department is recruiting a Research Software Engineer to join its RSE Group and the Space Physics Group in the Department of Astrophysical Sciences.

 

In the Space Physics Group, you will create software that supports the Interstellar Mapping and Acceleration Probe (IMAP) mission. The probe launched in 2025 to explore the details of particle acceleration and the Sun’s interaction with the local interstellar medium. The instruments on board collect and transmit data back to Earth, providing IMAP scientists with opportunities to make new discoveries about the global heliosphere.

 

In the RSE Group, we collectively provide computational research expertise to multiple divisions within the University. As a central team of software experts, we are focused on improving the quality, performance, and sustainability of Princeton’s computational research software. Our group is committed to building collaborative environments in which the best software engineering practices are valued, and to sharing and applying cross-disciplinary computational techniques in new and emerging areas.

 

In this position, you will be an integral member of the IMAP mission, focused on cutting-edge space physics research. You will join teams of researchers contributing to the development of efficient and scalable research code by providing computational expertise in software development, algorithm selection, and optimization. As a Senior RSE, you will also mentor and provide technical leadership to the Research Software Engineering team, as well as teach advanced computational techniques to raise the computational capability of the team. You may also have the opportunity to co-author scientific publications.

 

If you have a background in scientific programming, high performance computing, or academic research you have the right skill set to make an immediate impact on multiple high-profile research projects. You will be poised to grow and expand your programming and data analytics expertise into a dynamic new set of research problems. This position will require you to work closely with colleagues in the departments of Astrophysical Sciences and Research Computing, as well as with faculty, student/postdoctoral researchers, and technical staff to enable and accelerate their research computing efforts.

 

This role functions within a dynamic, supportive team environment that permits diverse backgrounds to thrive, including those wanting to make a career change and those with non-traditional career tracks, educational paths, or life experiences. If this environment sounds like a strong match or even an exciting challenge, we encourage you to apply and use your cover letter to explain why you would be a good fit for the role.

 

This is an 18-month benefits-eligible term position with a possibility of extension.

 

Responsibilities

~1 min read
  • Has a strong command of the research domain with proficient understanding of the underlying science, math, statistics, data analysis, and algorithms of computational research questions at a level sufficient to converse on projects with Princeton’s world-class researchers to consistently contribute to the ongoing work. This may consist of keeping abreast of advances in the domain, independent research (reading publications, etc.) and/or studying existing code bases.
  • Working independently, initiate open collaboration with researchers. Regularly meet with, listen to, and ask questions of researchers to ensure that engineered solutions fit the research need. Understand and address software engineering questions that arise in research planning.
  • Apply appropriate domain specific algorithms, techniques and code to advance software engineering in the research field.
  • Working independently guided by high level objectives, to quickly translate research priorities into flexible software solutions that consistently contribute to ongoing research project(s).
  • Independently use researcher-provided requirements and desired end state to build software solutions. To achieve this, RSEs are expected to figure out the problem through independent research, develop an appropriate solution, and provide full documentation for usage by the research team.
  • Identify solutions for each project, establish a set of applicable best practices for individual or team use that is uniquely appropriate for that project (e.g version control, continuous integration and continuous delivery, software design, programming model, etc.), and enable long term maintainability and sustainability by documenting the projects in a descriptive and appropriately detailed manner.
  • Independently provide technical expertise and guidance for improving the performance and quality of new and existing code bases through hands-on work with ongoing research.
  • Responding to evolving research needs, apply broad research software engineering experience to develop novel, creative, and robust software solutions to solve challenging research problems quickly and efficiently. Port, debug, tune and potentially parallelize existing research code to meet criteria set by the research needs.
  • Develop novel, creative and robust software tools that allow researchers to interact in flexible ways with extremely large data sets quickly and efficiently.
  • Independently develops scope and project management plans, meets and sets milestone delivery timeline, and proactively communicates with the research team. Communicate complex software engineering concepts with project teams consisting of domain experts with a varying degree of software engineering knowledge.
  • Raise the computational capability of graduate students and postdoctoral researchers through training and workshops, consultation, knowledge transfer, expertise, and best practices.
  • Maintaining technical skill set and expertise to include software development tools and techniques, software engineering best practices, programming languages, high-performance computing hardware, and computational research solutions. Focused on advancing depth of knowledge in key areas dictated by the research.
  • Show technical leadership through mentoring, instructing and educating less experienced Research Software Engineers in advanced computational techniques learned from developing novel research software engineering project solutions.
  • In collaboration with RSE group leadership and other senior RSEs, contribute to the organization of professional development and team growth activities.

Requirements

~3 min read
  • Strong programming skills, particularly in the languages used in scientific computing applications (specifically Python).
  • 7+ years’ experience as a Research Software Engineer, this includes graduate level and postdoctoral work.
  • Experience with Python libraries (especially NumPy) and the Python ecosystem of tools for managing environments and code testing, linting, dependency management and packaging (e.g., Poetry), etc.
  • Demonstrated success:
    • Consistently using conventional and readable coding style.
    • Performing test-driven development.
    • Creating comprehensive and well-written documentation.
    • Participating in regular code reviews as both a reviewer and reviewee.
    • Developing and maintaining reproducible build systems.
    • Using version control systems.
    • Using CI/CD pipelines.
  • Demonstrated successes contributing to a collaborative research team.
  • Ability to work independently.
  • Ability to learn new programming languages and technologies beyond area of core knowledge.
  • Ability to communicate effectively with a diverse user base having varied levels of technical proficiencies.
  • Ability to manage code bases with agility in a fast-paced, collaborative environment.
  • Bachelor's degree in computer science, engineering, sciences, or related computational field required.
  • Experience working in an academic research environment.
  • Domain-specific research experience
  • Experience tuning and optimizing research software and algorithms.
  • Parallel programming expertise.
  • Experience developing research software outside of core domain knowledge.
  • Experience working with cloud computing platforms (especially AWS).
  • Experience with Docker and Node.js
  • Experience building, executing, and maintaining complex data analysis pipelines.
  • Experience packaging and publishing data deliverables (e.g., in accordance with NASA’s Data Publication Process).
  • 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.

Please include a link to your public source code repository, if it is not provided in your resume.

 

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.

36.25
No

What We Offer

~1 min read
Yes
180 days
No
No
No
Mid-Senior Level
#LI-JJ1
$146,000 to $160,000

Location & Eligibility

Where is the job
Location terms not specified

Listing Details

Posted
May 15, 2026
First seen
May 18, 2026
Last seen
May 18, 2026

Posting Health

Days active
1
Repost count
0
Trust Level
27%
Scored at
May 20, 2026

Signal breakdown

freshnesssource trustcontent trustemployer trust
Newsletter

Stay ahead of the market

Get the latest job openings, salary trends, and hiring insights delivered to your inbox every week.

A
B
C
D
Join 12,000+ marketers

No spam. Unsubscribe at any time.

main-princetonSenior Research Software Engineer