Job Description
Elastic is seeking a Software Engineer II to join its Elasticsearch - Distributed Systems team. This role focuses on enhancing the scale, performance, and resilience of Elasticsearch. The team manages node communication within the Elasticsearch cluster and oversees data indexing, allocation, and replication across nodes.
What This Role Involves:
- Improving Elasticsearch’s components that support concurrent and consistent indexing across multiple machines.
- Maintaining our cluster coordination system to keep performance high.
- 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.
Requirements:
- A background in Distributed Systems.
- Strong skills in core Java.
- Deep technical proficiency in algorithms.
- Ability to understand and contribute to the development of Distributed Systems.
- Excellent practical judgment.
- Ability to build and debug features with a broad impact, running on multiple machines.
- Measured and articulate written and spoken communication skills.
The Role Offers:
- 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