Software Engineer
Summary
The Software Engineer will build and maintain a high-throughput link-harvesting platform using Java and Spring. The role involves an AI-first development approach to improve link-evaluation quality and efficiency within a hybrid, collaborative team environment.
Together we make breakthroughs possible.
At OCLC, we build technology with a purpose: to connect libraries and make knowledge accessible worldwide, because we believe that what is known must be shared. Our teams work with complex global datasets, AI and machine learning, hybrid cloud solutions, and other technologies that connect people and organizations to the information they need. We value the power of unique perspectives and experiences to unlock innovation. At OCLC, your ideas matter, whether you have two years of experience or 20. You’ll learn, create, and problem-solve with technologists, product developers, librarians, researchers, marketing pros, and support teams around the world.
Why join OCLC?
OCLC is consistently recognized as a best place to work by several independent programs. We recognize and reward people and results with a comprehensive Total Rewards package. This means competitive compensation that reflects your unique contributions—performance, experience, and skills—along with exceptional benefits, including best-in-class health coverage, retirement plans with generous company contributions, and a commitment to your overall well-being.
We know the best ideas don’t always happen at a desk. Take a walking meeting around our 100-acre campus or enjoy lunch on the patio. We’re committed to your success—both personally and professionally. Hybrid work environment: For many roles, three days a week on-site, with occasional additional days based on business needs.
Free use of our on-site fitness center, gym sports, group exercise classes, and game room
Onsite catering and cafeteria subsidized by OCLC
Health and wellness events
Work environments with individual and team spaces and the latest technology tools
Paid parental leave and adoption assistance
Tuition reimbursement and Public Service Loan Forgiveness eligibility
Company-subsidized pricing on local tickets and memberships
Join us in transforming how people everywhere access information and be part of a mission-driven team that makes a global impact.
The job details are as follows:
Access Checker is a green-field service within OCLC focused on harvesting and evaluating the accuracy of eResource links at large scale - helping libraries identify access issues earlier and improving the reliability of knowledge discovery for end users.We are looking for a Software Engineer who enjoys solving practical engineering problems, building reliable services, and learning within a collaborative team. You will contribute to the development of a high-throughput link-harvesting and evaluation platform, working across the wider OCLC ecosystem to deliver software that is scalable, maintainable, and operationally robust.
You’ll join a small, geographically dispersed team that is encouraged to work independently, share ideas, and collaborate closely to deliver high-quality software through a fully CI/CD approach. The team is also adopting an AI-first approach to design and development—both through AI-assisted engineering workflows and through the thoughtful use of ML/LLMs to improve link-evaluation quality and efficiency.
Responsibilities:
- Design, implement, test, and support software components for the Access Checker system.
- Develop new features and enhancements for a high-throughput link-harvesting and evaluation pipeline.
- Write clean, maintainable, well-tested Java/Spring code and contribute to a reliable production service.
- Investigate, debug, and resolve technical issues, including performance, reliability, and integration concerns.
- Work with team members to design solutions that integrate cleanly with other OCLC systems while minimising performance and resource impact.
- Participate in technical design discussions, code reviews, and team problem-solving.
- Contribute to code quality standards, including testability, readability, observability, and operational readiness.
- Use AI-assisted development tools and contribute to the team's use of ML/LLMs where appropriate to improve evaluation accuracy, efficiency, and maintainability.
- Collaborate with product managers, designers, and engineers to refine and deliver features.
Required Qualifications:
- Bachelor's degree in computer science or a related discipline, or equivalent work experience.
- 2–4 years of relevant software development experience delivering production-quality software.
- Strong programming skills in Java/Spring with solid understanding of software engineering fundamentals, including object-oriented design, testing, debugging, and performance considerations.
- Experience developing and integrating RESTful services or APIs.
- Experience working with relational databases and data-driven applications.
- Ability to work independently on assigned tasks while collaborating effectively with a distributed team.
- Strong problem-solving and analytical skills.
- Experience using AI tools, frameworks, or concepts as part of the software development process.
Preferred Qualifications:
- Experience with React and Python for user interfaces, tooling, or automated testing.
- Experience with automated testing frameworks and practices.
- Experience with database systems and data-intensive workflows.
- Familiarity with CI/CD practices and modern software delivery pipelines.
- Experience working with cloud-based services or distributed systems.
- Exposure to ML/LLM-enabled applications or an interest in applying them in production systems.
- Experience working in large codebases or platform ecosystems with multiple dependencies.
Working Conditions: Normal office environment.
ADA/EAA: The above statements cover what are generally believed to be the 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.