Description
We are seeking a Principal Software Engineer II to join our Elasticsearch Performance Engineering area. This role will set the technical direction for our automated benchmarking tools. You'll define methodologies, architecture and design for testing Elasticsearch ingest and search workloads at cloud scale, including identifying performance regressions.
Key responsibilities include:
- Design and building of tooling and automated processes for provisioning and execution of Elasticsearch performance benchmarking jobs at scale.
- Defining methodologies and guidelines for performance benchmarking servicing development teams and solution architects.
- Play a lead role in cross-functional team efforts and engagements.
- Mentoring and advising team members on proposed technical solutions.
- Developing reporting for and interpreting of benchmarking results.
- Investigate and assist in resolving performance escalations and capacity planning issues.
- Address and devise solutions for benchmarking disparate use cases and workloads.
Requirements include:
- Software development experience with Python and Linux shell required (Expert Level).
- Familiarity with Linux system-level performance measurement and associated tooling.
- Prior experience in the troubleshooting and root cause analysis of performance issues in complex distributed architectures.
- 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.
- Experience with performance tuning of Java applications and JVMs.
Bonus points for prior experience with large, distributed search engines and in developing and tuning queries, familiarity with the Elasticsearch Query API and building Kibana dashboards, cloud orchestration with Kubernetes, and experience applying the use of Artificial Intelligence (AI) for devising and expanding benchmarking practices and enhancing benchmarking tooling.