Senior Engineer, Android

Deutsche Bank UK

Bucharest, Romania
Kotlin: functions and lambdas, collections, generics, coroutines, reflection
Reactive programming (rxkotlin, rxjava)
Mvvm architectural pattern
Engineer is responsible for managing or performing work across multiple areas of the bank's overall IT Platform/Infrastructure including analysis, development, and administration

Job Summary

  • Engineer is responsible for managing or performing work across multiple areas of the bank's overall IT Platform/Infrastructure including analysis, development, and administration.
  • Driver of quality indicators, promote the integration of non-functional testing (security, performance, UX) into continuous integration cycle.
  • 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.

Matching Summary

Engineer is responsible for managing or performing work across multiple areas of the bank's overall IT Platform/Infrastructure including analysis, development, and administration.

Skills & Requirements

Must-have

  • Kotlin: functions and lambdas, collections, generics, coroutines, reflection
  • reactive programming (rxKotlin, rxJava)
  • MVVM architectural pattern
  • Clean Architecture, SOLID Principles
  • design patterns: Adapter, Singleton, Facade, Factory, Observer, Decorator
  • Dependency Injection
  • Android Studio: Debugger, Logger, Layout Editor, Profiler, Device File Explorer
  • unit tests: JUnit 5
  • REST, Retrofit
  • network calls caching
  • persistency layers: Shared Preferences, local files, Room, Parcelable
  • security mechanisms: Keystore, SSL pinning, encryption
  • analytics and interpreting metrics
  • code quality tools: lint, sonarqube, veracode
  • Gradle knowledge
  • continuous integration environment: Teamcity, Artifactory, AppCenter
  • hardening mechanisms: ProGuard, DexGuard
  • basic shell scripts

Nice-to-have

  • Coaching less experienced developers
  • technical design and development
  • customer-oriented mobile application systems
  • 4.5-Star Apps with fast-paced release cycles
  • integration of non-functional testing
  • Agile working environment
  • Java knowledge
  • Dagger experience
  • JUnit 4
  • Volley library
  • global environment with mixed teams and cultures
  • best industry standards – applying coding guidelines

Key Requirements

  • Experience with best industry standards
  • Strong knowledge of Kotlin
  • Good knowledge of Java
  • Strong knowledge of reactive programming
  • Experience with asynchronous programming
  • Strong knowledge of the MVVM architectural pattern
  • Experience with Clean Architecture, knowledge about SOLID Principles
  • Knowledge of design patterns
  • Strong knowledge of Dependency Injection
  • Proficient in Android Studio
  • Writes exhaustive unit tests: JUnit 5
  • Knowledge of REST and following libraries: Retrofit
  • Good knowledge working with persistency layers
  • Experience with security mechanisms
  • Experience with implementing analytics and interpreting metrics
  • Experience with code quality tools
  • Gradle knowledge
  • Ability to work with a continuous integration environment
  • Experience with hardening mechanisms
  • Read and write basic shell scripts

Work Rights

Not specified

Tailored Resume

Cover Letter