Software Engineer II - (Backend) - Digital Asset Preservation and Access
Full Time $90,000 - $100,000 / yearJob Overview
This is not a remote role. This role requires work in the NYC office a minimum of three days a week
Overview
Overview
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
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
Required Education, Experience & Skills
Required Education and Certifications
- Bachelor's degree in Computer Science, Software Engineering, or related field
- OR equivalent practical experience
Required Experience
- 2-4 years of hands-on development experience with at least one backend web framework
Required Skills
- 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
Managerial/Supervisory Responsibilities
- None
Make Your Resume Now