Elasticsearch - Principal Performance Engineer - Sizing and Capacity Planning


Elastic is a 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

We are looking for a Principal Performance Engineer to join the Elasticsearch Performance team to focus on helping us understand how Elasticsearch performs and scales under workloads representative of our three main solutions: search, observe, protect. The primary outputs of this role will be sizing and performance guidance that our users can use to design deployments across a variety of use cases. To this end, you will have an opportunity to design and execute benchmarks, architect a scientific approach to capacity planning, investigate complex performance issues, and socialize performance-engineering best practices throughout the company and our community.

Here are the kinds of questions you'd be helping us produce guidance for:

  • If a user needs to index 200 gigabytes of Apache logs per day and has a 10-day retention policy, what should that Elasticsearch cluster look like? What if retention is two years?
  • For a user of Elastic's Security solution with 10,000 endpoints deployed, how large will their cluster need to be in order to perform an investigation spanning the previous five years of activity in their organization?
  • How does query performance change as data ages from a hot tier with fast SSDs to a cold tier with slow spinning disks?

In order to answer these questions, you will need to craft, execute, and interpret realistic benchmarks based on actual usage of our products. To get there, you will partner with other engineering teams to understand how our various products and solutions exercise Elasticsearch, and with product management to turn benchmark results into actionable guidance.

Some skills, experience, and traits that would help you succeed include:

  • An understanding of contemporary software benchmarking methodology. Can you explain what makes a benchmark useful? Can you describe some common pitfalls that people encounter when they try to benchmark a system? Can you explain what statistical methods would be appropriate in a given scenario? Are you familiar with the concept of active benchmarking?
  • Python experience. You will be contributing to our benchmarking infrastructure and tooling (such as Rally) which is virtually all written in Python.
  • Strong Linux skills. You should be comfortable on the command line, have experience with observability tools such as iostat, netstat, vmstat, know your way around procfs, etc.
  • An understanding of Java and the JVM, or a strong desire to learn. While you will not be writing Java day to day, Elasticsearch is a Java application, and developing a sophisticated understanding of the JVM is critical.
  • An ability to go as deep down the stack as necessary to understand a system’s performance. Strong knowledge of operating system internals is a major plus.
  • A deep commitment to the craft of performance engineering and a desire to teach others about it. We strive to constantly learn as a team, and share our craft with our colleagues across engineering.
  • An ability to summarize findings and effectively present takeaways and guidance to audiences of varying technical backgrounds.

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

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 Felix Wittern, who can be contacted at dpo@elastic.co. We plan to retain your data until such time as roles you may be suitable for are filled, as such we cannot estimate the specific time period that will be. We would consider this period to have ended once a candidate accepts our job offer. However, once that period of time is over, we may hold your data for an additional period of time that will not exceed 18 months. We do this to ensure you can be considered for potential future opportunities which you might be better suited for. To see additional information, please review our Elastic Privacy Statement.

Learn about Elastic's Culture

Notify Me of Open Positions

Sign in with your social account to receive emails when Elastic posts open positions you might be interested in: