Elasticsearch - Senior Java Engineer - Distributed Systems

Apply     

Elastic is a search company with a simple goal: to solve the world's data problems with products that delight and inspire. As the creators of the Elastic Stack, we help thousands of organizations including Cisco, eBay, Goldman Sachs, Microsoft, The Mayo Clinic, NASA, The New York Times, Wikipedia, Verizon, and many more use Elastic to power mission-critical systems. From stock quotes to Twitter streams, Apache logs to WordPress blogs, our products are extending what's possible with data, delivering on the promise that good things come from connecting the dots. We have a distributed team of Elasticians across 30+ countries (and counting), and our diverse open source community spans over 100 countries. Learn more at elastic.co

Do you want to work on distributed search and analytics software which 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 and who love to take on new challenges.

Engineering Philosophy

Engineering a highly complex distributed system that is easy to operate via elegantly designed APIs is a non-trivial effort. It requires solid software development skills, and more importantly, a sharp mind and the ability to think like a user. We also care deeply about giving you full ownership of what you’re working on. Our company fundamentally believes great minds achieve greatness when they are set free and are surrounded and challenged by their peers, which is clearly visible in our organization. At Elastic, we effectively don’t have a hierarchy to speak of. We feel that you should be empowered to comment on really anything, regardless of your role within the company.

Right now, we are on the lookout for a talented Java Engineer to join our Elasticsearch team and focus on the distributed aspects 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 proven to your ability to understand and work on complex 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:

  • Distributed systems internals
  • Data stores
  • Search, analytics, Lucene
  • Strong knowledge of the JDK
  • Asynchronous event-driven network frameworks, Netty

Additional Information - We Take Care of Our People

At Elastic, we strive to have parity of benefits across regions. While regulations differ from place to place, we believe taking care of people is the right thing to do.

  • Health coverage for you and your family.
  • Flexible location and schedule for many roles.
  • Generous number of vacation days each year.
  • Double your charitable giving — we match up to 1% of your salary.
  • Up to 40 hours each year to use toward volunteer projects you love.

Elastic is an Equal Employment employer committed to the principles of equal employment opportunity and affirmative action for all applicants and employees. 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. Elastic also makes reasonable accommodations for disabled employees consistent with applicable law.

When you apply to a job on this site, the personal data contained in your application will be collected by Elasticsearch, Inc. (“Elastic”) which is located at 800 W. El Camino Real, Suite 350 Mountain View, CA 94040 USA, and can be contacted by emailing jobs@elastic.co. Your personal data will be processed for the purposes of managing Elastic’s recruitment related activities, which include setting up and conducting interviews and tests for applicants, evaluating and assessing the results thereto, and as is otherwise needed in the recruitment and hiring processes. Such processing is legally permissible under Art. 6(1)(f) of Regulation (EU) 2016/679 (General Data Protection Regulation) as necessary for the purposes of the legitimate interests pursued by Elastic, which are the solicitation, evaluation, and selection of applicants for employment. Your personal data will be shared with Greenhouse Software, Inc., a cloud services provider located in the United States of America and engaged by Elastic to help manage its recruitment and hiring process on Elastic’s behalf. Accordingly, if you are located outside of the United States, your personal data will be transferred to the United States once you submit it through this site. Because the European Union Commission has determined that United States data privacy laws do not ensure an adequate level of protection for personal data collected from EU data subjects, the transfer will be subject to appropriate additional safeguards under the standard contractual clauses. You can obtain a copy of the standard contractual clauses by contacting us at privacy@elastic.co. Elastic’s data protection officer is Daniela Duda, who can be contacted at daniela.duda@elastic.co. We plan to keep your data until our open role is filled. We cannot estimate the exact time period, but we will consider this period ended when a candidate accepts our job offer for the position for which we are considering you. When that period is over, we may keep your data for an additional period no longer than 3 years in case additional opportunities present themselves in which yours skills might be better suited. For additional details, please see our Elastic Privacy Statement https://www.elastic.co/legal/privacy-statement.

Apply     

Notify Me of Open Positions

Sign up to receive emails when Elastic posts open positions you might be interested in:

{{alert.msg}}