Firmenlogo

Senior Software Engineer I, Scholarly eBooks - Python at The New York Public Library

The New York Public Library · New York, United States Of America · Hybrid

$125,000.00  -  $135,000.00

Apply Now
This role is based in NYC - and requires work in the office 3 days a week in NYC

Overview
The New York Public Library is seeking a Senior Software Engineer to join the Scholarly eBooks team. This role will lead the technical efforts to expand access to and increase the discoverability of public domain and open access materials. This work will involve building new integrations with external sources and internal catalogs, while innovating on the organization and searchability of our metadata. This role will also contribute to a project to launch the library’s first patron-facing AI product.  This pioneering project aims to integrate Generative AI and Large Language Model (LLM) technologies into the New York Public Library's existing infrastructure. Our core objective is to develop and deploy these powerful tools in a responsible and ethical manner. The ultimate goal is to empower researchers, scholars, and the general public to unearth and engage with materials within NYPL's vast and diverse collections in novel and profoundly impactful ways, thereby significantly enriching their exploration and discovery processes.

Beyond the Scholarly eBooks 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:
  • Scholarly eBooks APIs that support discoverability and access for a collection of millions of bibliographic records 
  • Scholarly eBooks ETL pipelines for metadata and content files from a wide range of sources and in differing formats
  • Technical decisions, designs and implementations for difficult and complex problems that affect the organization
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
  • Gain expertise in AI Engineering to implement solutions with LLMs and vector databases
  • 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 on problems
  • Grow as an engineer, developing domain-level technical expertise
Some expectations for this role are that within:
1 month, this person will:
  • Develop an understanding of our technical stack and software engineering processes
  • Complete software development tasks independently and collaboratively in accordance with our engineering workflows
  • Begin understanding Scholarly eBooks’ product requirements and design software solutions to implement them
3 months, this person will:
  • Help lead design, architecture discussions, and the implementation of projects
  • Start making technical decisions that impact the team and the organization
  • Consistently contribute to code bases and understand repositories across NYPL Digital
6 months and beyond, this person will:
  • Provide technical advice and help make decisions that impact the team and organization
  • Collaborate with other senior engineers and technical team leaders to deliver new features and make improvements to the technical stack across NYPL Digital
  • Lead technical work, mentor teammates, foster collaboration and promote best practices
Responsibilities
  • Design and implement scalable, optimized, and maintainable software solutions
  • Collaborate with multiple teams to build innovative applications for NYPL 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 remediate tech debt before it becomes large enough to require standalone work to address it
  • Identify and resolve ambiguities/issues with requirements for team and org-wide 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 - the required experience below
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 
  • Production experience with one or more Python web frameworks (Flask, Django, 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)
Preferred Skills
  • Experience implementing and maintaining technical solutions with ML and/or AI 
  • Proficiency in discovery layers such as ElasticSearch and/or Solr
  • Experience building full-text search solutions
  • Experience building and working with containerized software
  • Experience maintaining shared modules and/or working with a private package repository
  • Familiarity with REST and stateless service design
  • Experience writing integration and load tests
  • Understanding of deployment infrastructure, either for machine images on EC2 or containers on ECS / EKS
  • Familiarity with common library metadata standards
Managerial/Supervisory Responsibilities: 
  • None

More...

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 Work environment; 2-3 days in office, 2 remote
Physical Duties
  • Limited physical effort is required
  • May require travel within NYC
Pre-Placement Physical Required?
  • No
Union/Non Union
  •  Non-Union
FLSA Status
  • Exempt
Schedule
  • Monday - Friday; 9-5
  • Hybrid Work Schedule
  • This role is based in NYC - and requires work in the office 3 days a week 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

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).
Apply Now

Other home office and work from home jobs