# Principal Software Engineer - Performance Tuning - Elasticsearch

**Company**: Elastic
**Location**: Ireland
**Experience**: senior
**Job type**: full-time
**Salary**: €104,800-€165,700 EUR
**Category**: Engineering
**Industry**: Technology

**Apply**: https://job-boards.greenhouse.io/elastic/jobs/8138687?utm_source=yubhub.co&utm_medium=jobs_feed&utm_campaign=apply
**Canonical**: https://yubhub.co/jobs/job_f1b7c013-b87

## 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 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 optimisation and predictability of Elasticsearch performance, partnering with area-specific teams to unlock the full potential of our software.

### Responsibilities

- Owning core performance engineering initiatives from architecture to production, focusing on the delivery of high-impact optimisations. 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 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 across the company to embed performance-first thinking into new features from the outset.

- Drive automation efforts by designing and building AI-assisted optimisation harnesses that streamline profiling, hypothesis testing, and benchmarking.

- Mentoring and coaching other engineers, fostering a culture of technical excellence and performance-aware development.

### 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., flamegraphs, 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 across functions and teams, acting as a force multiplier for performance engineering across the organisation.

- 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: €104,800-€165,700 EUR.

### 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.

## Skills

### Required
- Java
- JVM memory management
- concurrency models
- distributed systems
- performance engineering
- benchmarking tools
- AI-assisted optimisation

### Nice to have
- C++
- Rust
- SIMD-accelerated code
- modern storage engine performance
- index modes
- vector search optimisations
- Performance SLAs

---

Source: [Apply at job-boards.greenhouse.io](https://job-boards.greenhouse.io/elastic/jobs/8138687?utm_source=yubhub.co&utm_medium=jobs_feed&utm_campaign=apply)
