Lead Software Search Engineer

Posted:
10/10/2024, 4:20:41 PM

Location(s):
Dublin, Ohio, United States ⋅ Ohio, United States

Experience Level(s):
Senior

Field(s):
Software Engineering

Workplace Type:
Hybrid

You have a life. We like that about you.

At OCLC, we believe you'll do the best work of your life when you're living the best life possible.

We work hard to build the technology that connects thousands of today's libraries. But we also work hard to make a job at OCLC a meaningful part of a balanced life- not a substitute for one.

Technology with a Purpose. OCLC supports thousands of libraries in making information more accessible and more useful to people around the world.  OCLC provides shared technology services, original research and community programs that help libraries meet the ever-evolving needs of their users, institutions, and communities. With office locations around the globe, OCLC employees are dedicated to offering premier services and software to help libraries.

The Job Details are as follows:

The Lead Software Search Engineer role at OCLC requires a good understanding of search technologies, system design, and agile methodologies. The primary role is to design and develop large-scale, highly performant software leveraging a wide variety of programming languages and next-generation technologies. This includes search technologies like Lucene, GraphQL, NLP, and LLMs. You will also be responsible for recommending the search technology that can meet the application's requirements. OCLC's search engine must meet stringent performance, access, and scalability requirements in order to make our vast dataset available to our member community.

Responsibilities

  • Uses industry standard programming techniques to translate requirements and designs into code.
  • Work with cross functional teams to gain knowledge of different product requirements to design, implement and/or delegate this work to other developers on team.
  • Perform high level analysis and design software for new and existing systems.
  • Design, code and test multiple modules of a system in a timely manner.
  • Participates in unit, system, performance and acceptance testing by designing tests, building test data, test execution and evaluation, along with recommending/making improvements/fixes to the tested system.
  • Proficient in the use of the latest innovations in search technologies
  • Leads in developing and interpreting requirements.

Qualifications

  • Bachelor's Degree in a Computer Science-related discipline required.
  • Skills typically represented by 7+ years of software development experience.
  • Comprehensive knowledge of search concepts including keyword search, phrase search, query parsing, indexing, information retrieval (IR), relevance & ranking etc.
  • Familiarity with search performance optimization and scalability techniques for search infrastructure.
  • Demonstrated proficiency in Java, Gradle, Spring, REST, and Python
  • Skilled in search engines using Lucene, such as Solr or Elasticsearch
  • Working knowledge of the Hadoop ecosystem and related NoSQL technologies
  • Good understanding of technologies for processing data at scale including Spark, Kafka, Kinesis & Flink
  • Working knowledge of Linux/Unix and Shell scripting
  • Experience in object-oriented programming.
  • Understanding of Database design principles.
  • Creative and innovative thinker.
  • Ability to work and communicate effectively in a team environment.
  • Excellent verbal and written communication skills  

Working Conditions: Normal office environment.

ADA/EAA: The above statements cover what are generally believed to be principal and essential functions of this job. Specific circumstances may allow or require some people assigned to the job to perform a somewhat different combination of duties.