Job Description
Primary Duties
- Designing, coding, and debugging of applications in various software programming languages having special skills & expertise in Android (Java).
- Work closely with the senior Android developers and product development team to discuss and implement new features.
- Champion the app and ensure Android’s latest features are utilized where it makes sense.
- Contribute to the product strategy and vision based on Android best practices, user feedback, and analytics.
- Coordinate with the web and iOS team members to ensure alignment of feature and UI implementations.
Professional Requirements
- Experience writing code in Android with Kotlin or Java.
- Familiarity with the agile & scrum software development process.
- Ability to be highly effective working on your own or part of a team.
- Ability to solve and/or Google problems.
- Excellent communication skills in English, both spoken and written.
- At least BS in Software Engineering or equivalent from a HEC recognized university.
Technical Requirements
- An understanding of the fundamentals of the Android framework (lifecycle, activities, fragments, etc.)
- Understanding of communication patterns such as MVVM, MVP, etc.
- Experience using REST web services with JSON data payloads
- Experience with version control systems such as Git
Nice To Haves
- Having experience in cross platform technologies i.e. Flutter is a big plus.
- Familiarity with many of the Android Jetpack components, such as ROOM, Navigation, etc.
- An understanding of dependency injection frameworks, such as Dagger
- Understanding of reactive streams such as RxJava or Kotlin Flow
- Familiarity with Kotlin coroutines, Jetpack Compose
- Experience using the Android Studio profiler to find performance issues and memory leaks