The New York Public Library is reshaping the world of e-books and library lending with its SimplyE and Open eBooks mobile applications. These pioneering e-reading apps allow library patrons around the US to connect to their local libraries, check out e-books free of charge, and begin reading effortlessly.
Our small, dedicated, and compassionate team is looking for an exceptional mobile software engineer to help us in the quest for ever greater public access to information. Join us in our efforts at the main NYPL branch location (of Ghostbusters fame) and you'll experience the pleasure of working full-time on open-source software, enjoy a healthy work-life balance, and sleep well at night knowing you're doing what's best for library patrons, not someone else's bottom line.
You should be either an Android or iOS expert who is eager to eventually contribute on both mobile platforms:
* If you're an Android developer, you should have a strong command of Java and Gradle, be intimately familiar with Google's Material Design guidelines, and know your way around the usual SDKs. Our new development makes use of Kotlin as well, so a willingness to learn it if you do not have prior experience is essential.
* If you're an iOS developer, you'll need to be competent with both of Apple's languages: We're using Swift for all new development, but we have an existing codebase that makes heavy use of Objective-C too. You should also have experience with a wide variety of Apple's SDKs, be able to effortlessly apply Apple's human interface guidelines, and be comfortable doing library-based development via Carthage or CocoaPods.
In addition to one or both of the above, you should:
* have an interest in working with the open-source community,
* be willing to participate in a mutual code review process with your peers,
* be able to safely and concurrently interact with RESTful interfaces,
* understand the basics of CSS and DOM manipulation,
* know a thing or two about SQL if not SQLite itself, and
* be competent with Git, GitHub, and related workflows.
Special consideration will be given to candidates with:
* knowledge of the EPUB format,
* experience building accessible applications, or
* a solid understanding of functional programming.
A bachelor's degree in Computer Science or a related discipline is preferred.