10 days ago

Principal Software Engineer - Distributed Systems - Elasticsearch

Elastic

Hybrid
Full Time
$230,000
Hybrid

Job Overview

Job TitlePrincipal Software Engineer - Distributed Systems - Elasticsearch
Job TypeFull Time
CategoryCommerce
Experience5 Years
DegreeMaster
Offered Salary$230,000
LocationHybrid

Who's the hiring manager?

Sign up to PitchMeAI to discover the hiring manager's details for this job. We will also write them an intro email for you.

Uncover Hiring Manager

Job Description

What is The Role: Principal Software Engineer - Distributed Systems - Elasticsearch

We are on the lookout for a Principal Software Engineer - Distributed Systems - Elasticsearch 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 strong 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 shown your ability to understand and work on complex, highly distributed systems.
  • You demonstrate the ability to build and debug 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.

Bonus Points:

  • Data stores
  • Search, analytics, Lucene
  • Strong knowledge of the JDK
  • Asynchronous event-driven network frameworks such as Netty

Key skills/competency

  • Distributed Systems
  • Java
  • Elasticsearch
  • Scalability
  • Performance Optimization
  • Concurrency
  • Consensus Algorithms
  • System Design
  • Debugging
  • Project Management

Tags:

Principal Software Engineer
Distributed Systems
Scalability
Performance
Resilience
Concurrency
Indexing
Replication
Debugging
System Design
Project Ownership
Java
Elasticsearch
Lucene
Consensus Algorithms
Netty
Data Structures
Concurrency Constructs
JVM
APIs
Cloud

Share Job:

How to Get Hired at Elastic

  • Research Elastic's culture: Study their mission, values, recent news, and employee testimonials on LinkedIn and Glassdoor.
  • Tailor your resume: Highlight distributed systems, Java proficiency, and Elasticsearch experience specifically.
  • Showcase problem-solving skills: Prepare examples of debugging complex, highly distributed systems and project ownership.
  • Understand Elastic's products: Demonstrate knowledge of Elasticsearch, Lucene, and the Search AI Platform's impact.
  • Network effectively: Connect with current Elastic engineers on LinkedIn to gain valuable insights and referrals.

Frequently Asked Questions

Find answers to common questions about this job opportunity

Explore similar opportunities that match your background