Remote job
Verified remotePrincipal Java Engineer - Distributed Systems, Serverless - Elasticsearch
Elastic
via Greenhouse
Similar jobs by email. Free, unsubscribe anytime.
Free, unsubscribe anytime. Double opt-in.
At a glance
- Tech stack
- ElasticsearchJavaLuceneNetty
- Seniority:
- Senior
- Benefits
- Competitive pay based on the work you do here and not your previous salary
- Health coverage for you and your family in many
Principal Software Engineer on the Elasticsearch Distributed Systems team focusing on Serverless scale, performance, and resilience. You'll design, build and operate core distributed systems features related to indexing, shard allocation and cluster coordination. Ideal for senior engineers with deep Java and distributed-systems expertise.
- Work on Serverless Elasticsearch scale, shards, nodes and petabytes
- Design and maintain cluster coordination and indexing consistency
- Strong core Java, concurrency and algorithms required
- Own operational investigations end-to-end
Automatically generated
Job description
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 Principal Software Engineer to join our Elasticsearch - Distributed Systems team and focus on how Elasticsearch provides scale, performance, and resilience, especially in the context of our Serverless offering. You will be tackling deep distributed systems challenges in how nodes in an Elasticsearch cluster communicate, and how data are indexed, allocated, and managed across nodes.
What You Will Be Doing:
- Leveraging your deep distributed systems expertise to design, build, and operate core pieces of our next-generation Serverless Elasticsearch offering, directly impacting the experience of customers worldwide.
- 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.
- Owning operational investigations end-to-end, until performance or stability issues are successfully resolved.
What You Bring:
- You have a deep background in distributed systems and consensus algorithms.
- You have strong skills in core Java and are conversant in the standard library of data structures and concurrency constructs, as well as newer language features.
- You have a deep technical proficiency in algorithms.
- You have experience building large-scale distributed systems, rather than making use of off-the-shelf services.
- You have experience building and debugging complex features with a broad impact, running on multiple machines.
- You are able to own projects from beginning to end. This covers both technical design and working with others to develop needed components.
- You have experience managing projects involving multiple engineers.
- You have a proven track record of using AI to accelerate development, debug complex systems, and optimize code, while still owning the final outcomes.
- You possess the ability to collaborate across functions and teams and seamlessly transition between different projects, codebases, or teams based on business priorities
- You can work autonomously, drive decisions and results in a distributed team by leveraging asynchronous, direct, and transparent communication.
Bonus Points:
- Data stores
- Search, analytics, Lucene
- Strong knowledge of the JDK
- Asynchronous event-driven network frameworks such as Netty
Compensation for this role is in the form of base salary. This role does not have a variable compensation component.
At Elastic, our compensation philosophy aims to provide fair, competitive and transparent remuneration. Salary ranges are established based on a combination of external market benchmarks, internal pay equity considerations, and the responsibilities and complexity associated with each role. This approach helps ensure consistency across comparable roles while remaining competitive within the relevant labour markets.
The final compensation offered within the applicable range will be determined based on several objective factors, including relevant professional experience, level of skills and expertise, alignment with the role requirements, and the overall scope and complexity of the position.
The typical starting salary range for this role is:
€67.000 — €106.000 EUR
Additional Information - We Take Care of Our People
As a distributed company, diversity drives our identity. Whether you’re looking to launch a new career or grow an existing one, Elastic is the type of company where you can balance great work with great life. Your age is only a number. It doesn’t matter if you’re just out of college or your children are; we need you for what you can do.
We strive to have parity of benefits across regions and while regulations differ from place to place, we believe taking care of our people is the right thing to do.
- Competitive pay based on the work you do here and not your previous salary
- Health coverage for you and your family in many …
This role is provided by an external source. Applications are handled on the source website.
