Elastic, the Search AI Company, enables everyone to find the answers they need in real time, using all their data, at scale.
The Elastic Search AI Platform is used by more than 50% of the Fortune 500.
Complete, cloud-based solutions for search, security, and observability.
Responsibilities
Contribute to core performance engineering initiatives from development to production, focusing on impactful optimizations.
Execute technical designs and plans for architectural and code-level performance improvements.
Implement foundational performance models and methodologies for complex, distributed systems.
Support optimization strategies to ensure Elasticsearch remains performant, predictable, and scalable.
Profile and analyze system behavior to identify bottlenecks in logging, metrics, vector search, and ES|QL.
Ensure robust performance benchmarks and regression detection for both stateful and stateless (Serverless) architectures.
Collaborate with peers to apply performance-focused development practices into new features.
Contribute to automation efforts by building AI-assisted optimization harnesses.
Provide technical guidance and peer reviews to other engineers.
Requirements
Deep knowledge of Java internals and JVM memory management.
Understanding of concurrency models; ability to write high-performance, thread-safe, and lock-free code.
Experience working with large open-source and enterprise codebases.
Proven experience in profiling and optimizing distributed systems.
Deep experience with benchmarking tools (e.g., JMH, Rally), identifying performance regressions, and implementing algorithmic or hardware-aware optimizations.
Solid comprehension of distributed systems architecture, including partition tolerance, cluster state propagation, and scaling challenges.
Proven track record of using AI or advanced tooling to accelerate optimization, debug complex performance issues, and automate benchmarking workflows.
Ability to collaborate effectively within a team environment.
Ability to collaborate across functions and teams and transition between different projects, codebases, or teams.
Ability to work autonomously, drive decisions, and deliver results in a distributed team.