Senior Java Engineer - Distributed Systems, Serverless - Elasticsearch

Elastic $133.1K - $210.6K/year Posted 3 days ago

100% remote US only · US (remote)

About the role

Elastic is on the lookout for a Senior Software Engineer to join the Elasticsearch Distributed Systems team, focused on how Elasticsearch provides scale, performance, and resilience, especially in the context of the Serverless offering. You will tackle deep distributed systems challenges in how nodes in an Elasticsearch cluster communicate, and how data are indexed, allocated, and managed across nodes.

Responsibilities

  • Leverage distributed systems expertise to build and operate core pieces of the next-generation Serverless Elasticsearch offering, directly impacting customers worldwide.
  • Improve the components that support concurrent and consistent indexing across multiple machines.
  • Maintain the cluster coordination system, keeping performance high as nodes come and go and data moves around, while preserving the safety and liveness properties of the system as a whole.
  • Push the limits on the number of shards, nodes, and petabytes Elasticsearch can handle today.
  • Investigate all kinds of issues, including performance and concurrency problems, and propose solutions.
  • Support the support engineers with the harder problems, and own operational investigations end-to-end until performance or stability issues are resolved.

Qualifications

  • A deep background in distributed systems and consensus algorithms.
  • Strong skills in core Java: the standard library of data structures, concurrency constructs, and newer language features.
  • Deep technical proficiency in algorithms.
  • Demonstrated ability to understand and work on complex, highly distributed systems, rather than assembling off-the-shelf services.
  • Ability to build and debug features with broad impact, running on multiple machines.
  • Able to own projects from beginning to end, covering both technical design and working with others on needed components.
  • A proven track record of using AI to accelerate development, debug complex systems, and optimize code, while still owning the final outcomes.
  • Comfortable working autonomously in a distributed team, driving decisions through asynchronous, direct, and transparent communication.
  • Bonus: data stores, search and analytics with Lucene, strong JDK knowledge, and asynchronous event-driven network frameworks such as Netty.

Skills

How to apply

Apply directly on the employer's application page. Your application goes straight to them.

Republished listing

This opportunity was discovered on Elastic's public careers page and is republished here for discovery purposes. Applications are handled by the employer.

Elastic team? Claim this listing or ask us to remove it.