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.
We're looking to hire team members invested in realizing the goal of making real-time data exploration easy and available to anyone. As a distributed company, we believe that diversity drives our vibe! 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.
- Competitive pay based on the work you do here and not your previous salary
- Double your charitable giving - we match up to $1500 (or local currency equivalent)
- Global minimum of 16 weeks of parental leave (moms & dads)
- Generous vacation time and one week of volunteer time off
- 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