As a Senior Software Engineer in the Elasticsearch storage team, you architect and optimize the core storage and query engine to boost performance at scale. You collaborate across a distributed, globally distributed team to advance observability workloads and data layouts for object storage. You mentor peers, drive architectural clarity, and apply best practices to deliver high-quality, scalable software. This role combines deep systems work with strategic initiatives to elevate Elasticsearch capabilities.
Compensaciones / Beneficios
- competitive pay
- health coverage for you and family
- versátil locations and schedules
- generous vacation days
- donation matching up to 2000
- volunteer hours (up to 40 per year)
Responsabilidades
- Lead architectural evolution of core storage engine components, addressing indexing layouts, serialization formats, and resource use for performance
- Drive cross-organizational initiatives to build industry-leading observability solutions
- Contribute to logs and metrics capabilities within a globally distributed team
- Improve operational practices and clean-code standards to simplify complex system behavior
- Serve as a subject matter expert (SME)
and mentor the wider engineering organization
- Collaborate across teams to triage, review issues and pull requests with domain experts
Requisitos principales
- Proven track record building high-performance, scalable database, search, or distributed systems
- Strong core Java skills with deep understanding of concurrency and data structures
- Experience with data storage technologies (e.g., Elasticsearch, Solr, PostgreSQL, MongoDB, Prometheus) and how they work
- Ability to operate autonomously in a distributed team and drive decisions
- Experience using AI to accelerate development and debugging, with a prudent engineering approach
- Familiarity with prompt-engineering and evaluating AI outputs in software engineering
- Experience indexing, storing, and querying time-series or logs data
- Excellent communication and collaboration across distributed teams
- collaboration across functions and teams
- autonomous decision-making in distributed teams
- clear and respectful communication
- Java (advanced), concurrency primitives
- storage engine design and optimization
- time-series/log indexing and querying