Java Engineer II - Distributed Systems

Elastic in Anywhere, New York, USA Remote

Industry

Computer Software / Computer Games

Opportunity Type

Full-Time

Elastic, the Search AI Company, enables everyone to find the answers they need in real time, using all their data, at scale — unleashing the potential of businesses and people. The Elastic Search AI Platform, used by more than 50% of the Fortune 500, brings together the precision of search and the intelligence of AI to enable everyone to accelerate the results that matter. By taking advantage of all structured and unstructured data — securing and protecting private information more effectively — Elastic’s complete, cloud-based solutions for search, security, and observability help organizations deliver on the promise of AI.

What is The Role

We are on the lookout for a 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.

What You Will Be Doing

• 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.

What You Bring

• A background in Distributed Systems.

• You have strong skills in core Java and are conversant in the standard library of data structures and concurrency constructs, as well as newer features like lambdas.

• You have a deep technical proficiency in algorithms.

• You demonstrate the ability to understand and contribute to the development of Distributed Systems.

• Excellent practical judgment. You know how to prioritize, when to collaborate and ask for help, and when to be independent.

• You demonstrate the ability to build and debug features with a broad impact, running on multiple machines.

• Measured and articulate written and spoken communication skills.

Bonus Points

• Data stores

• Search, analytics, Lucene

• Strong knowledge of the JDK

• Asynchronous event-driven network frameworks such as Netty

Apply to this job and join Ivy Exec

Ivy Exec members get:

Access to 60,000+ senior-level job openings

Opportunities to join market research studies

A dedicated Career Advisor

Exclusive career growth courses and content

By clicking “Proceed to Application” you agree to our Terms of Use Privacy Policy, and Cookie Policy.
By clicking “Proceed to Application” you agree to our Terms of Use Privacy Policy, and Cookie Policy.
1,500+

new jobs have been added by these top companies

top companies logos
See all new jobs