Description
We are on the lookout for a Senior Software Engineer to join our Elasticsearch - Distributed Systems team and focus on how Elasticsearch provides scale, performance, and resilience. This team owns how nodes in an Elasticsearch cluster communicate, and how data are indexed, allocated, and replicated across nodes.
Improving Elasticsearch’s components that support concurrent and consistent indexing across multiple machines.
Maintaining our cluster coordination system to keep performance high even though nodes come and go from the cluster and data moves around, while maintaining the safety and liveness properties of the system as a whole.
Pushing the limits on the number of shards, nodes, and petabytes that Elasticsearch can handle today.
Looking into all kinds of issues, including performance or concurrency issues, and proposing solutions.
Supporting our support engineers with the harder problems.
You will be working on complex, highly distributed systems and will be responsible for building and debugging features with a broad impact, running on multiple machines.
Bonus points for experience with data stores, search, analytics, Lucene, strong knowledge of the JDK, and asynchronous event-driven network frameworks such as Netty.