I

Android Developer

Impactyn
Full-time
On-site
Cairo, Cairo, Egypt

Role Brief:

As a member of our team, your core responsibilities will include designing and coding the base application, ensuring its quality, fixing bugs, maintaining code, and implementing updates for our Android mobile version.

Responsibilities:

  • Contribute to the Android application development cycle by engaging in tasks such as system architecture, module design, and quality assurance.
  • Collaborate closely with the product team to delineate app features.
  • Translate complex designs into reliable, reusable, and readable code.
  • Employ best engineering practices and automated continuous integration and delivery methodologies within an Agile environment.
  • Participate actively in validating user requirements, estimating necessary efforts, and devising release plans.
  • Assist in upholding code quality, organization, and automation.
  • Continuously explore, assess, and integrate new technologies to optimize development efficiency.

Requirements for this Position:

  • Bachelor's degree in Computer Science, Software Engineering, or a related field.
  • At least 3 years of software development experience.
  • Language: Android, Kotlin (Java is plus).
  • Strong knowledge of Android SDK, different versions of Android, and how to deal with different screen sizes.
  • Familiarity with RESTful APIs to connect Android applications to back-end services.
  • Strong knowledge of Android UI design principles, patterns, and best practices.
  • Experience with offline storage, threading, and performance tuning.
  • Familiarity with cloud message APIs and push notifications.
  • Understanding of Google’s Android design principles and interface guidelines.
  • Proficient understanding of code versioning tools, such as Git.
  • Nice to have some experience with Jetpack Compose.
  • Solid understanding of software architecture concepts employing MVVM, MVP, MVI ,and Clean Architecture.
  • Extensive experience with Agile development processes and Scrum.
  • Demonstrable experience using Dagger 2 or Hilt to create projects that employ dependency injection.
  • Practical knowledge of ViewModel, LiveData, Paging, Navigation, SafeArgs, Retrofit2, RxJava2(multi-module applications).
  • Strong understanding of interactive application development paradigm under Android, memory management, file I/O, network programming, concurrency, coroutines / live data.
  • At least 2 deployed applications on the App store.