Description
Engineer is responsible for managing or performing work across multiple areas of the bank's overall IT Platform / Infrastructure including analysis, development, and administration. It may also involve taking functional oversight of engineering delivery for specific departments.
Your key responsibilities :
- Plan and provide appropriate software documentation
- Coaching / Guiding less experienced developers
- Exposure to technical design and development of customer-oriented mobile application systems on various platforms (iOS, REST APIs)
- 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
Your skills and experience :
Be able to work in a global environment with mixed teams and mixed cultures at different time zonesExperience with best industry standards – applying coding guidelinesStrong knowledge of Kotlin : functions and lambdas, collections, generics, coroutines, reflectionGood knowledge of JavaStrong knowledge of reactive programming (rxKotlin, rxJava)Experience with asynchronous programmingStrong knowledge of the MVVM architectural patternExperience with Clean Architecture, knowledge about SOLID PrinciplesKnowledge of design patterns : Adapter, Singleton, Facade, Factory, Observer, DecoratorStrong knowledge of Dependency Injection; Dagger experience (nice to have)Proficient in Android Studio : Debugger, Logger, Layout Editor, Profiler, Device File ExplorerWrites exhaustive unit tests : JUnit 5 (must have), JUnit 4 (nice to have), MockitoKnowledge of REST and following libraries : Retrofit (must have), Volley (nice to have); knowledge of network calls cachingGood knowledge working with persistency layers : Shared Preferences, local files, Room, ParcelableExperience with security mechanisms : Keystore, SSL pinning, encryption (AES, Diffie-Hellman), Man in the MiddleExperience with implementing analytics and interpreting metricsExperience with code quality tools : lint, sonarqube, veracodeGradle knowledge; experience with writing gradle scriptsAbility to work with a continuous integration environment : experience with Teamcity (or similar), Artifactory (or similar), AppCenter (or similar)Experience with hardening mechanisms : ProGuard, DexGuard (or similar)Read and write basic shell scripts.You can expect :
24 days’ holiday + loyalty days + bank holidays (week days offered for bank holidays on weekend days);
Flexible working hours and working from home;
Private healthcare and life insurance;
A culture of continuous learning with coaching and support from experts in your team.
We strive for a in which we are empowered to excel together every day. This includes acting responsibly, thinking commercially, taking initiative and working collaboratively.
Together we share and celebrate the successes of our people. Together we are Deutsche Bank Group.
We welcome applications from all people and promote a positive, fair and inclusive work environment.