Software Engineer III, Android

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

New York Public Library · Remote (USA)/New York, NY

Engineering
Public Infrastructure
Public Service & Civic Engagement
Education
$115,000 Per Year
Posted 4 weeks ago

Continuous Integration (CI/CD)
Scrum
React Native
Java
Docker
Jenkins
React
Overview
NYPL Digital is the department responsible for the digital transformation of the Library. We support this ambition through the delivery of core patron-facing services via digital platforms.

We are looking for creative and driven software engineers to join our team and make major contributions to this work, helping to solve complex technical problems and implementing new systems to extend the Library’s digital services. 

The Software Engineer III - Android will collaborate closely with other engineers, product managers, and project stakeholders. 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.

Our expectations for this person are that within…
1 month, this person will:
  • Become familiar with the core components of our eReading apps
  • Be able to complete software development tasks in line with our engineering workflows
3 months, this person will:
  • Include unit and integration tests for all the code that they write.
  • Have a good understanding of our infrastructure, environments and deployment practices
  • Perform code review of other engineers’ work.
  • Develop an understanding of: 
    • the systems on which other teams in NYPL Digital work 
    • how the work of NYPL Digital relates to other departments at the Library
6 months, this person will:
  • Work collaboratively with their team on progressively larger tasks and projects.
  • Ensure on-time and predictable delivery by breaking down complicated problems into smaller, more manageable tasks
  • Approve pull requests
12 months and beyond, this person, working with the Software Engineering Manager  and other project team members, will:
  • Define and document technical architecture and specifications to meet product needs 
  • Implement solutions that match defined specifications and architecture 
  • Research and understand tradeoffs with various technology solutions 
  • Integrate industry-standard tools into workflows, enabling NYPL Digital to focus on domain-specific development and create novel solutions to problems and develop new tools for NYPL Patrons 
  • Learn about other systems managed and developed by NYPL Digital
Responsibilities
  • Build software following engineering the department’s best practices and values (https://github.com/NYPL/engineering-general)
  • Work on an agile team of practitioners including product managers, other engineers, and designers to define, design, and ship new features.
  • Provide input on the technical approach to fulfilling user stories, including but not limited to estimates, feasibility, etc.
  • Write maintainable, scalable, readable, well tested code backed by unit/functional tests where appropriate.
  • Collaborate with other teams at the NYPL to integrate with both internally developed and external / third party APIs.
  • Assume additional responsibilities as required by the NYPL.

Required Education, Experience & Skills

Required Education & Certifications
  • Bachelor’s Degree or certificate from specialized coding program
  • Or equivalent 2-4 years of hands-on development experience on relevant tech stack
Required Experience
  • 1-3 years experience with Java and Kotlin.
  • Experience with an Android Testing framework.
  • Experience with multithreading.
  • Experience building Android apps using Coroutines, Reactive Programming, and MVVM architectures.
  • Proficiency in using Version Control System such as Git or SVN
  • Experience with Docker and CI/CD tools like Travis, Jenkins, GitHub Actions etc
  • Familiarity with Scrum software development framework.
  • Familiarity with AWS

Preferred Qualifications

  • Experience with cloud platforms (e.g. AWS)
  • Familiarity with digital library technologies and standards such as OPDS is beneficial.
  • Experience with hybrid mobile development is a plus (e.g. React Native, Web Views, etc.)
  • Shipped one or more Android applications to the Google Play store.
  • Familiarity and experience with Android Jetpack suite of libraries.

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
  • Office Environment - Hybrid (some days in office)
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
  • This is not a remote role, requires some work in the NYC office

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 www.nypl.org. 

Related Jobs

DevOps Engineer - Flow Labs
San Francisco, CA/Remote (USA) - Posted 3 weeks ago
Software Engineer - Switchboard
Washington, DC - Posted 2 weeks ago
View more open tech jobs in New York, NY
View more remote jobs
Be the first to see new Software Engineer III, Android jobs

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

Create Email Alert