As a Senior Software Engineer - Search, you will be a technical leader responsible for designing, developing, and maintaining advanced search solutions using ElasticSearch. You will lead efforts in optimizing search algorithms for relevance, performance, and scalability, ensuring that customers have a seamless product discovery experience. The ideal candidate has a passion for search technology, a proven track record in implementing scalable solutions, and a deep understanding of the e-commerce search landscape.
Key Responsibilities:
- Lead Search Initiatives: Drive the design, development, and optimization of our search infrastructure using ElasticSearch, ensuring high relevancy and performance.
- Search Engine Optimization: Work on improving search relevance, ranking algorithms, and query performance, handling large-scale datasets efficiently.
- ElasticSearch Expertise: Apply advanced ElasticSearch configurations, including sharding, indexing strategies, and custom scoring models to enhance search capabilities.
- Data Modeling and Query Tuning: Design and implement effective data models and tune search queries for performance, ensuring low latency and high availability in a distributed environment.
- Scalability and High Availability: Architect and implement scalable, fault-tolerant search systems that can handle millions of queries daily with minimal downtime.
- Collaboration with Teams: Collaborate with cross-functional teams, including data science, product management, and infrastructure teams, to develop personalized search experiences and integrate recommendations into search results.
- Mentorship: Mentor junior engineers and share your deep knowledge of ElasticSearch and search technologies with the broader engineering team.
Required Skills & Experience:
- 7+ years of experience in software development, with 5+ years of hands-on experience working with ElasticSearch in production environments.
- Expert-level knowledge of ElasticSearch, including indexing, sharding, cluster management, and query optimization.
- Proven experience in designing and implementing large-scale search solutions with a focus on relevance and performance.
- Strong understanding of search algorithms, ranking models, and techniques such as faceted search, full-text search, and fuzzy matching.
- Experience with data modeling for search engines, including optimizing index structures for high-performance retrieval.
- Solid experience with distributed systems and designing scalable search architectures to handle high query volumes.
- Hands-on experience with NoSQL databases and vector-based search is a plus.
- Strong programming skills in Java, Python, or similar languages.
- Familiarity with cloud infrastructure (AWS, GCP, or Azure) and containerization technologies like Docker and Kubernetes.
- Excellent problem-solving skills and the ability to drive projects independently.
Preferred Qualifications:
- Experience in machine learning-based search optimizations and working with recommendation systems.
- Familiarity with natural language processing (NLP) and search relevance tuning based on user behavior.
- Contributions to open-source projects related to ElasticSearch or search technologies.
- Experience working in a fast-paced e-commerce environment or with high-traffic web applications.