Software Development Engineer, Database (OpenSearch)
Bengaluru, Karnataka, India
The people here at Apple don't just craft products - they build the kind of wonder that's revolutionised entire industries! It's the diversity of those people and their ideas that encourages the innovation that runs through everything we do, from amazing technology to industry-leading environmental efforts. Join Apple, and help us leave the world better than we found it! The OpenSearch team at Apple is responsible for developing and managing a highly available, cloud-based search service. We seek innovative, detail-oriented engineers who can contribute to a wide range of OpenSearch components, including query parsing, indexing, cluster management, security, scalability, and new feature development. Your contributions will drive the service's performance, availability, and resilience, supporting a variety of applications and services at Apple.
The Data Services OpenSearch team at Apple invites passionate engineers to join our team to develop and contribute to OpenSearch, the leading Open-Source Search and Analytics suite. Our engineers develop and maintain OpenSearch solutions that powers critical observability, log analytics, and real-time monitoring for Apple's critical services across Business units. You will be joining a team of experts working on modern search technologies, distributed systems, and data analytics engineering, helping push the limits of Open-Source OpenSearch to deliver enterprise-class performance, scalability, reliability and security. This role offers the opportunity to impact the experiences of millions of users by developing scalable search, monitoring and analytics solutions for Apple's critical services.
Responsibilities
- Understanding of distributed computing concepts, including sharding, data replication, and fault tolerance.
- Familiarity with operating system concepts such as process management and network I/O.
- Comprehensive knowledge of indexing, searching and analytics concepts (e.g., text analysis, relevancy tuning, and multi-modal search).
- Advanced software engineering skills with Java ecosystem expertise, object-oriented design principles, and experience in building maintainable, scalable applications.
- Hands-on experience with production deployment workflows, including CI/CD pipelines, container orchestration, version control systems, and distributed systems observability.
- Experience with advanced topics like autoscaling, request tracing, and performance tuning in high-throughput systems.
- Strong understanding of testing methodologies and experience with debugging and profiling tools.
Minimum Qualifications
- 8+ years of relevant experience in the IT industry, specifically in search engines, distributed systems, and data analytics.
- High proficiency in languages such as Java, Kotlin, and Go.
- Strong understanding of data structures, algorithms, and indexing techniques specific to search engines.
- In-depth knowledge of search engine internals, ideally with OpenSearch or similar platforms such as Elasticsearch / Solr.
- Experience in contributing to or maintaining Open-Source software projects.
Preferred Qualifications
- Strong knowledge of Linux/Unix Internals, Systems/Application Design & Architecture.
- Experience with public clouds (GCP & AWS) highly desirable.
- Expertise in identifying performance bottlenecks and implementing optimisation strategies.
- Strong analytical and problem-solving capabilities, with a keen attention to detail.
- Excellent written and verbal communication skills with proven collaboration abilities.