The posting
Job Description
Stanford Law School Salary Budgeted Range: $117,536 - $165,000
Job Description
Research Engineer, Agentic Infrastructure Legal Innovation through Frontier Technology Lab (liftlab), Stanford Law School
Stanford Law School’s Legal Innovation through Frontier Technology Lab (liftlab) is seeking a Research Engineer to design and implement the software systems that make the lab’s research possible. Working at the intersection of software engineering, computational research, and agentic AI, the engineer will build infrastructure for coordinating research agents, rapidly provisioning research environments, and running large-scale empirical experiments.
The Research Engineer reports to the lab Directors, Prof. Julian Nyarko and Dr. Megan Ma. The Directors collaboratively design the research agenda, study designs, and methodological requirements. The engineer develops the technical response to that design: assessing feasibility, contributing architectural and implementation ideas, translating research specifications into working systems, and iterating with the scientist as findings and requirements evolve.
The successful candidate will combine strong programming and systems architecture skills with an understanding of research methods and reproducibility. They will build modular, configurable infrastructure that allows researchers to vary models, datasets, agent strategies, and experimental conditions without rebuilding workflows from scratch. Their responsibilities will span the software development lifecycle, from technical design and prototyping through testing, deployment, maintenance, and performance optimization. Developing classifiers and baseline models will be part of a broader responsibility to turn collaboratively developed research ideas into reliable, adaptable computational capabilities.
Your Duties Will Include:
- Research Collaboration and Technical Design: Translate research designed with the Directors and other research scientists into technical specifications, implementation plans, and deliverable milestones. Assess feasibility, identify computational constraints, explain technical tradeoffs, and contribute design feedback that informs continued research development.
- Agentic Infrastructure and Software Development: Design and implement modular systems for deploying and coordinating research agents, integrating models and tools, managing data, and executing experiments. Develop reusable interfaces and configuration-driven workflows that accommodate changes in research questions, methods, and experimental conditions.
- Research Environments and Scalable Experimentation: Rapidly provision reproducible computing environments with appropriate software, dependencies, and data access. Build parallel or distributed experiment pipelines that support comparisons across datasets, models, prompts, and agent strategies, with appropriate logging, checkpointing, and recovery mechanisms.
- Computational Methods and Validation: Implement classifiers, baseline models, analytical tools, and evaluation harnesses as research needs require. Read research papers and associated source code, test implementations against reference results, and collaborate with the research scientists and fellows to investigate discrepancies and validate computational behavior.
- Software Quality and Reproducibility: Lead code review, automated testing, debugging, change control, and technical documentation. Establish practices for tracking code, data, model, configuration, and environment versions so that experiments can be reproduced and results traced to their computational inputs.
- Operations and Performance: Maintain, troubleshoot, and upgrade research applications and infrastructure. Diagnose complex failures, evaluate libraries and platform changes, and optimize runtime, data access, scheduling, and resource use while preserving experimental conditions and reproducibility.
- Technical Leadership and Collaboration: Lead engineering delivery, exercising independent technical judgment within agreed research requirements and priorities. Mentor research staff as needed; develop clear implementation guides; and collaborate with computing and data professionals on development standards, deployment practices, and infrastructure planning.
Preferred Education
- A Master’s degree in computer science, software engineering, data science, computational methods, or a related field, strongly preferred. PhD in computer science, software engineering, data science, computational methods, or a related field, would be ideal.
Preferred Knowledge, Skills, and Abilities
- Strong programming skills in Python and the ability to select, adapt, and quickly learn appropriate scientific programming tools and libraries.
- Demonstrated ability to design, develop, test, deploy, and maintain complex software systems.
- Strong understanding of modular software architecture, API integrations, data architecture, and data modeling.
- Ability to rapidly configure reproducible research environments and resolve complex software dependency and installation issues.
- Experience with scalable data processing, parallel or distributed execution, and performance optimization.
- Working knowledge of research design, statistics, and machine learning sufficient to implement and test computational methods in collaboration with researchers.
- Strong code review, debugging, quality control, and documentation skills, with attention to computational accuracy and reproducibility.
- Ability to translate evolving research specifications into reusable technical capabilities and communicate feasibility constraints and design tradeoffs clearly.
- Ability to plan engineering work, deliver against agreed milestones, and collaborate effectively with researchers and technical colleagues.
Preferred Qualifications
- Experience designing, implementing, or evaluating LLM-based or agentic AI systems, including tool integrations, workflow orchestration, and evaluation frameworks.
- Experience building reusable infrastructure for large-scale empirical experiments, including configurable pipelines, containerized environments, and reliable execution across computing platforms.
- Experience with advanced statistical or machine learning methods, or demonstrated ability to learn and implement such methods quickly.
- Experience reading research papers and associated code to support replication, computational validation, and evaluation.
- Experience with R or other scientific programming languages in addition to Python.
Experience mentoring developers or research staff and establishing shared practices for software quality, documentation, and reproducible research
Responsibilities
Core Duties:
- Conceptualize design, implement, and develop solutions for complex systems/programs.
- Work with a variety of users to gain information, and develop intra-system tradeoffs between different users, as necessary; interact with a diverse client base and outside vendor contacts.
- Document system builds and application configurations; maintain and update documentation as needed.
- Provide technical analysis, design, development, conversion, and implementation work.
- Work as a project leader, as needed, for projects of moderate complexity.
- Serve as a technical resource for applications.
- Compare, evaluate, and implement new features and technologies, and integrate them into the computing environment.
- Follow team software development methodology.
- Mentor junior software developers.
Minimum Education and Experience:
Bachelor's degree and five years of relevant experience, or a combination of education and relevant experience.
Knowledge, Skills and Abilities:
- Expertise in designing, developing, testing, and deploying applications.
- Proficiency with application design and data modeling.
- Ability to define and solve logical problems for highly technical applications.
- Effective communication skills with both technical and non-technical clients.
- Ability to lead activities on structured team development projects.
- Ability to select, adapt, and effectively use a variety of programming methods.
- Knowledge of application domain.



