Senior Java Developer - Core/infra - Elasticsearch

Elastic Elastic · Enterprise · United Kingdom · Platform - Elasticsearch

Senior Software Developer to join the Elasticsearch team, focusing on ensuring the core infrastructure and shared platform functionalities of Elasticsearch are easy to use, performant, maintainable, and secure. The role involves contributing to large projects, designing and implementing scalable features, solving complex issues, and improving observability. The developer will also integrate agentic apps into development workflows and own operational investigations.

What you'd actually do

  1. Contributing to large, impactful projects that evolve the core infrastructure that underpins Elasticsearch.
  2. Making Elasticsearch developers more productive by identifying and developing opportunities for automation, and integrating agentic apps into development workflows.
  3. Designing and implementing new horizontally-scalable features and APIs in Elasticsearch.
  4. Solving difficult issues, including performance or concurrency issues, and proposing solutions.
  5. Improving operation and observability of Elasticsearch cloud systems.

Skills

Required

  • Experience crafting APIs and the ability to reason through tradeoffs.
  • Proficient in algorithms and data structures.
  • Strong skills in core Java and conversant in the standard library of data structures and concurrency constructs, as well as newer language features.
  • Experience with low-level Java such as concurrency, parallelism, classloaders, etc.
  • Hands-on experience with CI/CD systems and practices (Buildkite, Argo CD, GitOps etc).
  • Experience leading large scale projects across engineering teams.
  • Willingness to dive into new issues and ask for help when you need it.
  • Able to own projects from beginning to end. This covers both technical design and working with others to develop needed components.
  • Proven track record of using AI to accelerate development, debug complex systems, and optimize code, while still owning the final outcomes.
  • Ability to collaborate across functions and teams and seamlessly transition between different projects, codebases, or teams based on business priorities.
  • Can work autonomously, drive decisions and results in a distributed team by leveraging asynchronous, direct, and transparent communication.

Nice to have

  • Knowledge of JDK internals: modules, the Java memory model, garbage collection, database load, caching techniques, etc.
  • Experience with observability and telemetry solutions, particularly OpenTelemetry
  • Knowledge of Go
  • Knowledge of containers and Kubernetes
  • Knowledge of Java build tools (Gradle, Maven, etc), with a strong preference for Gradle experience.
  • Experience working in a platform team or developer productivity team

What the JD emphasized

  • core infrastructure
  • agentic apps
  • observability
  • own projects from beginning to end
  • AI to accelerate development