Software Engineer II - (Backend) - Digital Asset Preservation and Access

The New York Public LibraryNew York, NY
1d$90,000 - $100,000Hybrid

About The Position

We are seeking a Software Engineer II to join the Digital Asset Preservation and Access (DAPA) team, which powers NYPL’s Digital Collections, providing our patrons access to archival materials, special collections, and other significant materials in NYPL’s collections. This role will involve building and maintaining patron-facing interfaces and complex ingest pipelines to support internal workflows. The successful candidate will collaborate and have a significant impact within a small but dedicated cross-functional team, with the opportunity to help inform and implement our technical strategy for this project. We are looking for someone we can count on to: Own: Development, shipping, and maintenance of features with guidance from experienced engineers Code review processes that follow engineering standards and practices Quality of feature implementation and associated testing strategies Technical discussions within their area of expertise Teach: Help onboard and mentor junior engineers Share knowledge of our systems and best practices Provide constructive feedback in code reviews Document architectural decisions and technical approaches Learn: Gain an understanding of NYPL’s archival metadata standards and digitization processes How to break down features into manageable tasks Project planning and estimation techniques Leadership skills through mentoring opportunities Improve: Feature design and implementation approaches Code review effectiveness and feedback quality Technical documentation practices Collaboration with other engineering teams Some expectations for this role are that within: 1 month, this person will: Take ownership of existing features Begin participating in technical discussions Start providing meaningful code reviews Understand our development practices and standards 3 months, this person will: Lead the implementation of small features with guidance Actively contribute to software design discussions Show proficiency in our technical stack 6 months and beyond, this person will: Successfully deliver features with minimal guidance Propose and implement technical improvements Consistently provide valuable technical mentorship Take on increasingly complex feature work

Requirements

  • Bachelor's degree in Computer Science, Software Engineering, or related field OR equivalent practical experience
  • 2-4 years of hands-on development experience with at least one backend web framework
  • Strong problem-solving and analytical skills
  • Proficiency in at least one programming language (Python preferred)
  • Proficiency with testing methodologies and test automation
  • Excellent written and verbal communication skills
  • Ability to break down features into tasks
  • Understanding of CI/CD pipeline configuration and maintenance
  • Proven ability to work effectively in team environments
  • Experience providing constructive code reviews and addressing feedback
  • Familiarity with Git for everyday use (basic branching, merge / rebase, conflict resolution, etc)
  • Ability to create and maintain thorough technical documentation
  • Working knowledge of basic DevOps practices and tools

Responsibilities

  • Design, develop, and maintain features with guidance from senior engineers
  • Perform thorough code reviews that help maintain code quality
  • Participate in software design for features and bug fixes
  • Provide technical guidance to junior engineers
  • Write and maintain comprehensive technical documentation
  • Contribute to architectural discussions
  • Implement and maintain test suites

Stand Out From the Crowd

Upload your resume and get instant feedback on how well it matches this job.

Upload and Match Resume

What This Job Offers

Job Type

Full-time

Career Level

Mid Level

Number of Employees

5,001-10,000 employees

© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service