Descripción de la oferta
Overview
As Principal Software Engineer on the Elasticsearch Performance team, you drive core performance improvements from architecture to production to ensure fast, scalable search and AI retrieval. You will lead design and execution of major optimizations, develop performance models for complex distributed systems, and embed performance as a first-class consideration in new features. You’ll benchmark, profile, and optimize across logging, metrics, vector search, and ES|QL, while mentoring engineers and advancing AI-assisted optimization. This role offers impact at scale, shaping how Elasticsearch performs in diverse environments.
Compensaciones / BeneficiosCompetitive payHealth coverage for you and familyFlexible locations and schedulesGenerous vacation daysDonation matching up to 2000Volunteer hours (up to 40 per year)
ResponsabilidadesOwn core performance initiatives end-to-end, from architecture to production deploymentLead technical design and execution for major architectural and code-level performance improvementsDevelop foundational performance models and methodologies for distributed systemsDrive optimization strategies for performance, predictability, and scalability of ElasticsearchProfile and analyze system behavior to identify bottlenecks in logging, metrics, vector search, and ES|QLEnsure robust performance benchmarks and regression detection for stateful and serverless architecturesCollaborate across the company to embed performance-first thinking in new featuresDesign and build AI-assisted optimization harnesses to streamline profiling, hypothesis testing, and benchmarkingMentor and coach engineers to foster technical excellence and performance-aware development
Requisitos principalesDeep knowledge of Java internals and JVM memory managementStrong understanding of concurrency models; ability to write high-performance, thread-safe, lock-free codeExperience with large open-source and enterprise codebasesProven profiling and optimization experience for distributed systemsFamiliarity with benchmarking tools (flamegraphs, JMH, Rally) and identifying performance regressionsSolid grasp of distributed systems architecture (partition tolerance, cluster state propagation, scaling challenges)Proven track record using AI or advanced tooling to accelerate optimization and automate benchmarkingAbility to collaborate across functions and teams and work autonomously in distributed settingsCross-functional collaborationMentoring and coachingAutonomous decision-making and clear communicationJava, JVM internals, memory managementConcurrency models, thread-safety, lock-free designProfiling and benchmarking (flamegraphs, JMH, Rally)