Senior Research Software Engineer

Princeton UniversityPrinceton, NJ
Onsite

About The Position

Princeton University's Research Computing department is recruiting a Senior Research Software Engineer to join its RSE Group and the Space Physics Group in the Department of Astrophysical Sciences. In this role, you will create software that supports the Interstellar Mapping and Acceleration Probe (IMAP) mission, which launched in 2025 to explore particle acceleration and the Sun’s interaction with the local interstellar medium. You will also contribute to the RSE Group's mission of improving the quality, performance, and sustainability of Princeton’s computational research software by providing computational expertise in software development, algorithm selection, and optimization. As a Senior RSE, you will mentor and provide technical leadership to the team, teach advanced computational techniques, and potentially co-author scientific publications. This position offers the opportunity to grow and expand programming and data analytics expertise into new research problems, working closely with colleagues in Astrophysical Sciences and Research Computing, as well as faculty, students, and technical staff. The role is designed to support diverse backgrounds and career paths. This is an 18-month term position with the possibility of extension.

Requirements

  • 7+ years’ experience as a Research Software Engineer, including graduate level and postdoctoral work.
  • A Bachelor's degree in computer science, engineering, sciences, or related computational field.
  • Strong programming skills, particularly in languages used in scientific computing applications (e.g., Python).
  • 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 using conventional and readable coding style.
  • Demonstrated success performing test-driven development.
  • Demonstrated success creating comprehensive and well-written documentation.
  • Demonstrated success participating in regular code reviews as both a reviewer and reviewee.
  • Demonstrated success developing and maintaining reproducible build systems.
  • Demonstrated success using version control systems.
  • Demonstrated success 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.
  • Experience working in an academic research environment.
  • Ability to manage code bases with agility in a fast-paced, collaborative environment.

Nice To Haves

  • 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.

Responsibilities

  • Apply domain expertise to understand the science, math, statistics, data analysis, and algorithms of computational research questions to converse with researchers and contribute to ongoing work.
  • Keep abreast of advances in the research domain through independent research, reading publications, and studying existing code bases.
  • Initiate open collaboration with researchers, regularly meeting with them to ensure engineered solutions meet research needs and addressing software engineering questions in research planning.
  • Apply appropriate domain-specific algorithms, techniques, and code to advance software engineering in the research field.
  • Translate research priorities into flexible software solutions that contribute to ongoing research projects.
  • Build software solutions independently using researcher-provided requirements and desired end states, including figuring out the problem through independent research, developing solutions, and providing full documentation.
  • Identify project solutions, establish applicable best practices (e.g., version control, CI/CD, software design), and enable long-term maintainability and sustainability through detailed documentation.
  • Provide technical expertise and guidance for improving the performance and quality of new and existing code bases through hands-on work.
  • Develop novel, creative, and robust software solutions to solve challenging research problems quickly and efficiently, responding to evolving research needs.
  • Port, debug, tune, and potentially parallelize existing research code to meet research criteria.
  • Develop novel, creative, and robust software tools for flexible and efficient interaction with extremely large data sets.
  • Independently develop scope and project management plans, meet and set milestone delivery timelines, and proactively communicate with research teams.
  • Communicate complex software engineering concepts to project teams with varying levels of software engineering knowledge.
  • Raise the computational capability of graduate students and postdoctoral researchers through training, workshops, consultation, knowledge transfer, expertise, and best practices.
  • Maintain technical skill sets and expertise in software development tools, techniques, best practices, programming languages, high-performance computing hardware, and computational research solutions, focusing on advancing depth of knowledge in key research areas.
  • Show technical leadership through mentoring, instructing, and educating less experienced Research Software Engineers in advanced computational techniques.
  • Collaborate with RSE group leadership and other senior RSEs to contribute to the organization of professional development and team growth activities.

Benefits

  • Comprehensive benefit program
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service