
The New York Public Library (NYPL)
Hi, let's find you a remote job!
about 10 hours ago

Senior Software Engineer I Python Digital
$125k - $135kThe New York Public Library (NYPL)
New York, NYRemote HybridRemote
This is NOT a remote role and requires onsite work in NYC three days a week.
Overview
The New York Public Library is seeking a Senior Software Engineer to join the Digital Research Books (DRB) team. This role will lead the technical efforts to expand access to and increase the discoverability of public domain and open source materials. This work will involve building new integrations with external sources and internal catalogs, while innovating on the organization and searchability of our catalogued data. This role will also lead the project to launch the library’s first patron-facing AI product. Beyond the DRB team, this role will also have the opportunity to contribute to other catalog projects at NYPL.
Overview
The New York Public Library is seeking a Senior Software Engineer to join the Digital Research Books (DRB) team. This role will lead the technical efforts to expand access to and increase the discoverability of public domain and open source materials. This work will involve building new integrations with external sources and internal catalogs, while innovating on the organization and searchability of our catalogued data. This role will also lead the project to launch the library’s first patron-facing AI product. Beyond the DRB team, this role will also have the opportunity to contribute to other catalog projects at NYPL.
We are looking for someone we can count on to:
Own:
- Digital Research Books APIs that support discoverability and access for a collection of millions of bibliographic records
- DRB data pipelines that can ingest and transform metadata and store associated files from a wide range of sources and differing formats
- Technical decisions, designs and implementations for difficult and complex problems
Teach:
- Support and mentor other engineers, helping them grow their technical skills and utilize engineering best practices
- Present on their work to technical and non-technical stakeholders
- Build support for the team’s work amongst various interested parties
Learn:
- Gain an understanding of library science practices, especially around metadata standards and formats
- Connect the dots between different applications to understand how metadata and records can be shared between them
- Help the department keep up with new developments and standards in software engineering
Improve:
- Grow as a team member and leader, collaborating with other NYPL engineers to solve problems
- Seek to retire legacy applications and replace them with modern, streamlined solutions
Some expectations for this role are that within:
1 month, this person will:
- Develop an understanding of our infrastructure, environments and deployment practices
- Implement tests for all the code that they write
- Complete software development tasks independently and collaboratively in accordance with our engineering workflows
3 months, this person will:
- Gain a deep understanding of the Digital Research Book’s code base
- Regularly perform code review of other engineers’ work
- Actively participate in design and architecture discussions
6 months and beyond, this person will:
- Consistently contribute to our code bases and understand repositories around NYPL Digital
- Provide technical advice and weigh in on decisions that impact our team
- Regularly lead design, architecture discussions, and the implementation of projects
- Collaborate with other senior engineers and technical team leaders to deliver new features across NYPL Digital
- Lead and delegate technical work, mentor teammates, foster collaboration and promote best practices
- Make technical decisions under different constraints and ambiguity
Responsibilities
- Design and implement scalable, optimized, and maintainable software solutions
- Collaborate with multiple teams to build innovative and forward-looking applications for our patrons
- Build software following industry best practices and NYPL values (https://github.com/NYPL/engineering-general)
- Develop unit, functional and integration test suites to ensure the creation of accurate, reliable, and robust code
- Create technical documentation and specifications
- Identify and tackle tech debt before it becomes large enough to require standalone work to address it; Remediate existing tech debt within their projects
- Identify and resolve ambiguities and/or problems with requirements and roadmap items on adjacent teams and projects
- Help other engineers and provide actionable feedback during code reviews
- Communicate effectively across disciplines, including through detailed and effective technical writing
- Assume additional responsibilities as required by the organization
Required Education, Experience & Skills
Required Education and Certifications
- Bachelor’s Degree - OR - Required experience:
Required Experience
- Equivalent 4 years hands-on development experience on relevant tech stack
- 6-10 years in backend development
Required Skills
- 4+ years in Python application development
- Experience implementing and maintaining technical solutions with ML and/or AI
- Production experience with one or more Python web frameworks (Flask, Django, etc.)
- Experience with Python packaging and dependency management tools (setuptools, pip, poetry, pipenv, etc.)
- Proficiency in SQL and relational databases such as mySQL, Postgres, etc.
- Proficiency with version control systems and git
- Experience with CI/CD tools like Travis, Jenkins, GitHub Actions, etc.
- Familiarity with other languages (PHP, Ruby or Java preferred)
- Familiarity with agile methodologies such as Scrum & Kanban
- Familiarity with a major cloud computing platform (e.g. AWS, Azure, GCP, etc)
Management Responsibilities
- N/A
More...
Core Values
All team members are expected and encouraged to embody the 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
Work Environment
- Hybrid office environment; 3 days in office in NYC - this is NOT a remote role
Physical Duties
- Some light lifting/moving may be required
Pre-Placement Physical Required?
- No
Union/Non Union
Non-Union
FLSA Status
Exempt
Schedule
Non-Union
FLSA Status
Exempt
Schedule
- Monday - Friday; 9-5
- Hybrid Office Hours - 3 days required onsite in NYC
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
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 candidates 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).