Logo
Princeton University

Library Software Engineer I

Princeton University, Princeton, New Jersey, us, 08543


OverviewReporting to the Lead Library Software Engineer, this position leads critical development on the creation and maintenance of software, workflows, multi-system integrations, and data extraction processes in service of TigerData, a data storage and management ecosystem that supports the advancement of research in the Princeton University community. Working on a team of developers in the Princeton University Library (PUL), you will be instrumental in crafting a holistic vision to serve the needs of researchers, developing software and tools for data curation, metadata entry and management, and automation workflows from multi-tiered storage on campus and externally, ensuring data integrity and safe transfer between storage stages, including movement of data to publication and long-term archiving.

Responsibilities

Build, test, debug, and document software designed to support research data management, including discovery, metadata extraction from common file types and other campus systems, and data movement workflows

Develop interfaces for the TigerData presentation layer using API

Integrate with data sources such as ORCID, Globus, cloud storage, and existing data repositories.

Analyze, transform, migrate, and process data and metadata

Build tools and workflows to validate research data submissions

Automate and streamline manual or inefficient tasks

Help plan and estimate work on software projects

Working on a team of developers working in an agile environment

Maintain a strong partnership with the PUL software development group to enhance collaboration in the implementation of TigerData

Work independently, including organizing and coordinating projects, as well as work and communicate well on a team on common projects

QualificationsEssential Qualifications

3+ years' experience or an equivalent combination of education and work experience

Demonstrated experience with an object oriented language, preferably Ruby or Java

Experience building complex web forms that drive workflows and meet contemporary usability guidelines using modern HTML, CSS, and Javascript frameworks

Demonstrated experience with test-driven development, preferably using RSpec or JUnit

Ability to work in a Linux-based environment

Willingness to learn new technologies and data/metadata formats

Experience with Agile software development practices

Strong oral and written communication skills

Preferred Qualifications

Experience working on a team with other software developers

Familiarity with best practices for data modeling and data management

Familiarity with test-driven development

Education

A bachelor’s degree or equivalent experience

Reports to

Lead Library Software Engineer

**Fully Remote Position**

Princeton University is an Equal Opportunity/Affirmative Action Employer and all qualified applicants will receive consideration for employment without regard to age, race, color, religion, sex, sexual orientation, gender identity or expression, national origin, disability status, protected veteran status, or any other characteristic protected by law. KNOW YOUR RIGHTS

Standard Weekly Hours

36.25Eligible for Overtime

NoBenefits Eligible

YesProbationary Period

180 daysEssential Services Personnel (see policy for detail)

NoPhysical Capacity Exam Required

NoValid Driver’s License Required

NoExperience Level

Associate#LI-JJ1