Principal Java Developer, Distributed Systems, Serverless, Elasticsearch

Elastic

Confirmed live yesterday Low trust

Quick summary

Work type
On-site
Location
Salary
$128,300–$203,000 / yr
Posted
91 days ago
Freshness
Confirmed live yesterday

Market check

Salary context

Below market

How this pay compares to similar roles

Similar $184k
This role $166k
$118k most similar roles pay here $224k

This role pays less than 67% of similar roles. Most pay $157,200–$211,200 — the shaded band above. At the midpoint, this role pays about $166k versus about $184k for comparable roles.

Based on 240 similar postings.

Employer

About Elastic

Elastic is the company behind Elasticsearch and the Elastic Stack (Elasticsearch, Kibana, Beats, and Logstash). It sells search, observability, and security products built on that search engine, primarily through its Elastic Cloud managed service.

Elastic currently has 240 open roles on FindRole.

Listed pay typically runs $133,100–$210,600 across 91 roles with salary data.

Most-posted roles

View all roles at Elastic

At a glance

TL;DR · Principal Java Developer, Distributed Systems, Serverless, Elasticsearch

Principal Java Developer - Distributed Systems, Serverless - Elasticsearch joins the Elasticsearch - Distributed Systems team to focus on scale, performance, and resilience within the serverless offering. This role involves tackling deep distributed systems challenges regarding how nodes in an Elasticsearch cluster communicate and how data is indexed, allocated, and managed across nodes. You will design and operate core components for next-generation serverless features, improve concurrent indexing across multiple machines, and maintain the cluster coordination system to ensure safety and liveness as nodes fluctuate. The role requires expertise in Java, consensus algorithms, and complex data structures while utilizing AI to debug systems and optimize code. Key technical requirements include proficiency in algorithms, large-scale distributed systems, and potentially experience with Lucene, Netty, and the JDK to solve problems involving petabytes of data across massive shard counts.

What you'll do

  • Design and build core components for the next-generation Serverless Elasticsearch offering.
  • Improve components that support concurrent and consistent indexing across multiple machines.
  • Maintain the cluster coordination system to ensure performance during node changes and data movement.
  • Scale the system to handle a massive number of shards, nodes, and petabytes of data.
  • Identify and resolve complex performance, concurrency, and stability issues within distributed systems.
  • Lead end-to-end operational investigations until technical issues are fully resolved.
  • Support support engineers in resolving high-complexity technical problems.

What we're looking for

  • You must have a deep background in distributed systems and consensus algorithms.
  • You must possess strong skills in core Java, including the standard library of data structures and concurrency constructs.
  • You must have deep technical proficiency in algorithms.
  • You must have experience building large-scale distributed systems rather than using off-the-shelf services.
  • You must have experience building and debugging complex features running on multiple machines.
  • You must be able to own projects from beginning to end, including technical design and cross-team collaboration.
  • You must have experience managing projects involving multiple engineers.
  • You must have a proven track record of using AI to accelerate development and optimize code.
  • Experience with data stores, search, analytics, Lucene (preferred).
  • Strong knowledge of the JDK (preferred).
  • Experience with asynchronous event-driven network frameworks such as Netty (preferred).

More like this

Similar roles