Elasticsearch - Senior Java Developer - Distributed Systems

Job expired!

Exciting Opportunity: Senior Software Engineer - Distributed Systems at Elastic

Elastic is a leader in free and open search technology, driving enterprise search, observability, and security solutions on a unified technology stack deployable anywhere. From document search to infrastructure monitoring and threat detection, Elastic ensures data usability in real-time and at scale. Trusted by thousands of organizations globally, including Barclays, Cisco, eBay, Goldman Sachs, Microsoft, NASA, and many more, Elastic empowers mission-critical systems. Founded in 2012, Elastic is a globally distributed company. Learn more at .

About the Role: Senior Software Engineer

We are seeking a Senior Software Engineer to join our Elasticsearch - Distributed Systems team. In this key role, you will focus on enhancing Elasticsearch's scalability, performance, and resilience. Your work will ensure optimal communication between nodes, efficient data indexing, allocation, and replication across our clusters.

Key Responsibilities:

  • Enhance Elasticsearch components for concurrent and consistent indexing across multiple machines.
  • Sustain high performance in our cluster coordination system, ensuring system safety and liveness despite node and data changes.
  • Push the boundaries of what Elasticsearch can handle in terms of shards, nodes, and petabytes.
  • Investigate and resolve performance and concurrency issues.
  • Support our engineers with complex problem-solving.

Desired Skills and Experience:

  • Strong background in Distributed Systems and Consensus Algorithms.
  • Proficiency in core Java, with a solid grasp of data structures, concurrency constructs, and modern features like lambdas.
  • Deep technical expertise in algorithms.
  • Proven ability to manage complex, highly distributed systems.
  • Project ownership from inception to completion, including technical design and collaborative development.
  • Capability to build and debug multi-machine features.

Bonus Points For:

  • Experience with data stores, search, analytics, and Lucene.
  • Strong knowledge of the JDK.
  • Familiarity with asynchronous event-driven network frameworks like Netty.

Compensation and Benefits

Our compensation for this role includes a base salary with no variable compensation component. The starting salary ranges from $128,300 to $203,000 CAD, based on factors such as education, experience, skills, and geographic location.

In addition to cash compensation, this role is eligible for Elastic's stock program and a comprehensive benefits package, including a company-matched Registered Retirement Savings Plan (RRSP) up to 6% of eligible earnings. We emphasize holistic employee well-being through various benefits.

Why Join Elastic?

At Elastic, diversity drives our identity. Whether you're launching a new career or growing an existing one, we support a healthy work-life balance. Our inclusive culture celebrates all stages of life and careers.

Our Benefits Include:

  • Competitive pay based on your role.
  • Health coverage for you and your family.
  • Flexible locations and schedules for many roles.
  • Generous vacation days.
  • Double charitable giving contributions up to $1500.
  • 40 hours annually for volunteer projects.
  • Minimum 16 weeks parental leave.

Join Us: Be Part of Our Innovation

Different perspectives drive innovative solutions. Elastic is an equal opportunity employer committed to diversity, equity, and inclusion. We welcome applications from individuals of all backgrounds and protected classes.

Our inclusive hiring process accommodates disabilities. To request accommodations, email and receive a response within 24 business hours.

Learn more about your rights under Federal Employment Laws:

For detailed