
Elastic is on the lookout for a Senior Java Developer to join our Elasticsearch team and drive our work on the Inference API in Elasticsearch.
The Elasticsearch Inference API is the integration layer between Elasticsearch and external machine learning services including Elastic's own Elastic Inference Service (EIS), third-party providers (Anthropic, OpenAI, Cohere, Google), and self-hosted models. It powers features like semantic search, reranking, and generative AI across Elastic Cloud and in hosted environments.
You'll maintain and develop the plugin framework and REST API with your work spanning protocol design, streaming, async execution, billing integration, and with a tight collaboration with the wider inference team and the Kibana team.
What You Will Be Doing
- Build and maintain integrations with internal systems and external inference providers, including schema negotiation, streaming (SSE), and error normalisation.
- Contribute to the inference plugin's internal architecture: task settings, chunking strategies, rate limiting, and provider-level configuration.
- Review open source contributions to the codebase and work with third party engineers to ensure their contributions meet our technology standards.
- Participate in on-call rotation for inference-related incidents.
- Write thorough tests: unit tests using ESTestCase, YAML-based REST integration tests, and rolling-upgrade tests.
What You Bring
- 5+ years of production Java experience, with experience contributing to a large, established Java codebase. Core Java proficiency and familiarity with standard library data structures, concurrency constructs, and newer language features.
- Experience crafting ergonomic APIs and reasoning through tradeoffs.
- Experience with low-level Java such as concurrency, parallelism, classloaders, etc.
- Proven track record of using AI to accelerate development, debug complex systems, and optimize code while owning final outcomes.
- Ability to collaborate across functions and teams, seamlessly transitioning between different projects and codebases based on business priorities.
- Ability to work autonomously, drive decisions, and deliver results in a distributed team using asynchronous, direct, and transparent communication.
Bonus Points
- Knowledge of JDK internals: modules, Java memory model, garbage collection, caching techniques, etc.
- Experience with ML systems.
- Contributions to and ownership of open source projects.
- Knowledge of Java build tools (Gradle, Maven), with a strong preference for Gradle.
- Experience working in a platform team or developer productivity team.
Timezone overlap
UTC+0–+3
Culture
Async-friendly
Benefits
Open to
Europe
Sign in to track applications and earn points.