Software Engineer III

The New York Public Library

New York (NY)

On-site

USD 120,000 - 180,000

Full time

2 hours ago
Be an early applicant

A complete application in a minute

Tailored resume and cover letter, ready to send.

Get past ATS filters

Job summary

The New York Public Library is seeking a Software Engineer III to join the Digital Asset Preservation and Access (DAPA) team, contributing to modernizing and expanding access to the Library’s digital collections, including OCR enhancements and high-resolution image delivery.

You will collaborate across engineering teams, help drive testing and automation, and guide junior engineers while shaping NYPL’s DAM ecosystem in a collaborative, mission-driven environment.

Qualifications

  • Bachelor’s degree or 4+ years of software development experience.
  • Equivalent 4 years hands-on development experience on relevant tech stack.
  • 3-5 years in backend development.
  • 3+ years in back-end development in Python or Ruby.
  • Proficiency with Python web frameworks (Flask, Django, etc.).
  • Strong experience with SQL and relational databases (MySQL, PostgreSQL).
  • Proficiency with Git and CI/CD tools, especially GitHub Actions.
  • Strong knowledge of Agile methodologies (Scrum & Kanban).
  • Familiarity with AWS and RESTful service design.

Responsibilities

  • Understand project needs and implement specific technical solutions.
  • Take ownership of specific systems and ensure maintenance and support.
  • Collaborate with other engineers to design new software systems and improve existing ones.
  • Partner with Senior Engineers to help realize new projects.
  • Build software following industry best practices and NYPL values.

Skills

Python
Python frameworks
SQL databases
Git
GitHub Actions
AWS
Agile/Scrum
REST APIs
Elasticsearch

Education

Bachelor’s Degree

Tools

GitHub Actions
MySQL
PostgreSQL

Job description

The New York Public Library is seeking a Software Engineer III to join our Digital Asset Preservation and Access (DAPA) team, where they will have a major impact on NYPL’s ability to make more of its extensive collections available online. This includes assets available on NYPL’s Digital Collections site, as well other discovery platforms, staff management tools and the systems that support them.

This will involve major contributions to an ongoing initiative to modernize the systems that provide access to these collections, and from there continue to expand them in collaboration with our partners in NYPL’s Research libraries. This strategic work will underlie much of NYPL’s objectives in this area, and is an exciting opportunity for an engineer to identify improvements that will impact all of our patrons. Some early goals will include building new OCR processes for better search, improving the stability of vital data pipelines and designing new methods of delivering high resolution images to patrons.

To deliver these strategic priorities, we are seeking an engineer who can help us proactively improve our engineering practices generally, develop solutions to longstanding engineering problems (and deploy them), and be an advocate for change on the team. As NYPL’s engineering teams have grown recently we are also looking for a candidate who is interested in collaborating with a wide range of partners to both learn about practices across the library and teach others about our work on DAPA. In all this is an exciting opportunity for an engineer to join an already successful team and help bring it to the next level.

Some expectations for this role are that within:
1 month, this person will:
  • Complete software development tasks collaboratively in accordance with our engineering workflows
  • Begin to understand the product requirements for our DAM systems and how they connect to larger strategic objectives
  • Review code and provide feedback during code reviews
  • Develop and execute unit tests for own/team’s code to ensure accuracy, reliability and robustness
3 months, this person will:
  • Develop an understanding of our DAM infrastructure, systems and the challenges facing them
  • Contribute to new projects and open issues, ensuring that implementation is completed in a maintainable, observable and testable manner
  • Own your project’s technical decisions that will impact the team and organization, especially around streamlining asset and metadata flows
  • Take ownership of existing systems
6 months
  • Consistently contribute to code bases and understand repositories across NYPL Digital
  • Participate in design and architecture discussions and demonstrate an ability to abstract problems into general solutions
  • Develop and maintain scripts to automate testing processes
12 months and beyond, this person will:
  • Own significant components of NYPL’s DAM ecosystem, including their design, implementation and maintenance
  • Participate in department-wide initiatives, such as the adoption of new testing frameworks, etc
  • Work well without strong support structures, either between teams or without one
  • Provide guidance to more junior software engineers regarding applications they own as well as on best practices in general
  • Collaborate with Engineering leadership on overall direction of team/project
Responsibilities
  • Understand project needs and how to implement specific technical solution
  • Take ownership of specific systems and ensure their maintenance/support
  • Partner with other engineers to design new software systems and improve existing ones
  • Collaborate with Senior Engineers to help realize new projects
  • Build software following industry best practices and NYPL values (https://github.com/NYPL/engineering-general)
  • Contribute to test suites to ensure the creation of accurate, reliable, and robust code
  • Create technical documentation and specifications for all delivered code
  • Understand how to identify and remediate tech debt
  • Identify and resolve ambiguities/issues with requirements for team and org-wide projects
  • Assume additional responsibilities as required by the organization
Required Education and Certifications
  • Bachelor’s Degree - OR - 4+ years of experience developing software applications at scale
Required Experience
  • Equivalent 4 years hands-on development experience on relevant tech stack
  • 3-5 years in backend development
Required Skills
  • 3+ years in back-end application development in Python or Ruby
  • Proficiency with one or more Python web frameworks (Flask, Django, etc.)
  • Strong experience in SQL and relational databases such as mySQL, Postgres, etc.
  • Proficiency with version control systems and git
  • Experience with CI/CD tools, especially GitHub Actions
  • Strong working experience with other languages (PHP or Java preferred)
  • Familiarity with agile methodologies such as Scrum & Kanban
  • Familiarity with a major cloud computing platform, especially AWS
Preferred Skills
  • Experience in discovery layers such as ElasticSearch and/or Solr
  • Experience implementing and maintaining technical solutions with ML and/or AI
  • Experience building full-text search solutions
  • Experience building and working with containerized software
  • Familiarity with REST and stateless service design
  • Experience writing integration and load tests
  • Understanding of deployment infrastructure, either for machine images on EC2 or containers on ECS / EKS
  • Familiarity with common library metadata standards
Managerial/Supervisory Responsibilities:
  • None
NYPL Core Values:

All team members are expected and encouraged to embody the NYPL Core Values:

  • Be Helpful to patrons and colleagues
  • Be Resourceful in solving problems
  • Be Curious in all aspects of your work
  • Be Welcoming and Inclusive
  • Office Setting
Physical Duties
  • Limited physical effort is required
  • May require travel within NYC
Pre-placement Physical Required?
  • No
Schedule
  • Monday - Friday, 9am - 5pm

This job description represents the types and levels of responsibilities that will be required of the position and shall not be construed as a declaration of all of the specific duties and responsibilities for the role. Job duties may change if Library priorities change. Employees may be directed to perform job-related tasks other than those specifically presented in this description as needed.

Salary Statement

At the Library, we believe that pay transparency and pay equity are important to ensuring we source the best candidates and keep the best employees. When making a determination as to the appropriate salary for a candidate, we consider a variety of factors such, including, but not limited to, the position requirements, the skills, prior experience, and educational background required or preferred for the job, the scope and impact of the role within the organization, internal peer equity, and the candidate's specific training, experience, education level, and skills. No single factor is conclusive; the Library reserves the right to consider any and all relevant factors and make a decision consistent with its policies.

Union Salaries are determined by collective bargaining agreement(s).

Get your free, confidential resume review.

or drag and drop your file here.

Similar jobs

Similar jobs worth comparing

Software Engineering Manager, Research
Software Engineering Manager, Research

Code4lib • New York (NY)

Hybrid
USD 130,000 - 160,000
Senior Data Analyst, Data Platforms & Access - Digital
Senior Data Analyst, Data Platforms & Access - Digital

The New York Public Library • New York (NY)

Hybrid
USD 110,000 - 125,000
Associate Director, IT Service Management
Associate Director, IT Service Management

The New York Public Library • New York (NY)

Hybrid
USD 120,000 - 147,000
Patron Insights Researcher, Quantitative Research
Patron Insights Researcher, Quantitative Research

The New York Public Library • New York (NY)

Hybrid
USD 90,000 - 100,000
Aaron and Clara Greenhut Rabinowitz Director of Preservation Services
Aaron and Clara Greenhut Rabinowitz Director of Preservation Services

New York Public Library • New York (NY)

Hybrid
USD 175,000 - 185,000
Hybrid work schedule
Senior Software Engineer, Digital Asset Platform
Senior Software Engineer, Digital Asset Platform

The New York Public Library • New York (NY)

On-site
USD 120,000 - 180,000
Associate Director, IT Operations
Associate Director, IT Operations

The New York Public Library • New York (NY)

Hybrid
USD 120,000 - 150,000
Flexible schedule
Hybrid work model
Professional development opportunities
Neighborhood Tech Helpers Outreach Associate - Part Time
Neighborhood Tech Helpers Outreach Associate - Part Time

New York Public Library • New York (NY)

On-site
USD 28,000 - 40,000
Director, Digital Collections Operations at The New York Public Library
Director, Digital Collections Operations at The New York Public Library

METRO | 599 • New York (NY)

On-site
USD 90,000 - 120,000
Director, Digital Collections Operations
Director, Digital Collections Operations

Code4lib • New York (NY)

On-site
USD 100,000 - 140,000