Summary
✨ AI‑Generated
A senior full-stack engineering role focused on developing and maintaining digital platforms. The position involves building applications, improving existing systems, working across multiple codebases, and contributing to software development best practices.
Highlights
Work on meaningful digital platforms, contribute to full-stack solutions, and help shape engineering standards while collaborating with experienced technical teams.
Description
-- This is not a remote role; this role requires work onsite in NYC three days a week--
Overview
NYPL is hiring a Senior Software Engineer I in our Institutional Services group to work on a full-stack engineering team building and maintaining our digital platforms, and pushing forward our unified patron experience vision across multiple applications and databases.
The role will be responsible for writing code and delivering products via several codebases (Python, React, Typescript) focused on providing access to digital library resources for NYPL patrons, researchers, educators, and students around the country.
This involves maintaining legacy codebases and developing new applications to help patrons access NYPL’s collections.
This role will also contribute to the technical leadership of the team by helping set and upholding standards for best practices in application development, database management, team collaboration, and other technical areas, with guidance by the Technical Team Lead.
Some expectations for this role are that within:
1 month, this person will:
Develop an understanding of our infrastructure, environments and deployment practicesImplement unit and integration tests for all the code that they writeComplete software development tasks independently and collaboratively in line/accordance with our engineering workflowsBegin to understand the product requirements for our Library Card Application and MyLibraryNYC systems and how they connect to larger strategic objectives3 months, this person will:
Gain an understanding of the team’s codebases and familiarity with other NYPL codebasesRegularly perform code review of other engineers’ workSupport and mentor other engineers on their team in technical skills as well as the specifics of NYPL’s digital library card applicationIteratively update our digital library card application and MyLibraryNYC systems, always seeking to identify areas for improved service for patrons and staffLead development initiatives on new projects and open issues, ensuring that implementation is completed in a maintainable, observable and testable mannerActively participate in design and architecture discussions, and contribute to decisions that will impact the team and organizationParticipate in conversations about team’s project progress and help maintain team velocity through mentorship, pair programming, and code reviewPresent on their work to technical and non-technical stakeholdersBuild support for the team’s work amongst various interested parties6 months and beyond, this person will:
Provide technical advice and weigh in on decisions that impact our platforms and help realize implementation of new features and bugfixesRegularly influence design and architecture discussionsCollaborate with other Software Engineers to deliver new features across NYPL DigitalTake responsibility for new development work, coordinating the work of other engineersHelp lead development teams by taking accountability, mentoring developers, fostering collaboration and generally aiding the adoption of best practicesInfluence and empower the team to build useful, accessible applications in a sustainable and maintainable wayUnderstand code bases around NYPL Digital
Responsibilities:
Understand NYPL technical needs to define system specificationsDesign and implement scalable, optimized, and maintainable software solutionsCollaborate with multiple teams working on platforms to build innovative and forward-looking applications for our patronsBuild software following industry best practices and NYPL values (https://github.com/NYPL/engineering-general)Work with product/project managers on estimating the feasibility and complexity of new products/featuresParticipate in team agile ceremonies and contribute towards the continuous improvement of our agile processesAsk questions to ascertain the feasibility of the technical approachWrite Technical Architecture Documents defining technical approach for foundational functionality across projectsIdentify and resolve ambiguities/issues with requirements for team and org-wide projectsResearch and recommend solutions based on cost benefit analysis and embracing automation and efficiencyConnect with different teams when shared issues or solutions are identifiedContribute to test suites to ensure the creation of accurate, reliable, and robust codeCreate technical documentation and specifications for all delivered codeProactively identify and remediate tech debtHelp other engineers and provide actionable feedback during code reviewsAssume additional responsibilities as required by the organization
Required Education and Certifications
Bachelor’s Degree -OR-Required Experience
Equivalent 5 years of hands-on development experience with relevant tech stackRequired Skills
Strong leadership, mentoring, coaching and decision-making skillsExcellent written and verbal communication skillsTrack record of leading major technical initiatives to solve complex technical problemsExperience establishing documentation standards and practicesExpertise in Python application development and system design, including production experience with Python web frameworksStrong understanding of system architecture and design patterns as well as cloud infrastructureStrong understanding of DevOps practices and their impact on implementation approachesProficiency in SQL and relational databases such as MySQL, PostgreSQL, etc.Experience with Node.js and React ecosystemExperience with Next.js.Experience with multiple component libraries.
Prior experience building a component library is a plusExperience with front-end integration testingKnowledge of accessibility principles.
Prior experience working on an accessible front-end is a plusProficiency with version control systems and gitExperience with CI/CD tools like GitHub Actions, TravisCI, etc.Familiarity with agile methodologies such as Scrum & KanbanFamiliarity with Single Sign On is a plusUnderstanding or experience managing a single sign on infrastructure like Shibboleth is a plusProduction experience working with data stores, including ElasticSearch and/or Solr, at scale a plus
NYPL Core Values:
All team members are expected and encouraged to embody the NYPL Core Values:
Be Helpful to patrons and colleaguesBe Resourceful in solving problemsBe Curious in all aspects of your workBe Welcoming and InclusiveWork Environment
Office SettingHybrid work environment; 3 days in office in NYCPhysical Duties
Limited physical effort is requiredMay require travel within NYCPre-placement Physical Required?
NoSchedule
Monday - Friday, 9am - 5pmHybrid work environment; 3 days onsite in NYC is required
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.
The New York Public Library 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).