Description
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.
Elasticsearch powers search, observability, and AI retrieval for the world's largest organisations. We are seeking a Senior Software Developer to join the Elasticsearch Performance team. In this role, you will contribute to performance engineering initiatives through high-quality code and technical analysis. Your goal is to help improve the optimisation and predictability of Elasticsearch performance, collaborating with area-specific teams to enhance our software.
Responsibilities
- Contributing to core performance engineering initiatives from development to production, focusing on the delivery of impactful optimisations. Executing technical designs and plans for architectural and code-level performance improvements.
- Implementing foundational performance models and methodologies for complex, distributed systems.
- Supporting optimisation strategies to ensure Elasticsearch remains performant, predictable, and scalable in diverse environments.
- Profiling and analysing system behaviour 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 with peers across the team to apply performance-focused development practices into new features.
- Contributing to automation efforts by building AI-assisted optimisation harnesses that streamline profiling, hypothesis testing, and benchmarking.
- Providing technical guidance and peer reviews to other engineers, fostering a culture of technical excellence.
Requirements
- You have deep knowledge of Java internals and JVM memory management. You understand how concurrency models work. You can write code that is high-performance, thread-safe, and lock-free. This experience includes working with large open-source and enterprise codebases.
- You have proven experience in profiling and optimising distributed systems. This includes deep experience with benchmarking tools (e.g., JMH, Rally), identifying performance regressions, and implementing algorithmic or hardware-aware optimisations.
- You have a solid comprehension of distributed systems architecture, including partition tolerance, cluster state propagation, and scaling challenges in large-scale data stores.
- You have a proven track record of using AI or advanced tooling to accelerate optimisation, debug complex performance issues, and automate benchmarking workflows.
- You possess the ability to collaborate effectively within a team environment, contributing to the success of performance engineering goals.
- You possess the ability to collaborate across functions and teams and seamlessly transition between different projects, codebases, or teams based on business priorities.
- You can work autonomously, drive decisions, and result in a distributed team by leveraging asynchronous, direct, and transparent communication.
Nice to Have
- 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 optimisations.
- Experience defining and managing Performance SLAs and success criteria for distributed systems.
- Experience working on the internals of a large-scale data store or search engine.
- Experience working on the internals of a data store or search engine.
Compensation
The typical starting salary range for this role is: $128,300-$203,000 CAD.
Benefits
- Competitive pay based on the work you do here and not your previous salary.
- Health coverage for you and your family in many locations.
- Ability to craft your calendar with flexible locations and schedules for many roles.
- Generous number of vacation days each year.
- Increase your impact - We match up to $2000 (or local currency equivalent) for financial donations and service.
- Up to 40 hours each year to use toward volunteer projects you love.
- Embracing parenthood with minimum of 16 weeks of parental leave.