Software Engineer
apple
Job Description
- Design and implement multi-agent orchestration systems — including agent collaboration, task delegation, hand-offs, shared context management, role specialisation, and conflict resolution patterns
- Build agent memory architectures — episodic, semantic, and working memory — using vector stores (pgvector, Milvus) and hybrid retrieval strategies to enable agents to reason over past interactions and maintain state across sessions
- Develop tool and function-calling layers that expose internal APIs and services as agent-executable tools via MCP (Model Context Protocol) servers or custom tool registries, with strong contracts and well-defined failure semantics
- Implement RAG (Retrieval-Augmented Generation) pipelines with vector stores and hybrid retrieval strategies to ground agent responses in authoritative internal knowledge
- Own the observability story for agentic systems — distributed tracing of agent runs, prompt and response capture, token and cost accounting, evaluation pipelines, replay and debugging, and regression detection using OpenTelemetry and LLM observability tooling
- Drive maintainability of agentic systems through versioning of prompts, tools, and agent graphs; deterministic test harnesses; evaluation suites; safe canary rollouts; and structured logging that makes non-deterministic behaviour debuggable
- Apply agent safety guardrails — input validation, prompt-injection defences, output schema contracts, and sandboxed code execution — to ensure systems are safe and reliable at production scale
- Architect and maintain server-side agent services using Java (Spring Boot, Spring AI) and client-side agent interfaces using React and TypeScript
Minimum Qualifications
- 4+ years of software engineering experience, with at least 2 years focused on AI/ML systems, LLM integrations, or autonomous agent development
- Hands-on experience designing and implementing multi-agent orchestration systems and agent loop patterns (ReAct, Plan-and-Execute, or similar)
- Strong proficiency in Java (Spring Boot) and TypeScript/React for building full-stack agentic applications
- Solid understanding of LLM fundamentals: prompt engineering, context window management, function calling, structured outputs, and tool use
- Experience building RAG pipelines and working with vector databases .
- Demonstrated ability to implement agent safety guardrails including prompt-injection defences and output schema enforcement
- Experience with observability tooling (OpenTelemetry or equivalent) applied to distributed, AI-driven systems
- Bachelor's degree in Computer Science, Software Engineering, or a related technical field .