Department: Digital
Location: Stephen A. Schwarzman Building
Compensation: $85,000 / year
Description
This is not a remote role; this role requires work onsite in NYC three days a week.
Overview
The New York Public Library (NYPL) is seeking a versatile Software Engineer who has the foundational ability to write high-quality code and deliver well-defined tasks. This role would primarily focus on frontend web development, but would require close collaboration with backend engineers to deliver time-sensitive projects.
The role’s primary focus will be on launching the NYPL’s first-ever AI discovery tool. This project aims to integrate Generative AI and Large Language Model (LLM) technologies into the NYPL's existing infrastructure. We are dedicated to building a web-based interface that prioritizes the user experience while upholding the high ethical standards expected of a renowned institution. Beyond this initial launch, you will integrate into the wider NYPL Digital workstream, acting as a vital bridge between technical teams and organizational stakeholders to drive digital innovation.
You will work closely with our Product and Design teams to drive an agile development cycle. As a key contributor, you are expected to take ownership of the frontend, not only executing on requirements but also proactively contributing creative ideas and technical insights to enhance the user interface and overall experience.
We are looking for someone we can count on to:
Own:
- Generate, break down, and deliver well-defined tasks independently
- Write, test, and document code according to engineering standards
- Debug and fix issues across development, test, and production environments
- Take responsibility for the quality of their code through thorough testing and documentation
Teach:
- Share learnings from completed tasks with the team
- Document solutions and contribute to team knowledge base
- Present their work clearly in code reviews and team meetings
Learn:- Our technical stack, development practices, and coding standards
- How to write maintainable, testable code
- Best practices for debugging and troubleshooting
- How to break down complex tasks into manageable pieces
Improve:
- Their technical skills and programming practices
- The quality of their code reviews and documentation
- Their ability to estimate and deliver tasks
- Team processes through constructive feedback
Some expectations for this role are that within:
1 month, this person will:
- Complete the onboarding process and set up their development environment
- Begin contributing to small, well-defined frontend tasks
- Start participating in code reviews and team meetings
- Familiarize themselves with our codebase and development practices
3 months, this person will:
- Independently complete well-defined tasks with appropriate guidance
- Actively participate in team discussions and code reviews
- Show understanding of our development workflow and practices
- Begin identifying and proposing solutions to technical issues
6 months and beyond, this person will:
- Demonstrate consistent ability to break down and deliver tasks independently
- Contribute meaningfully to technical discussions
- Show improvement in code quality and delivery speed
- Begin taking on more complex tasks with guidance
Responsibilities- Write clean, maintainable code following team standards
- Create and maintain technical documentation
- Participate in code reviews and provide constructive feedback
- Debug and resolve technical issues
- Collaborate with team members on feature development
- Write and maintain unit tests
- Participate in team meetings and agile ceremonies
Required Education, Experience & Skills
Required Education and Certifications- Bachelor’s degree in a STEM (Science, Technology, Engineering, or Mathematics) field or a related discipline
- OR 2 years of equivalent practical experience, including a minor, related certificates, or relevant academic or extracurricular activities in such a field
Required Experience- 0-2 years of hands-on experience with web development (including but not limited to JavaScript/TypeScript, React, Next.js, Python, Flask)
Required Skills
As an effective team member, we are looking for:
- Strong problem-solving and analytical skills
- Good written and verbal communication skills
- Willingness to learn and adapt to new technologies
As a technical contributor, we are looking for:
- Proficiency in at least one programming language
- Familiarity with client-server web architectures & web app development principles
- Familiarity with CI/CD concepts
- Familiarity with version control systems (e.g., Git)
- Understanding of Debugging and troubleshooting skills
- Understanding of code review practices and etiquette
- Understanding of testing principles & methodologies
Managerial/Supervisory ResponsibilitiesMore...
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; required onsite in NYC three days a week
- Monday - Friday; 9-5
- Office environment
Physical DutiesPre-Placement Physical Required?Union/Non UnionFLSA StatusScheduleThis 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 LibrarySalary 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).