emagine
Android Developer
emaginePortugal23 hours ago
Full-timeRemote FriendlyEngineering

We are opening a new opportunity for Android Developer to join our dynamic team and contribute to ongoing initiatives. You will collaborate closely with cross-functional teams to design, develop, and maintain high-quality Android applications that deliver great user experiences.

The model is hybrid in Porto, Lisbon, or Braga.


Responsibilities

  • Design, develop, and maintain Android applications using Kotlin (and basic Java).
  • Implement responsive and modern user interfaces with Jetpack Compose, XML, and Material Design Components.
  • Apply MVVM, MVI, and Clean Architecture principles to ensure scalable and maintainable codebases.
  • Integrate and manage Jetpack Libraries (AndroidX) such as Navigation, StateFlow, and ViewModel.
  • Work with REST APIs using Retrofit and OkHttp for efficient network communication.
  • Implement Dependency Injection with Dagger/Hilt.
  • Handle asynchronous programming with Kotlin Coroutines + Flow (preferred) or RxJava/RxKotlin.
  • Manage local data with Room, DataStore, SharedPreferences, and EncryptedSharedPreferences.
  • Monitor and analyze app performance using Firebase Analytics and Crashlytics.
  • Participate in CI/CD processes and manage beta releases via Firebase App Distribution.
  • Collaborate within an agile environment, contributing to planning, reviews, and retrospectives.


Must-have skills:

  • Proven experience developing Android applications (Mid or Senior level).
  • Strong proficiency in Kotlin and familiarity with Java.
  • Hands-on experience with Android Studio and Gradle.
  • Experience with Jetpack Compose and Material Design.
  • Strong understanding of MVVM/MVI/Clean Architecture.
  • Experience with Retrofit, OkHttp, and Dagger/Hilt.
  • Good understanding of asynchronous programming using Coroutines or RxJava.
  • Familiarity with Room, Firebase, and CI/CD pipelines.
  • English level B2 or higher.


Nice-to-have

  • Experience with secure data storage (EncryptedSharedPreferences).
  • Familiarity with testing frameworks for Android (JUnit, Espresso, etc.).
  • Knowledge of Git, code reviews, and agile methodologies.

Key Skills

Ranked by relevance