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 zones
Experience with best industry standards – applying coding guidelines
Strong knowledge of Kotlin: functions and lambdas, collections, generics, coroutines, reflection
Good knowledge of Java
Strong knowledge of reactive programming (rxKotlin, rxJava)
Experience with asynchronous programming
Strong knowledge of the MVVM architectural pattern
Experience with Clean Architecture, knowledge about SOLID Principles
Knowledge of design patterns: Adapter, Singleton, Facade, Factory, Observer, Decorator
Strong knowledge of Dependency Injection; Dagger experience (nice to have)
Proficient in Android Studio: Debugger, Logger, Layout Editor, Profiler, Device File Explorer
Writes exhaustive unit tests: JUnit 5 (must have), JUnit 4 (nice to have), Mockito
Knowledge of REST and following libraries: Retrofit (must have), Volley (nice to have); knowledge of network calls caching
Good knowledge working with persistency layers: Shared Preferences, local files, Room, Parcelable
Experience with security mechanisms: Keystore, SSL pinning, encryption (AES, Diffie-Hellman), Man in the Middle
Experience with implementing analytics and interpreting metrics
Experience with code quality tools: lint, sonarqube, veracode
Gradle knowledge; experience with writing gradle scripts
Ability 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 culture 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.
How strong is your resume?
Upload your resume and get feedback from our expert to help land this job
How strong is your resume?
Upload your resume and get feedback from our expert to help land this job