Become a member of our openminded progressive and professional team. In this role you will be working on projects for one our world famous clients. You will have a chance to grow your technical and soft skills and build a thorough expertise of the industry of our client.
Role description:
- Design and develop based on REST APIs customeroriented mobile apps for the Bank in an Agile environment;
- Plan and provide appropriate software and documentation;
- Coaching / Guiding less experienced developers;
- Exposure to technical design and development of customeroriented mobile application systems on various platforms;
- Experience with 4.5Star Apps with fastpaced release cycles;
- Driver of quality indicators promote the integration of nonfunctional 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.
Qualifications:
- 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);
- Knowledge in threading (RxJava/Coroutines; thread pool executor; Interrupting safe conditions; Synchronization);
- 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 exceptions;
- Use caching mechanisms. Able to handle platform limitations;
- 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;
- 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;
- Good knowledge of Kotlin for Android;
- Experience with Jetpack Compose and MVI architecture is a plus.