Software Engineer, Android
Posted on Thursday, December 22, 2022
At Spruce, we are reimagining trusted interactions by creating the world’s best software for packaging beliefs digitally. We are a team of programmers working to develop world-class open source products and libraries implementing open global standards in identity.
There are no well-worn paths or theoreticals here. Every Spruce technical staffer gets their hands dirty writing code, learning new technologies, and solving problems at the bleeding edge of our space. We hire results-oriented developers who love technology and are committed to intellectual honesty, user privacy, and innovation.
The ideal candidate for this mobile engineering role will have experience bringing end-to-end mobile applications from zero to one on Android. You will work on a credential wallet that allows end users to control their digital identity while keeping their privacy. Across our product lines, we use a combination of core identity libraries, cutting-edge cryptography, and new interoperable identity standards.
This mobile application embeds audited Rust code via native SDKs and leverages low level device communications protocols. We will rely on your expertise to tame this ambitious architecture to ensure a flawless UX from conception to release.
- Refactor, maintain, and extend the open source credential wallet application on both Android and iOS. The desired architecture is a set of reusable SDK legos that contain most of the core functionality and UX workflow components. The completed user-facing application should exist as a thin layer of integration code and styling over the SDKs.
- Establish CI/CD for the mobile application including release to the TestFlight, App Store, Play Store Beta, and Play Store, integrated with the CI/CD of the rest of the software supply chain (such as triggering builds when dependencies change).
- Work closely with a project team and product managers responsible for managing user stories, features, and releases.
- Work with designers to bring a concept to life with fully functioning user interfaces.
- Adapt to rapidly changing priorities.
- Excellent written communications skills (necessary for remote work).
- 2+ years experience shipping both iOS and Android applications.
- 4+ years experience shipping either iOS or Android applications.
- Ability to write software that interacts with low level communications protocols, especially Bluetooth Low Energy, NFC, and WiFi Aware.
- Comfortable with rapid directional changes of focus in a startup environment.
- Experience collaborating with diverse project and engineering teams.
- Ability to handle multiple projects and tasks simultaneously.
- Understanding of computer security, basic use of cryptography, and principles of user data privacy.
- [BONUS] Experience with secure enclaves, hardware-based cryptography, or sensitive data handling on Android and/or iOS.
- [BONUS] Bachelor's Degree in computer science, IT, engineering, or related field.
We are passionate about cultivating a thriving culture of diverse individuals who bring unique perspectives to our mission. We are committed to equal employment opportunity regardless of race, color, ancestry, religion, sex, national origin, sexual orientation, age, citizenship, marital status, disability, gender identity or Veteran status.