Manager, Software Engineering
New York Public Library · New York, NY
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. This role will help pave the way for the ethical and sustainable use of digital technologies in society and provide a sustainable approach to technology.
The successful candidate will lead and have a significant impact on a small but dedicated cross-functional team to iteratively develop innovative products for the library.
You'll have the opportunity to architect and implement our product and technical strategy. If you have experience in Ruby and/or Node.js and an interest in microservices, event-driven / serverless architectures, complex data structures, and graph databases, this is a unique opportunity to work on projects that will transform the way patrons interact with the Library.
Our expectations for this person are that within…
1 month, this person will:
- Quickly acclimate to the Library's infrastructure, environments and deployment practices
- Delegate and execute software development tasks, as directed by the Director of Digital Technology or the Team Lead, in line with our engineering workflows
- Get to know and start to build cooperative relationships with their team; assess and communicate personal development plans and goals with team members
3 months, this person will:
- Gain an understanding of NYPL’s engineering processes, products and visions.
- Moderate design and architecture discussions within their team, and make decisions on issues that affect their entire team.
6 months, this person will:
- Solicit, institute and maintain new best practices across their team.
- Identify and remove duplicated or wasted effort across projects
- Research and propose new technologies
12 months and beyond, this person will:
- Guide their team members towards improvement and professional development.
- Define & promote DevOps practices & demonstrate awareness of systems challenges & ensure smooth running of services.
- Recognize and reward team members for outstanding procedures, behaviors, and practices; identify poor team performance and coach & counsel as required.
Reporting to the Director, Digital Technology, the Senior Software Engineer will:
- Manage a team of software engineers, including task planning and code reviews.
- Drive technical projects and provide leadership in an innovative and fast-paced environment.
- Take responsibility for the overall planning, execution and success of complex technical projects.
- Contribute technically to projects.
- Contribute to strategic and tactical product planning.
- Work closely with the product management team to ensure we're building the best products.
- Tackle the complex and interesting challenge of solving business problems through software engineering.
- Hold your own in technical discussion, be a subject matter expert, and have strategic influence
- Communicate cross-functionally and drive engineering efforts
Required Education & Experience
- Bachelor’s Degree or certificate from specialized coding program
- 3 years of hands-on technical leadership and people management experience.
- 5 or more years of hands-on web development experience on relevant tech stac
- Strong experience building web applications in Ruby, PHP, Python or Java using a framework such as Rails, Symfony, Spring, etc. Understanding of front-end frameworks such as React is beneficial..
- A proven track record of managing, developing, and mentoring software engineering teams.
- Experience with Agile software development, for example Scrum or Kanban
- Experience doing hands-on large scale software development and architecture
- 10 years of relevant industry experience, with 5 years of hands-on technical leadership and people management experience (managing teams of 2 or more developers).
- Experience with cloud platforms (e.g. AWS)
- Experience with search technologies (e.g. Solr, Elasticsearch)
- Experience with event-driven architectures.
- Familiarity with CMS like Drupal is beneficial.
- Experience with design systems (Carbon, USWeb, etc) is beneficial.
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
- Limited physical effort is required
- May require travel within NYC