Principal Software Engineer
Core
Technical leader setting direction for Resource Sharing engineering initiatives, delivering scalable software solutions connecting libraries globally.
Role type
Principal Software Engineer (Technical Lead)
Builds
Distributed systems, microservices, APIs, and data platforms for resource-sharing workflows
Domain
Library technology, global information access
Deliverable
production ML models | product features
Required skills
Java, Object-Oriented Design, Design Patterns, Spring Framework, Hibernate, RESTful APIs, PostgreSQL, Data Modeling, Query Optimization, Linux/Unix, Git, Distributed Systems, Microservices, React, TypeScript, CI/CD, Automated Testing, Security Best Practices, AI Tools, Agentic AI development
Preferred skills
MongoDB, Snowflake, Cloud Platforms, Containerization, Observability, Python
Technologies
Spring Boot, Spring MVC, Spring Data, JUnit, Mockito, Gradle, Maven, Bitbucket, GitHub, OWASP, Cursor, Claude Code
Responsibilities
Set technical direction and mentor senior engineers; translate architectural direction into implementation plans; evaluate technical trade-offs and risks; lead development of distributed systems and microservices; promote engineering quality and operational excellence; foster collaborative decision-making; partner with product and domain experts to align delivery priorities; research and recommend emerging technologies; integrate AI-enabled tools into the SDLC
Seniority
Principal, strategy & mentorship