Elastic is an open source search company that powers enterprise search, observability, and security solutions built on one technology stack that can be deployed anywhere. From finding documents to monitoring infrastructure to hunting for threats, Elastic makes data usable in real time and at scale. Thousands of organizations worldwide, including Barclays, Cisco, eBay, Fairfax, ING, Goldman Sachs, Microsoft, The Mayo Clinic, NASA, The New York Times, Wikipedia, and Verizon, use Elastic to power mission-critical systems. Founded in 2012, Elastic is a distributed company with Elasticians around the globe. Learn more at elastic.co
Do you want to work on distributed search and analytics software that impacts the lives of millions of people? We’re not interested in your previous job title. Instead, we are looking for bright people with a deep knowledge of Java who love to tackle new challenges.
Right now, we are on the lookout for a Principal Java Engineer to join our Elasticsearch - Distributed Systems team and focus on the networking layer of how we allocate our data and how it moves. This team deals with concurrency, global state, and replication features and components of Elasticsearch. You can be based (pretty much) anywhere in the world.
What you will be doing
- Elasticsearch’s internal systems that support concurrent and consistent indexing across multiple machines.
- Cluster coordination and how it responds to nodes leaving and joining the cluster.
- Shard allocation, recovery and migration.
- Backup solutions (a.k.a Snapshot and Restore).
- Cross cluster replication of data to support disaster recovery and geo-replication.
- Look into all kind of issues, including performance or concurrency issues, and propose solutions.
- Supporting our support engineers with the harder problems.
What you will bring along
- 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 have proven your ability to understand and work on complex, highly distributed systems.
- You are able to take on projects and guide them from beginning to end. This covers both technical design and working with other engineers to develop needed components.
- You demonstrate the ability to build and debug features that involve multiple subsystems and run on multiple machines.
Bonus points for knowledge of:
- Data stores
- Search, analytics, Lucene
- Strong knowledge of the JDK
- Asynchronous event-driven network frameworks such as Netty
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 locations
- Ability to craft your calendar with flexible locations and schedules for many roles
- Generous number of vacation days each year
- Double your charitable giving - We match up to $1500 (or local currency equivalent)
- Up to 40 hours each year to use toward volunteer projects you love
- Embracing parenthood with minimum of 16 weeks of parental leave
Different people approach problems differently. We need that. Elastic is committed to diversity as well as inclusion. We are an equal opportunity employer and committed to the principles of affirmative action. Qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender perception or identity, national origin, age, marital status, protected veteran status, or disability status or any other basis protected by federal, state or local law, ordinance or regulation. If you require any reasonable accessibility support, please email firstname.lastname@example.org.
Please see here for our Privacy Statement.