Senior Android Engineer
Small businesses are the backbone of the US economy, comprising almost half of the GDP and the private workforce. Yet, big banks don’t provide the access, assistance and modern tools that owners need to successfully grow their business.
We started Novo to challenge the status quo—we’re on a mission to increase the GDP of the modern entrepreneur by creating the go-to banking platform for small businesses (SMBs). Novo is flipping the script of the banking world, and we’re excited to lead the small business banking revolution.
At Novo, we’re here to help entrepreneurs, freelancers, startups and SMBs achieve their financial goals by empowering them with an operating system that makes business banking as easy as iOS. We developed modern bank accounts and tools to help to save time and increase cash flow. Our unique product integrations enable easy access to tracking payments, transferring money internationally, managing business transactions and more. We’ve made a big impact in a short amount of time, helping thousands of organizations access powerfully simple business banking.
We are looking for an inquisitive, motivated, and agile Android Engineer to join our banking revolution, who possesses a passion for pushing mobile technologies to the limits. You will work with our team of talented engineers to design and build the next generation of our mobile applications. Your primary focus will be the development of Android applications and their integration with back-end services Therefore, commitment to collaborative problem solving, sophisticated design, and creating quality products is essential. Are you ready to revolutionize the small business banking industry with us?
About the Role:
- Translate designs and wireframes into high quality code.
- Design, build, and maintain high performance, reusable, and reliable Java and Kotlin code.
- Ensure the best possible performance, quality, and responsiveness of the application.
- Identify and correct bottlenecks and fix bugs.
- Help maintain code quality, organization, and automatization.
Requirements for the Role:
- 5+ years of experience with developing Android Mobile applications in Kotlin and Java
- Strong conceptual understanding of Kotlin & Java
- Experience in publishing Android apps on Google Play Store
- In depth Understanding of Android recommended design principles, interface guidelines and best practices for coding
- Extensive hands-on experience of creating custom UI controls, designing protocols, implementing delegate interfaces
- Understanding of fragments and Android XML layouts, and how to create adaptive interfaces that work for multiple device form factors
- Deep understanding of security around data at rest and in-transit such as cert-pinning, keychain storage and payload encryption/decryption
- Experience with performance and memory tuning of complex Apps
- Demonstrated ability to work well with others in a team environment and with geographically distributed teams
- Experience working with Git and CI/CD pipelines
- Experience writing Unit Tests + UI Tests in a way that ensures quality of the application delivered
- Experience with Android Jetpack components and Navigation Graph, Work Manager & Paging
How We Define Success:
- Deliver features to the end user within reasonable timelines.
- Deliver features that work across a range of cases and devices and should introduce minimum breakage under unknown conditions.
- Taking care of non-functional requirements while delivering functional solutions: performance, security and unit testing.
Nice To Have, but Not Required:
- Worked in a product company before
- Experience with GraphQL
- Hands on experience in Multi-threaded programming, RxJava, Coroutines, Dagger 2 and good knowledge of networking concepts
- Showcase 2 live applications on App Store or Play Store, one of which is an enterprise application or a consumer application with over 20k users
- Good understanding in SSL pinning
- Experience in Mockito
Something looks off?