Tech Stack
AirflowApacheAWSAzureCloudElasticSearchGoGoogle Cloud PlatformGrafanaJavaScriptLaravelPHPPrometheus
About the role
- Build and maintain robust data pipelines using DAGs, Apache Airflow and Snowflake to efficiently index and process large datasets.
- Create Elasticsearch DSL queries enabling multi-dimensional scoring and faceting.
- Implement and refactor modular business logic to compose Elasticsearch DSL queries and postprocess results efficiently.
- Optimize search performance and relevance via query tuning, caching, and schema design.
- Design, develop, and maintain RESTful APIs to expose domain specific search functionality to various clients.
- Implement monitoring and logging solutions to track system health and performance.
- Conduct regular performance benchmarks to identify and address bottlenecks.
- Collaborate with product managers and other engineers to understand requirements and deliver solutions that meet business objectives.
Requirements
- Minimum of 3 years of experience working in high-traffic environments where search functionality is a core feature of the product.
- Strong proficiency in PHP/Laravel, Go or C#, JavaScript.
- Deep understanding of search technologies like Elasticsearch, Solr, Amazon OpenSearch Service, Bleve Search, or other related search technologies.
- Knowledge of data structures, algorithms, and software design patterns.
- Familiarity with cloud platforms (e.g., AWS, GCP, Azure).
- Experience with observability tools (e.g., NewRelic, Kibana, Prometheus, Grafana).
- Understanding of search algorithms and techniques, including TF-IDF, BM25, and ELSER.
- Experience with query pipelines, function score queries, and caching strategies.
- Ability to use search aggregations in a multitude of ways to meet business requirements efficiently.
- Ability to optimize search performance and relevance.
- Strong REST API design and development skills.
- Experience in optimizing system throughput and resource consumption.
- Ability to analyze complex problems and propose effective solutions.
- Strong problem-solving and debugging skills.
- Excellent written and verbal communication skills.
- Ability to collaborate effectively with cross-functional teams.