- 1 million downloads of the mobile app
- About 40% of all accesses to Online Banking done via mobile devices
- 4 star reviews on average in all stores
- Plan and provide appropriate software and documentation
- Coaching / Guiding less experienced developers
- Exposure to technical design and development of customer-oriented mobile application systems on various platforms
- Experience with 4.5-Star Apps with fast-paced release cycles
- Driver of quality indicators, promote the integration of non-functional testing (security, performance, UX) into continuous integration cycle
- Create integration environment, testing and deployment strategies for the Mobile Development Team
- Agile working environment: Work with the Product Owner, Scrum Masters, Dev Team members, UX designers, security specialists and other groups to identify technical and functional needs
- Be able to work in a global environment with mixed teams and mixed cultures at different time zones
- Experience with best industry standards - applying coding guidelines
Must- Minimum 5 years experience hands on on Android development
- Able in designing systems that span multiple technologies/platforms.
- Good In Data Structures - Should be able to suggest which collection to be used based on the requirements. Knows how to use SDK collection facilities (Enumeration, Filtering, Mapping, Reducing, Sorting)
- Advanced knowledge in threading (thread types with Runnable / AsynkTask; thread pool executor; Interrupting safe conditions; Snchronization)
- Knows what Generics are. Understands how and when they can are used. Use generics for reducing the amount of written code and achieve better modularization. Understanding of Reflexion concept.
- Increase Runtime Safety by using generics.
- Knowledge of REST, networking and caching; must be able to know which frameworks can be used at client side. Keep updated with new networking standards (HTTP2). Capable in mocking web interfaces.
- Knowing about security mechanisms (SSL pinning, Data Integrity, HMAC, man in the middle etc). Proficient with KeyStores/Keychains. Knowledge about encryption.
- Base Code obfuscation; Able to treat obfuscation exeptions
- Use caching mechanisms. Able to handle platform limitations.
- Good knowledge working with persistency layers and corresponding persistency frameworks + tools. Shared Preferences, writing to files, assets , SQLite; Serializable/Parcelable, ContentProvider
- Knowledge of design patterns: Adapter, Singleton, Facade, Factory, Observer, Builder, Decorator, MVP, Reactive (represents a plus), Repository, Interactor/Executor
- Ability to build apps with a clean architecture: Knowledge about SOLID Principles.
- Read and write basic shell scripts.
- Very Good knowledge of native SDK: Proficient with Android Studio, Monitoring Tools, Multiple Process Debugging, Backward compatibility, Compiler
- Knows how to write unit tests and UI tests for the corresponding platform. Knows/Experienced with TDD.
- Ability to work with a continuous deployment environment. Takes advantage of continuous deployment in his/her daily work.
- Keep up to date with latest language features. Very good knowledge of Java for Android.
Nice to haveUpper intermediate EN skills
- English: Upper-intermediate