Senior Software Engineer I (eReading/Python)

To apply for this job please sign in or enter your email below.

New York Public Library · Remote (USA)

Public Service & Civic Engagement
Public Infrastructure
Posted 2 weeks ago

Continuous Integration (CI/CD)
Do you want to work for a mission driven organization that cares about privacy, sustainability and public interest technology? Join us at the New York Public Library! 
NYPL Digital is the department responsible for the digital transformation of the Library in order to facilitate the successful transition to the delivery of core patron-facing services through digital platforms. 
The successful candidate will influence and have a significant impact on a small but dedicated cross-functional team by showing technical leadership on their projects. This role is on the eReading team, where you’ll have the opportunity to contribute to our goal of supporting the advancement of knowledge and patron interests by providing free and open access to digital publications, including books and research material. Our eReading platforms allow us to provide these valuable resources to our patrons.
Key Responsibilities
Our expectations for this person are that within…
1 month, this person will:
  • Develop an understanding of our infrastructure, environments and deployment practices
  • Implement unit and integration tests for all the code that they write
  • Complete software development tasks with minimal guidance in line/accordance with our engineering workflows
3 months, this person will:
  • Gain an understanding of the variety of code bases in use within NYPL
  • Regularly perform code review of other engineers’ work
  • Actively participate in design and architecture discussions
6 months, this person will:
  • Contribute to a variety of code bases within NYPL
  • Provide technical advice and weigh in on technical decisions that impact the Digital experience team and other teams across Digital
  • Regularly influence design and architecture discussions
12 months and beyond, this person, working with the Technical Team Lead and other project team members, will:
  • Take responsibility for new development work, coordinating the work of other engineers
  • Demonstrate technical leadership, accountability and responsibility by setting standards, improving performance, code maintainability, documentation, communication with leadership etc. 
  • Understand decisions and constraints in the wide scope pertaining to the whole of the solution at hand. This includes the ability to abstract problems.
Reporting to the Technical Team Lead, the Senior Software Engineer I will:
  • Design and implement scalable, optimized, and maintainable database driven web applications
  • Collaborate across larger teams and cross functional projects to provide innovative online experiences for our users
  • Design and Build APIs to extend our rich content and information to global audiences 
  • Build software following industry best practices and NYPL values  (
  • Develop functional and/or unit tests to ensure the accuracy, reliability, and robustness of code
  • Create technical documentation and specifications
  • Identify and tackle tech debt before it becomes large enough to require standalone work to address it
  • Define & promote DevOps practices & demonstrate awareness of systems challenges & ensure smooth running of services
  • Identify and help resolve ambiguities and/or problems with requirements and roadmap items on adjacent teams and projects, not just those being worked currently
  • Mentor other engineers and provide actionable feedback during code reviews
  • Communicates effectively across disciplines
  • Assume additional responsibilities as required by the organization

Required Education, Experience & Skills

Required Education & Experience
  • Bachelor’s Degree - OR -Equivalent 4 years hands-on development experience on relevant tech stack6-10 years in web application development
Required Skills
  • 2+ years in Python application development 
  • 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.)
  • Strong experience building web applications with HTML, CSS, JS. An understanding of front-end frameworks such as React is beneficial
  • Proficiency in SQL and relational databases such as mySQL, Postgres, etc.
  • Proficiency in using Version Control System such as Git or SVN
  • Experience with CI/CD tools like Travis, Jenkins, GitHub Actions, etc.
  • Familiarity with agile methodologies such as Scrum & Kanban
  • Familiarity with AWS

Preferred Qualifications

  • Experience working with containerized software (using containers defined by others)
  • Basic understanding of the software lifecycle for cloud deployment (CI/CD, build/test/deploy pipelines)
  • Familiarity with REST and stateless service design
  • Experience with creating / managing containers (defining, building, and testing images)
  • Experience writing integration and load tests
  • Understanding of deployment infrastructure, either for machine images in EC2 or containers in ECS / EKS


Please Note: Effective August 2, 2021, absent a qualifying exception for medical or religious reasons, newly hired employees of the New York Public Library must present proof of receipt of a COVID-19 vaccination and may not begin employment at the Library until 14 days after their receipt of their second dose of either the Pfizer or Moderna vaccines or 14 days after their first dose of the Johnson & Johnson vaccine.  Newly hired employees who need additional time to receive their vaccination prior to their start date may request an adjournment of their start date with their hiring manager.  The Library will consider such requests on a case by case basis, depending upon the Library’s operational needs, among other factors.  The Library will further consider exemptions for prospective employees who cannot become vaccinated due to a qualifying medical condition or a sincerely held religious belief or practice.  Candidates who receive a conditional offer of employment and who seek a medical or religious exemption to the Library’s vaccination policy will be provided with additional instructions at the time of the conditional offer.

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
Physical Duties
  • Limited physical effort is required
  • May require travel within NYC
Physical Required?

Union/Non Union

FLSA Status

  • Monday - Friday; 9AM - 5PM
  • This is NOT a remote role; requires in-person/in-office work

About The New York Public Library

The New York Public Library is a free provider of education and information for the people of New York and beyond. With 92 locations—including research and branch libraries—throughout the Bronx, Manhattan, and Staten Island, the Library offers free materials, computer access, classes, exhibitions, programming and more to everyone from toddlers to scholars, and has seen record numbers of attendance and circulation in recent years. The New York Public Library serves more than 18 million patrons who come through its doors annually and millions more around the globe who use its resources at 

Related Jobs

Web Applications Engineer - The 19th
Remote (USA) - Posted 6 days ago
Senior/Software Engineer, UI Engineering - ITHAKA
Remote (USA) - Posted 2 weeks ago
Senior Software Engineer - Pachama
Remote (USA) - Posted 2 weeks ago
View more remote jobs
Be the first to see new Senior Software Engineer I (eReading/Python) jobs

Save this search to get an email when new jobs match this search.

Create Email Alert