Lead Research Software Engineer
Company: Princeton University
Location: Princeton
Posted on: September 1, 2024
Job Description:
OverviewThe Princeton Language and Intelligence Initiative at
Princeton University invites applications for a Lead Research
Software Engineer. This multidisciplinary initiative has three
Research thrusts: (a) Better design, evaluation, safety and
understanding of large AI models (especially language models); (b)
Applications of large AI models to many academic disciplines; and
(c) Studying the impact of large AI models on society and the
world. The Initiative will produce open-source software and
models.In this position, you will be a lead and integral member of
dynamic research teams focused on building innovative and complete
software solutions for cutting-edge AI research and making
fundamental contributions to AI projects with Princetons
world-class researchers. As a Lead RSE, you will oversee a team of
Research Software Engineers working on varied engineering solutions
associated with large AI models. You will bring your advanced
technical knowledge and project management experience to raise the
computational capability of the team and translate key PLI
priorities into engineering solutions.The term of this appointment
is 3 years, with the possibility of renewal based upon satisfactory
performance and funding.The position is located in Princeton, NJ
with the possibility for some flexible work arrangements. This is
not a remote position.ResponsibilitiesJob responsibilities will
include a subset of the following:Management and Technical
Leadership
- Directly oversee a team of RSEs dedicated to PLIs mission.
Responsible for managing their effort and all team software
development work while establishing project priorities and
following best practices in project management.
- Lead the team in providing technical expertise and guidance for
improving the performance and quality of new and existing code
bases through hands-on work with ongoing research.
- Mentor, instruct and educate less experienced Research Software
Engineers, including those outside the direct team (including PLI
researchers), in advanced computational techniques learned from
developing novel research software engineering project
solutions.
- Formally train and mentor the members of the PLI RSE team in
both research software engineering as well as AI-specific
topics.
- Organize professional development and professional growth
activities for the team. This includes leading code reviews within
their projects.
- Monitor and manage all team projects and architect a set of
applicable best practices uniquely appropriate for that project
(e.g., version control, continuous integration and continuous
delivery, software design, programming model, etc.).
- Conduct Annual Performance Reviews for direct report RSE
staff.
- Supervise professional development of direct reports, including
the coordination of activities and events supporting the
acquisition of new skills and expertise.
- Build and develop a diverse, effective, and collaborative group
of Research Software Engineers and participate in other RSE hiring
committees.
- Create an inclusive atmosphere and environment in which best
engineering practices are valued, shared, and prioritized.Software
Development
- Collaborate with our diverse team to help develop and improve
large AI models, helping conduct experiments, analyze results, and
co-author research publications.
- Develop, maintain, and improve our shared infrastructure for
training / fine-tuning and prompting large AI models.
- Maintain software libraries/environment/GitHub repositories and
support model use.
- Provide support for use of these libraries in the core AI
models group as well as for interdisciplinary work. This includes
documentation of projects in a descriptive and appropriately
detailed manner that can be understood by both researchers and
future Research Software Engineers.
- Serve as 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. This
may involve independent research, studying existing code bases, and
keeping up-to-date with publications.
- Build awareness of software development tools and techniques,
software engineering best practices, programming languages,
high-performance computing hardware, and computational research
solutions.
- Access to a community of about two dozen research software
engineers as well as continued professional development
opportunities at Princeton Research
Computing.QualificationsEssential Requirements:
- A Bachelor/Masters degree in Computer Science, Engineering,
Sciences, or related computational field is required.
- Solid coding skills and good experience with large AI
models.
- Experience leading multiple software projects
- Familiarity with GPU computing environments and ML frameworks
and libraries (e.g,, DeepSpeed, HuggingFace).
- Prior research experience in AI/ML and/or contributions to
open-source libraries.
- Strong written and oral technical communication
skills.Preferred Requirements:
- 1+ years experience managing a small teamAdditional Information
- This position is located in Princeton, NJ with the possibility
for some flexible work arrangements. This is not a remote
position.
- The position is up to a 3-year term, with a possibility of
reappointment.
- Competitive compensation package with attractive work
conditions.
- Access to state-of-the-art research facilities and a new GPU
cluster.
- Opportunities for professional growth and career
advancement.
- Collaborative and inclusive work environment that fosters
creativity and innovation.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.Elevating the individual within a culture of
collaboration, Princeton University is a powerful foundation upon
which to build ones career and family. Princetons competitive array
of benefits reflects a holistic approach to supporting individuals
and their families at work and beyond. The University is also an
engaging, transformative resource in and of itself. From
opportunities for collaboration to world-class research and
cultural facilities, you will find all manner of spaces that bring
people together and inspire new ideas.Princeton, NJ is one of the
countrys most historic communities. Situated midway between
Philadelphia and New York City, Princeton is a charming and
walking-friendly small town with easy access to neighboring cities.
In 2022 Niche Magazine rated the Princeton Public Schools as one of
the top public school districts in NJ and included Princeton on its
list of the best places to live in America.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 Hours36.25Eligible for
OvertimeNoBenefits EligibleYesProbationary Period180 daysEssential
Services Personnel (see policy for detail)NoPhysical Capacity Exam
RequiredNoValid Drivers License RequiredNo Experience
LevelDirector#Ll-DP1by Jobble
Keywords: Princeton University, Trenton , Lead Research Software Engineer, IT / Software / Systems , Princeton, New Jersey
Didn't find what you're looking for? Search again!
Loading more jobs...