We are seeking a Principal Software Engineer I to join our Elasticsearch Performance Engineering area. This role focuses on building tooling and automated processes for provisioning and executing Elasticsearch performance benchmarking jobs at scale in the cloud, and identifying performance regressions. You will maintain Rally, our open source Python-based benchmarking tool, and define methodologies for performance benchmarking to support development teams and solution architects. You'll participate in cross-functional initiatives, develop reporting on benchmarking results, and assist in capacity planning and performance issue resolution.
Elastic, the Search AI Company, enables everyone to find the answers they need in real time, using all their data, at scale — unleashing the potential of businesses and people. The Elastic Search AI Platform, used by more than 50% of the Fortune 500, brings together the precision of search and the intelligence of AI to enable everyone to accelerate the results that matter. By taking advantage of all structured and unstructured data — securing and protecting private information more effectively — Elastic’s complete, cloud-based solutions for search, security, and observability help organizations deliver on the promise of AI. What is The Role We are seeking a Principal Software Engineer I to join our Elasticsearch Performance Engineering area. This role will focus on enhancing our processes and automated tooling for benchmarking Elasticsearch ingest and search workloads at scale in the cloud, and identifying performance regressions. What you will be doing Design and building of tooling and automated processes for provisioning and execution of Elasticsearch performance benchmarking jobs at scale. Maintain our open source Python based benchmarking tool, Rally and act as a source of best practice within the team regarding our Python-based tooling. Defining methodologies and guidelines for performance benchmarking servicing development teams and solution architects. Participate or lead in cross-functional team efforts and engagements. Developing reporting for and interpreting benchmarking results. Investigate and assist in resolving performance escalations and capacity planning issues. Address and devise solutions for benchmarking disparate use cases and workloads. What you bring Software development experience with Python and Linux shell required (Expert Level). Familiarity with Linux system-level performance measurement and associated tooling (for example: how to measure and compare CPU, memory, and disk I/O performance between cloud provider instance types). Prior experience in the troubleshooting and root cause analysis of performance issues in complex distributed architectures. Cloud orchestration with Kubernetes. Prior experience with CI/CD pipelines and automating process workflows. Experience in cloud architectures, service models, and operating across multiple cloud service providers, assessing tradeoffs from both performance and deployment perspectives. Ability to multitask, effectively manage your time, and collaborate with team members globally across time zones. Familiarity with measuring performance and sizing in Linux VM and container environments. Bonus points Prior experience with large, distributed search engines and in developing and tuning queries. Familiarity with the Elasticsearch Query API and building Kibana dashboards is a strong plus. Compensation for this role is in the form of base salary. This role does not have a variable compensation component. The typical starting salary range for new hires in this role is listed below. In select locations (including Seattle WA, Los Angeles CA, the San Francisco Bay Area CA, and the New York City Metro Area), an alternate range may apply as specified below. These ranges represent the lowest to highest salary we reasonably and in good faith believe we would pay for this role at the time of this posting. We may ultimately pay more or less than the posted range, and the ranges may be modified in the future. An employee's position within the salary range will be based on several factors including, but not limited to, relevant education, qualifications, certifications, experience, skills, geographic location, performance, and business or organizational needs. Elastic believes that employees should have the opportunity to share in the value that we create together for our shareholders. Therefore, in addition to cash compensation, this role is currently eligible to participate in Elastic's stock program. Our total rewards package also includes a company-matched 401k with dollar-for-dollar matching up to 6% of eligible earnings, along with a range of other benefits offered with a holistic emphasis on employee well-being. The typical starting salary range for this role is: $185,600 — $232,900 USD The typical starting salary range for this role in the select locations listed above is: $185,600 — $232,900 USD 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