About the Role
About Elastic
Elastic, the Search AI Company, enables everyone to find the answers they need in real time, using all their data, at scale — unleashing the potential of businesses and people. The Elastic Search AI Platform, used by more than 50% of the Fortune 500, brings together the precision of search and the intelligence of AI to enable everyone to accelerate the results that matter.
By taking advantage of all structured and unstructured data — securing and protecting private information more effectively — Elastic’s complete, cloud-based solutions for search, security, and observability help organizations deliver on the promise of AI.
What is The Role
Elasticsearch powers search, observability, and AI retrieval (RAG) for the world's largest organizations. We are seeking a Principal Software Engineer to join the Elasticsearch Performance team. In this role, you will lead architectural and code-level performance engineering initiatives. Your goal is to drive the continuous optimization and predictability of Elasticsearch performance, partnering with area-specific teams to unlock the full potential of our software.
What You Will Be Doing
- Owning core performance engineering initiatives from architecture to production, focusing on the delivery of high-impact optimizations.
- Leading the technical design, plan, and execution for major architectural and code-level performance improvements.
- Developing foundational performance models and methodologies for complex, distributed systems.
- Driving optimization strategies to ensure Elasticsearch remains performant, predictable, and scalable in diverse environments.
- Profiling and analyzing system behavior to identify bottlenecks in logging, metrics, vector search, and ES|QL.
- Ensuring robust performance benchmarks and regression detection for both stateful and stateless (Serverless) architectures.
- Collaborating across the company to embed performance-first thinking into new features from the outset.
- Drive automation efforts by designing and building AI-assisted optimization harnesses that streamline profiling, hypothesis testing, and benchmarking.
- Mentoring and coaching other engineers, fostering a culture of technical excellence and performance-aware development.
What You Bring
- You have deep knowledge of Java internals and JVM memory management.
- You understand how concurrency models work and can write high-performance, thread-safe, and lock-free code.
- You have proven experience in profiling and optimizing distributed systems.
- You possess the ability to collaborate across functions and teams, acting as a force multiplier for performance engineering.
- You can work autonomously, drive decisions, and result in a distributed team.
Bonus Points
- Experience integrating high-performance native libraries (e.g., C++, Rust, SIMD-accelerated code) into Java applications.
- Deep knowledge of modern storage engine performance, index modes, or vector search optimizations.
- Experience defining and managing Performance SLAs and success criteria for distributed systems.
Requirements
Java internals knowledge
Deep knowledge of Java internals and JVM memory management is essential.
Distributed systems optimization
Proven experience in profiling and optimizing distributed systems is required.
Performance benchmarking tools
Experience with benchmarking tools like flamegraphs, JMH, and Rally is necessary.
Collaboration skills
Ability to collaborate across functions and teams is crucial.
Nice to Have
Experience integrating high-performance native libraries into Java applications is a plus.
Deep knowledge of modern storage engine performance and optimizations is beneficial.
Benefits
Remote work
Flexible remote work options are available.
Learning budget
A budget for continuous learning and professional development is provided.