Associate Director, Research Software Engineering

Requisition # 2024-18555
Date Posted 5 months ago(2/18/2024 11:24 PM)
Information Technology
Job Type


The Research Software Engineering (RSE) Group, located institutionally in Princeton Research Computing but extending across campus, is hiring an Associate Director of Research Software Engineering. You will report to the Sr. Director of Research Software Engineering.

The RSE Group collectively provides computational research expertise to nearly every division at Princeton: Engineering and Applied Science, Humanities, Social Sciences, and Natural Sciences. The RSE group is a centralized team of software experts focused on improving the quality, performance, and sustainability of Princeton’s computational research software. The group is committed to building collaborative environments that value the best software engineering practices for sharing and applying cross-disciplinary computational techniques in new and emerging areas.  

In this position, you will build and lead a growing team of Research Software Engineers who provide dedicated expertise to researchers to create the most efficient, scalable, and sustainable research code possible to enable new scientific and scholarly advances. You will have the opportunity, and be encouraged, to bring new initiatives, technologies, and/or approaches to the RSE group and Princeton Research Software Community.

You will develop strong relationships with new research groups to understand and assess their research software needs, determine the appropriate RSE support model, and work to match or recruit researchers with the right competencies and fit to a project. You’ll act as a liaison to departments, overseeing the work of several research software engineers, making sure that each project is benefiting appropriately from the research collaboration and addressing, troubleshooting, or problem-solving any barriers or roadblocks with RSEs. 

You will oversee and encourage the professional development of the research software engineers you manage by engaging with the broader research community, and encouraging and enabling their participation in the boarder University research mission via training workshops, advising, consultation, curricular support, and/or participating in conferences or research groups outside of their immediate team. Finally, as part of the RSE management team, you will contribute to the strategic vision and mission for Research Software Engineering at Princeton. 

If you have a background in research software development and experience leading teams, you are poised to make an immediate impact on the research software engineering landscape at Princeton.  You will collaborate closely with colleagues in Research Computing as well as with leading faculty researchers, student researchers, and technical staff in University departments, national labs, and industry. 

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.


Technical Leadership 

  • Bring creativity, foresight, and mature professional judgment in anticipating and solving unprecedented problems, determining project objectives and requirements, and developing standards and guides for diverse software engineering, computing, and scientific/scholarly activities.
  • Pursue and lead new synergistic initiatives that advance the RSE group and Princeton research software community.
  • Initiate, structure, and schedule regular code reviews and other group technical activities for the RSE group. 
  • Mentor and provide technical leadership to members of the Research Software Engineering team.
  • Maintain knowledge of current software development tools, techniques, and programming languages.
  • Follow trends in software development and software management. 
  • Suggest transdisciplinary collaboration when appropriate
  • Provide guidance to research teams as they pursue external funding, especially for units that are not normally supported by sponsored research. 


  • Collaboratively establish project priorities for RSE teams and follow best practices in project management. 
  • Determine staffing models for a variety of research needs in conversation and collaboration with the Senior Director and RSE advisory committee.
  • Communicate with and facilitate communication between PIs, stakeholders, and the RSE group.
  • Develop criteria for success, monitor and review progress at regular intervals, and manage expectations within and among diverse stakeholders. 
  • Manage effort and oversee the computational work of the RSE team through direct and matrix reporting structures.
  • Conduct Annual Performance Reviews for RSE staff in collaboration with other supervisors. 
  • Write job descriptions and work directly with HR on recruitment and retention. 
  • Assist in building and developing a diverse, effective, and collaborative group of Research Software Engineers.
  • Create an inclusive atmosphere and environment in which best engineering practices are valued, shared, and prioritized.
  • Supervise professional development of direct reports, including the coordination of activities and events supporting the acquisition of new skills and expertise.


Department outreach and collaboration 

  • Initiate and maintain extensive contact with key researchers, scientists, and scholars within a wide range of research groups and skillfully removes barriers to successful RSE collaborations.
  • Engage and build relationships with a multitude of researchers, academic departments, and institutes/centers that partner with the RSE program.
  • Create new relationships with academic departments and researchers to promote the benefits of collaborative research with an RSE.
  • Oversee creation and promotion of domain-specific support structures and promotes a culture of best practices in collaborative research among collaborators within a variety of settings and domains.
  • Initiate and maintain contact with colleagues within Research Computing and the broader Princeton computing community to effectively grow and develop software engineering capabilities.


Strategic Vision for RSE 

  • Contribute to the strategic vision for Research Software Engineering (RSE) at Princeton, as well as contribute to national and international efforts to drive the direction of the RSE profession.


  • 7-10 years of some combination of the following:
    • Software development (preferably in a research environment) 
    • Supporting computational research and software development in an academic setting
    • Leading a software development team in a research environment that had multiple stakeholders
  • 3-5 years of experience managing people, projects, and/or resources.
  • Demonstrably strong programming skills, particularly in the languages common in research software applications. E.g. Python, C/C++, Fortran, R, MATLAB, and/or Julia.
  • Openly value and espouse software engineering and development activities including requirements analysis, design, implementation, testing, deployment, and maintenance.
  • Exceptional written/oral/interpersonal communication skills, both with regard to technical and non-technical audiences. 
  • Excellent organizational and project management skills; ability to prioritize and manage multiple complex initiatives and projects serving various research groups with available resources; ability to respond quickly to changing business needs and priorities.
  • Ability to lead a team of highly competent professionals with varying backgrounds, reporting lines, and responsibilities.  Must be a strong mentor and developer of people.
  • Proactive approach to seeking information and ideas from peers, supervisors, and project partners. 
  • Education: A bachelor's degree is required. A Masters/Ph.D. is strongly preferred. 


  • Strong research background in computational science or engineering, computational social science, and/or digital humanities.
  • Knowledge of Machine Learning or large AI models. 
  • Research Software Engineering experience. 



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

Standard Weekly Hours


Eligible for Overtime


Benefits Eligible


Probationary Period

180 days

Essential Services Personnel (see policy for detail)


Physical Capacity Exam Required


Valid Driver’s License Required


Experience Level




Sorry the Share function is not working properly at this moment. Please refresh the page and try again later.
Share on your newsfeed

Connect With Us!

Join our Talent Network to receive updates about working at Princeton.

Princeton University job offers are contingent upon the candidate’s successful completion of a background check, reference checks, and pre-employment screening, as applicable.

If you have questions or comments regarding the iCIMS Privacy Policy or iCIMS FAQs, please contact

Go to our careers site.