Principal Software Engineer

OCLC
Dublin, OH · HybridFull-timePosted Aug 27, 2026

About the role

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.

The Job Details are as follows:

Required Skills: Java, Object-Oriented Design, Design Patterns, Spring Framework, Spring Boot, Spring MVC, Spring Data, Hibernate, RESTful APIs, Web Services, PostgreSQL, Data Modeling, Query Optimization, Linux/Unix, Git SCM (Bitbucket, GitHub), Distributed Systems, Microservices, React, JavaScript/TypeScript, CI/CD Pipelines, Automated Testing Frameworks (JUnit, Mockito), Build Tools (Gradle, Maven), API Integration Patterns, Security Best Practices (OWASP), Jira, Confluence, AI Tools (Cursor, Claude Code), Agentic AI development (Rules, Skills, Subagents), Software Development Lifecycle Practices and Agile Methodologies (Kanban/Scrum).

Desired Skills:MongoDB, Snowflake, Cloud Platforms, Containerization and Orchestration Technologies, Observability and Monitoring Tools, Scripting Languages such as Python.

As a Principal Software Engineer, you will be a technical leader responsible for setting the technical direction of the organization. You will mentor senior engineers, drive innovation, and solve complex technical challenges. You will also collaborate with leadership to define the long-term technical strategy and ensure the delivery of high-quality software solutions.

Responsibilities:

Serve as a technical leader for Resource Sharing engineering initiatives, supporting the delivery of reliable, scalable, and customer-focused software solutions.

Work closely with the Senior Architect to translate architectural direction into practical implementation plans and scalable designs.

Evaluate technical trade-offs, risks, dependencies, and operational considerations for complex initiatives.

Lead and contribute to development efforts involving distributed systems, microservices, APIs, integrations, and data platforms that support resource-sharing workflows.

Mentor and coach engineers, supporting their technical growth and development.

Promote engineering quality, delivery standards, maintainability, security, and operational excellence across teams.

Foster collaborative technical discussions and effective decision-making among engineering, product, and operational stakeholders.

Partner with product management, engineering leadership, and domain experts to refine technical plans, inform product roadmaps, and align delivery priorities with customer and organizational needs.

Research, assess, and recommend emerging technologies, tools, and development practices that improve engineering effectiveness, software quality, and product capabilities.

Identify appropriate opportunities to incorporate AI-enabled tools, frameworks, and practices into the software development lifecycle.

Qualifications:

Bachelor’s degree in computer science or a related discipline, or equivalent relevant work experience.

12+ years of professional software development experience, including significant experience delivering complex enterprise software systems.

Expert-level Java programming skills and extensive experience with object-oriented design, design patterns, Spring-based applications, Hibernate, RESTful APIs, and web services.

Experience developing front-end applications using React and TypeScript.

Strong experience with PostgreSQL, including data modelling, query optimization, performance tuning, and integration of data-driven applications.

Experience designing, building, and operating distributed systems and microservices in Linux/Unix environments.

Proficiency with Git-based source-control practices and collaborative development platforms such as Bitbucket and GitHub.

Experience with CI/CD pipelines, automated testing frameworks such as JUnit and Mockito, build tools such as Gradle and Maven, and secure software development practices.

Demonstrated ability to assess complex technical problems, communicate trade-offs clearly, and collaborate with a Senior Architect and cross-functional stakeholders to deliver practical, scalable solutions.

Experience mentoring engineers, leading technical initiatives, and influencing engineering practices across teams.

Experience integrating or evaluating AI tools, frameworks, and concepts within the software development lifecycle.

Working Conditions: Hybrid. ​

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.

Responsibilities

  • Serve as a technical leader for Resource Sharing engineering initiatives
  • Work closely with the Senior Architect to translate architectural direction into practical implementation plans
  • Evaluate technical trade-offs, risks, dependencies, and operational considerations for complex initiatives
  • Lead and contribute to development efforts involving distributed systems, microservices, APIs, integrations, and data platforms
  • Mentor and coach engineers, supporting their technical growth and development
  • Promote engineering quality, delivery standards, maintainability, security, and operational excellence
  • Foster collaborative technical discussions and effective decision-making among stakeholders
  • Partner with product management and engineering leadership to refine technical plans

Qualifications

  • Bachelor’s degree in computer science or a related discipline, or equivalent relevant work experience
  • 12+ years of professional software development experience
  • Expert-level Java programming skills and extensive experience with object-oriented design
  • Experience developing front-end applications using React and TypeScript
  • Strong experience with PostgreSQL, including data modelling and query optimization
  • Experience designing, building, and operating distributed systems and microservices
  • Proficiency with Git-based source-control practices
  • Experience with CI/CD pipelines and automated testing frameworks

Skills mentioned

JavaSpring BootREST APIsPostgreSQLDistributed SystemsMicroservicesReactTypeScriptCI/CDGit

About OCLC

OCLC is a global library organization that provides shared technology services, original research, and community programs for its membership and the library community at large. We are librarians, technologists, researchers, pioneers, leaders, and learners. With thousands of library members in more than 100 countries, we come together as OCLC to make information more accessible and more useful. Whether we’re supporting advancements on the leading edge of science or helping children build a strong learning foundation, shared knowledge is the common thread. People can find the answers they need to solve important problems in their lives, in their communities, and in the world. Together we make breakthroughs possible. Both big and small. Because what is known must be shared.

Technology1,001-5,000 employeesDublin, OH