Grainger
Lead Software Engineer
Grainger, Chicago, Illinois, United States, 60290
Work Location Type:Hybrid As a leading industrial distributor with operations primarily in North America, Japan and the United Kingdom, We Keep The World Working by serving more than 4.5 million customers worldwide with products delivered through innovative technology and deep customer relationships. With 2023 sales of $16.5 billion, we're dedicated to providing value for customers, fostering an engaging culture for team members and driving strong financial results. Our welcoming workplace enables you to learn, grow and make a difference by keeping businesses running and their people safe. As a 2024 Glassdoor Best Place to Work and a Great Place to Work-Certified company, we're looking for passionate people to join our team as we continue leading the industry over our next 100 years. Position Details: The Search team is seeking a highly skilled Software Engineer to help build and enhance a cutting-edge search infrastructure that can scale efficiently to handle increasing data volumes and complex user queries. The ideal candidate will have extensive experience working with search engines such as Elasticsearch, Apache Solr, or Lucene in large-scale environments. This role will focus on leveraging advanced search techniques, including vector search, natural language processing (NLP), and personalization, to improve relevancy and user experience. Additionally, this engineer will collaborate closely with data engineering and data science teams to design robust data pipelines, integrate machine learning models, and continuously optimize search relevancy and performance. Strong expertise in distributed systems, API development, and performance tuning will be critical to success in this role. You will work on: Data Analysis: Analyzing search patterns, user interactions, and relevancy metrics to refine search algorithms and improve the overall user experience. Developing Search Algorithms: Implementing advanced search algorithms that can process large datasets quickly and accurately, leveraging search engine features such as vector search, natural language processing, personalization, and other state-of-the-art technologies. Relevancy Model Development: Collaborating with machine learning and data science teams to optimize relevancy models that improve user search experiences, incorporating feedback loops and behavioral data. Developing APIs: Writing APIs or services to integrate relevancy feature embeddings into the search engine, and developing efficient, real-time search query logic to capitalize on these embeddings. A/B Testing and Experimentation: Implementing frameworks for A/B testing to experiment with different search and relevancy approaches, measuring and analyzing the outcomes to drive continuous improvements. Infrastructure Optimization: Enhancing the search infrastructure to ensure scalability and robustness as the system grows in complexity and usage. Performance Tuning: Continuously testing and optimizing the performance of the search engine to improve query response times, accuracy, and relevancy based on defined metrics. Integration: Integrating the search infrastructure with other services and data platforms to enable seamless data retrieval, indexing, and search performance monitoring. Data Pipeline Management: Developing and maintaining scalable data pipelines to ensure efficient data flow, low-latency indexing, and real-time search capabilities. Search Result Tuning Based on Business Metrics: Collaborating with product and business teams to fine-tune search results to align with business goals like conversion, engagement, and retention. Technical Collaboration & Leadership: Providing technical leadership in search technologies, guiding cross-functional projects with data science, engineering, and infrastructure teams. You Have: Strong background in computer science, with specific skills in data structures, algorithms, and distributed systems development. 8+ years of experience with search engines such as Elasticsearch, Solr, or similar technologies, and proficiency in leveraging advanced techniques like vector search, NLP, and personalization to build sophisticated, multifaceted relevancy scoring systems. Experience leading teams in building search applications from the scratch, migrating applications to open source search engines. Proficiency in writing high quality production code, demonstrating strong software engineering expertise. Experience with A/B testing and experimentation to validate search algorithm changes and drive continuous improvements based on real-world results. In-depth knowledge of relevancy metrics, including precision, recall, and DCG, and the ability to apply these metrics to improve search performance. Strong expertise in programming languages such as Java, Python, or Scala, used for search and data engineering solutions. Experience designing large-scale distributed systems, particularly custom search functionalities, and working with cloud technologies like AWS (e.g., EC2, S3, Lambdas). Familiarity with event-streaming technologies like Kafka for managing large-scale data flow and real-time indexing. Experience with search analytics and monitoring tools like Kibana, Grafana, and Datadog, used for tracking and improving search performance. Experience working in an Agile environment, contributing to continuous integration and delivery pipelines, and familiarity with microservices architecture. Experience working with data engineers and data science teams to build feedback loops for machine learning models that enhance search relevancy. We are committed to equal employment opportunity regardless of race, color, ancestry, religion, sex, national origin, sexual orientation, age, citizenship, marital status, disability, gender, gender identity or expression, or veteran status. We are proud to be an equal opportunity workplace. We are committed to fostering an inclusive, accessible environment that includes both providing reasonable accommodations to individuals with disabilities during the application and hiring process as well as throughout the course of one's employment. With this in mind, should you need a reasonable accommodation during the application and selection process, please advise us so that we can provide appropriate assistance.