Associate Director, Research Software Engineering
Company: Princeton University
Location: Princeton
Posted on: April 26, 2024
Job Description:
OverviewThe 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.ResponsibilitiesTechnical 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. Management
- 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.Qualifications
- 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. 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 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. PI66a6d08acfba-31181-34327324
Keywords: Princeton University, Levittown , Associate Director, Research Software Engineering, Executive , Princeton, Pennsylvania
Didn't find what you're looking for? Search again!
Loading more jobs...