Software Engineer I, Frontend - Scholarly eBooks
8 days ago
New York
Job DescriptionDescriptionThis 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 documentationTeach:, • 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 meetingsLearn:, • 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 piecesImprove:, • 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 feedbackSome 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 practices3 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 issues6 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 guidanceResponsibilities, • 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, • 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 fieldRequired 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 technologiesAs 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 & methodologiesManagerial/Supervisory Responsibilities, • Be Helpful to patrons and colleagues, • Be Resourceful in solving problems, • Be Curious in all aspects of your work, • Be Welcoming and InclusiveWork Environment, • Hybrid Work Environment; required onsite in NYC three days a week, • Monday - Friday; 9-5, • Office environmentPhysical Duties, • N/APre-Placement Physical Required?, • NoUnion/Non Union, • Non-UnionFLSA Status, • ExemptSchedule, • Monday - Friday; 9-5This 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).