Senior Software Engineer in the Elasticsearch Performance team, focused on optimizing and predicting Elasticsearch performance at scale. You will drive core performance initiatives from design to production, collaborating with cross-functional teams to deliver impactful optimizations. You’ll build performance models, benchmark methodologies, and AI-assisted tooling to streamline profiling and benchmarking. This role offers a chance to shape performance and reliability across distributed systems in a leading AI-powered search platform.
Compensaciones / Ventajas
- health coverage for you and family
- flexible locations and schedules
- generous vacation days
- donation matching up to $2000
- volunteer hours
- parental leave (16+ weeks)
Responsabilidades
- Contribute to core performance engineering initiatives from development to production
- Design and implement architectural and code-level performance improvements
- Develop performance models and methodologies for distributed systems
- Support optimization strategies for performance, predictability, and scalability
- Profile and analyze system behavior to identify bottlenecks (logging, metrics,
vector search, ES|QL)
- Ensure robust benchmarks and regression detection for both stateful and serverless architectures
- Contribute to automation with AI-assisted optimization harnesses for profiling and benchmarking
- Provide technical guidance and peer reviews to engineers
Requisitos principales
- Deep knowledge of Java internals and JVM memory management
- Concurrency models understanding
- High-performance, thread-safe, lock-free coding experience
- Experience profiling and optimizing distributed systems
- Benchmarking tool experience (e.g., JMH, Rally) and identifying regressions
- Understanding of distributed systems architecture and scaling in large data stores
- Experience using AI or advanced tooling to accelerate optimization and automate benchmarking
- Ability to collaborate across teams and work autonomously in a distributed setup
- team collaboration
- autonomous working style
- clear communication
- Java internals
- JVM memory management
- concurrency and lock-free programming