Job Description
Elastic is seeking a Senior Software Engineer to join their Elasticsearch - Distributed Systems team. This role focuses on enhancing the scale, performance, and resilience of Elasticsearch. The engineer will work on how nodes in an Elasticsearch cluster communicate and how data is indexed, allocated, and replicated across nodes.Role involves:
- Improving Elasticsearch’s components that support concurrent and consistent indexing across multiple machines.
- Maintaining the cluster coordination system to keep performance high.
- Pushing the limits on the number of shards, nodes, and petabytes that Elasticsearch can handle.
- Investigating performance or concurrency issues and proposing solutions.
- Supporting support engineers with complex problems.
Requirements:
- A strong background in Distributed Systems and Consensus Algorithms.
- Strong skills in core Java and familiarity with standard library data structures and concurrency constructs.
- Deep technical proficiency in algorithms.
- Ability to understand and work on complex, highly distributed systems.
- Ability to own projects from beginning to end.
- Ability to build and debug features with a broad impact, running on multiple machines.
Role offers:
- Competitive pay.
- Health coverage for employee and family in many locations.
- Flexible locations and schedules for many roles.
- Generous vacation days.
- Matching for financial donations and service.
- Parental leave.