Written by
Kristine Lloyd, Princeton Laboratory for Artificial Intelligence
June 20, 2025

As researchers at the Princeton Laboratory for Artificial Intelligence work to drive knowledge forward in a rapidly moving field, a special team of research software engineers supports their efforts, lending their technical expertise to build cutting edge ideas into projects that scale and bring the state of the art into practice.

Working closely alongside faculty, graduate students and postdocs, these engineers make fundamental contributions to research as they help conduct experiments, analyze results and co-author publications. The engineers also maintain computational resources, including GPU clusters that are crucial to research.

The AI Lab hired three research software engineers last year to support Princeton Language and Intelligence (PLI), and is looking to hire more.

“The university's goal in creating PLI was to enable impactful AI research to happen here,” said Sanjeev Arora, director of the research initiative. “Our team of research software engineers have played a key role in the cutting-edge research in AI at Princeton that is being picked up by industry and also garnering awards and recognition at leading conferences."

Kilian Lieret joined the AI Lab as a research software engineer after a stint as an associate research scholar with the Institute for Research and Innovation in Software for High Energy Physics. He said he enjoys how the position fits at the intersection of the industry and academia, allowing him to work on developing a solid foundation for research projects from a software architecture perspective.

“As a research software engineer, you are able to build long term projects that have a bigger impact on the community,” he said. 

Lieret has worked closely with AI Lab postdoc Ofir Press on projects for developing and evaluating agents for software engineering tasks, including SWE-agent and SWE-bench. 

“Kilian has worked with us on SWE-agent since the beginning,” Press said. “He reads a lot of community feedback, and responds to questions and comments people have. He also spends a lot of time fixing bugs that users find in our projects and developing new features for SWE-agent. His contributions have really been immense.”

Karthik Narasimhan, an associate professor of computer science who works on the project, also praised Lieret’s contribution to the project’s open-source github repository, which has been downloaded thousands of times.

“Kilian has been instrumental in both pushing the performance of SWE-agent to state-of-the-art levels, as well as solid engineering work to make the project reproducible and easy to use for the community,” he said.

Arora pointed out that SWE-bench, which was created for testing SWE-agents, has been the most popular benchmark for reporting AI models' coding capabilities in the past year and a half, and all model releases prominently report the SWE-bench score. 

The opportunity to contribute to this type of open-source software was part of what motivated Hubert Strauss to leave industry and accept a position as research software engineer for the AI Lab. 

“We contribute to the research process on the engineering side, putting theoretical ideas into practice and showing that theory holds,” Strauss said. “As they say, theory can be beautiful, but it doesn’t hold if the experiments don’t follow.”

The position also allows him to explore his research interests in theory-to-practice translation as well as efficient algorithms and architecture, he said.

“I enjoy working on theory-grounded projects to understand today’s models and create empirically verified, reproducible methods that push efficiency and capability forward,” he said.

Yihe Dong was a senior research engineer for Google before joining the AI Lab. She brings deep industry experience to the role as a research software engineer, along with her passion for applying mathematical principles to machine learning techniques.

Her industry experience put her in the habit of writing code that’s more modular, sustainable and scalable, she said.

“This reduces the chance for bugs, eases the burden for debugging, and makes the code more usable and reproducible in the long run,” she said. “It also helps with future projects when trying to reuse code.”

Dong added that she enjoys the academic focus of the job, allowing her to work on cutting edge research with less of a focus on the bottom line.

“You can explore your academic curiosity more, and that feels very fulfilling,” she said.