LexisNexis Risk Solutions is a leading organization in advanced information and decision support for science and healthcare. They are seeking a Principal Software Engineer with extensive search experience to design and implement complex search and retrieval systems, mentor team members, and collaborate with various teams to deliver effective technical solutions.
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:
- 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)