Principal Software Engineer Search Systems
Role details
Job location
Tech stack
Job description
We are looking for a Principal Software Engineer with extensive search experience that can design and implement complex search and retrieval systems, mentor team members, and help evolve our central search engineering architecture by collaborating closely with product, platform, and other engineering teams to deliver technical solutions, and high-throughput services with meaningful real-world impact.
Responsibilities
-
Leading architectural design and ensure technical consistency.
-
Helping lead our shared search platform - expanding content search, improving relevance via vector and lexical search techniques.
-
Building world-class search systems to enhance users' search experience.
-
Automating processes to assist other teams.
-
Collaborating on new ideas to optimize systems and engineering workflows.
-
Building relationships with other engineering teams to identify and solve their pain points.
-
Working across the stack, from development to infrastructure.
-
Designing and developing scalable data processing workflows and microservices using Spark, Spark Streaming, and Airflow.
-
Writing clean, modular, and testable code in Python, Java, or Scala, aligned with coding standards and architecture guidelines.
-
Lead implementation of system components that span multiple services and modules.
-
Diagnose and resolve complex technical issues across distributed systems and data workflows.
-
Leading design discussions, code reviews, and architecture sessions to ensure software quality and maintainability.
-
Developing and maintain data models to support analytical and operational use cases.
Collaborate with cross-functional stakeholders to translate product requirements into reliable engineering solutions.
Requirements
Do you have experience in Tooling?, Do you possess current expertise with Lucene, Elasticsearch, Solr, or similar search engines and are looking to drive search-based technology solutions for us?, * Current expertise with Lucene, Elasticsearch, Solr, or any other search engine, and have industry experience with Semantic Search.
-
Proven track record building search systems at scale.
-
Proficiency in batch processing technologies, including Spark, Spark Streaming, Airflow.
-
Expertise in at least one of Java, Python, Scala.
-
Deep understanding of distributed system design, data modeling, and performance tuning.
-
Experience with test-driven development and CI/CD practices.
-
Ability to independently drive technical outcomes from problem definition to deployment.
-
Familiarity with Agile, Kanban, or other iterative development methodologies.
-
Familiarity with vector/embedding-based search, KNN algorithms.
-
Exposure to graph-based data models or knowledge graph architecture.
-
Experience building internal platforms or developer-facing data tooling.
-
Knowledge of observability best practices for data systems (e.g., metrics, logs, alerts).
Benefits & conditions
3.83.8 out of 5 stars Pennsylvania $115,400 - $217,587 a year - Full-time