Role Description
Develop applications, model capabilities, and experimental systems using large language models. Combine software engineering, evaluation, and research methods to deliver useful, reliable solutions while managing limitations, operating costs, and relevant risks.
Key Responsibilities
- Translate business needs or research questions into requirements and evaluation criteria.
- Assess model options against quality, latency, cost, privacy, and deployment constraints.
- Build reproducible workflows for data preparation, development, testing, and evaluation.
- Develop prompts, structured outputs, retrieval workflows, or model adaptations appropriate to the task.
- Establish baselines and evaluate representative cases, edge cases, and failure modes.
- Investigate hallucinations, retrieval errors, inconsistent outputs, and performance regressions.
- Implement safeguards for untrusted content, sensitive information, and tool execution.
- Maintain versioned code, configurations, datasets, and experiment records.
- Collaborate with software, data, infrastructure, security, and domain teams.
- Document limitations and communicate technical trade-offs clearly.
- Improve efficiency and reliability based on evaluation results and operational feedback.
Role-Specific Responsibilities
- LLM Engineer: Develop and improve LLM systems across model selection, adaptation, evaluation, serving, and monitoring. Optimize performance for the intended workload.
- LLM Application Developer: Build user-facing features and backend services that integrate LLMs, retrieval, APIs, and tools. Implement authentication, error handling, testing, and appropriate human approval points.
- LLM Research Engineer: Implement research methods, build experimental infrastructure, and conduct controlled studies of training, adaptation, inference, or evaluation techniques.
Qualifications
- Proficiency in Python and software development practices, including testing and version control.
- Understanding of language models, tokenization, context limits, embeddings, and model evaluation.
- Experience working with LLM APIs or locally hosted models.
- Strong analytical, debugging, and problem-solving skills.
- Ability to prepare data and interpret experimental results critically.
- Clear technical documentation and effective collaboration skills.
- A degree in computer science, mathematics, engineering, data science, or a related field, or equivalent demonstrated technical experience.
- LLM Engineer: Experience with machine learning workflows, model adaptation, serving, or production evaluation.
- LLM Application Developer: Experience building APIs, applications, integrations, and secure data access.
- LLM Research Engineer: Strong grounding in machine learning and experience implementing papers and maintaining reproducible experiments.
Preferred Qualifications
- Experience with retrieval-augmented generation, reranking, and retrieval evaluation.
- Familiarity with fine-tuning, parameter-efficient adaptation, or preference optimization.
- Experience with distributed computing, accelerator hardware, or inference optimization.
- Knowledge of observability, deployment automation, and incident response.
- Experience evaluating robustness, prompt injection, data leakage, and unsafe tool use.
- Research contributions, open-source work, or a portfolio of evaluated LLM projects.
Scope by Role
- LLM Engineer: Owns technical development and optimization of assigned LLM capabilities.
- LLM Application Developer: Owns application integration and the end-to-end user workflow.
- LLM Research Engineer: Enables and advances research through reliable implementations, infrastructure, and experimentation.