Software Engineer III at The New York Public Library | NY, US | Rezi

Software Engineer III at The New York Public Library

Software Engineer III

The New York Public Library · NY, US

3 days ago

Software Engineer III

The New York Public Library · NY, US

4 days ago
Resume preview

Impress employers and recruiters.
Choose from hundreds of resume examples.

Target Resume Now
Resume preview

Tailor your resume to this Software Engineer III role.

Rezi rewrites your resume against The New York Public Library's job description. Free.

Resume score gauge reading 58 out of 100

Don't guess if your resume is good enough.

See how it scores against the Software Engineer III posting at The New York Public Library — free, in seconds.

About the Role

The New York Public Library is seeking a Software Engineer III to join the Digital Asset Preservation and Access (DAPA) team. This role will significantly contribute to making the library's collections available online through various platforms and systems. The engineer will modernize access systems, expand collections, and improve user experience by building new OCR processes, enhancing data pipeline stability, and designing new image delivery methods. This is an opportunity to proactively improve engineering practices, solve complex problems, and advocate for change within the team. The role also involves collaborating with diverse partners across the library to share knowledge and learn new practices.

Responsibilities

  • Complete software development tasks collaboratively in accordance with engineering workflows.
  • Review code and provide feedback during code reviews.
  • Develop and execute unit tests for code to ensure accuracy, reliability, and robustness.
  • Contribute to new projects and open issues, ensuring maintainable, observable, and testable implementation.
  • Own project's technical decisions impacting the team and organization, especially around streamlining asset and metadata flows.
  • Take ownership of existing systems.
  • Consistently contribute to code bases and understand repositories across NYPL Digital.
  • Participate in design and architecture discussions and demonstrate the ability to abstract problems into general solutions.
  • Develop and maintain scripts to automate testing processes.
  • 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.
  • Work well without strong support structures, either between teams or without one.
  • Provide guidance to more junior software engineers regarding applications they own and best practices.
  • Collaborate with Engineering leadership on overall direction of team/project.
  • Understand project needs and how to implement specific technical solutions.
  • 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.
  • 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.
  • Provide actionable feedback during code reviews.
  • Assume additional responsibilities as required by the organization.

Requirements

  • Bachelor’s Degree - OR - 4+ years of experience developing software applications at scale.
  • Equivalent 4 years hands-on development experience on relevant tech stack.
  • 3-5 years in backend development.
  • 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.
  • Embody the NYPL Core Values: Be Helpful, Be Resourceful, Be Curious, Be Welcoming and Inclusive.

Skills

  • Python
  • Ruby
  • Flask
  • Django
  • SQL
  • mySQL
  • Postgres
  • git
  • GitHub Actions
  • PHP
  • Java
  • Scrum
  • Kanban
  • AWS

Location

  • Stephen A. Schwarzman Building

Work Type

  • Full Time
  • Hybrid Work Environment; 3 days in office in NYC; 2 remote (subject to change)

Experience Level

  • Software Engineer III
  • 4+ years of experience developing software applications at scale
  • Equivalent 4 years hands-on development experience
  • 3-5 years in backend development
  • 3+ years in back-end application development

Education Level

  • Bachelor’s Degree

Salary/Compensations

  • $110,000 - $115,000 / year

About the Company

  • The New York Public Library (NYPL) is dedicated to making its extensive collections available online. The library aims to provide access to assets through its Digital Collections site, other discovery platforms, staff management tools, and supporting systems. NYPL is committed to pay transparency and pay equity, considering various factors when determining salary, including position requirements, skills, experience, education, role scope, and internal equity.