Position: Lead Research Software Engineer
Overview
The “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 Princeton’s 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.
Responsibilities
Job responsibilities will include a subset of the following:
Management and Technical Leadership
- Directly oversee a team of RSEs dedicated to PLI’s 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.
Qualifications
Essential 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 team
Additional 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 one’s career and family. Princeton’s 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 country’s 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