About The Job
We are a digitally native technology services company where innovation, design and engineering meet scale. We use some of the latest technologies in the digital and cognitive field to empower organizations in every aspect.
Right now, we are looking for Android Developer, in Sheffield , UK
We are seeking a highly skilled Android Developer with extensive experience in Kotlin and modern Android development frameworks. The ideal candidate will have a deep understanding of Android app architecture, design patterns, and best practices. This role requires a strong focus on delivering high-quality, maintainable code, and a passion for staying current with the latest technologies in mobile development.
Must-Have Skills
- Kotlin: Proficient in Kotlin programming language
- Jetpack Compose: Experience in building UIs using Jetpack Compose
- Framework: Strong understanding of Android framework and its components
- SOLID Principles: Deep understanding and application of SOLID principles
- Coroutine and Coroutine Scopes: Proficient in using coroutines for asynchronous programming
- Data Classes & Sealed Classes: Expertise in using data and sealed classes
- Extension Functions: Experience in creating and using extension functions
- Flow: Proficient in using Flow for reactive programming
- Collections: Strong understanding of Kotlin collections and their operations
- Higher-Order Functions: Skilled in creating and using higher-order functions
- Dependency Framework: Proficiency with dependency injection frameworks (e.g., Dagger, Hilt)
- Memory Management: Strong understanding of Android memory management techniques
- Networking: Experience with networking concepts and libraries (e.g., Retrofit, OkHttp)
- Adapter: Proficient in implementing the Adapter design pattern
- Builder: Experience with the Builder design pattern
- Singleton: Strong understanding and implementation of Singleton design pattern
- MVVM: Experience with Model-View-ViewModel (MVVM) architecture
Good-to-Have Skills
- Redux: Understanding of Redux architecture and its application
- Accessibility: Knowledge of accessibility best practices in Android development
- Unit, UI, Snapshot Testing: Experience with various testing methodologies, including unit, UI, and snapshot testing
- Declarative vs. Imperative Programming: Understanding of the differences between declarative and imperative programming paradigms
- Reactive Programming: Knowledge of reactive programming principles
- Security: Awareness of Android security best practices
- Abstract Factory: Familiarity with the Abstract Factory design pattern
- State Machine: Understanding of state machine design pattern and its use cases
- CLEAN Architecture: Awareness and understanding of CLEAN architecture principles
- Environment Management: Familiarity with managing different development environments
- Remote Feature Management: Understanding of remote feature management techniques
- Theme Management: Experience in managing themes in Android applications
- Data Externalization: Knowledge of externalizing data from code
- Problem Solving: Strong problem-solving skills and ability to debug complex issues
Job Segment: Developer, Testing, Engineer, Information Technology, Programmer, Technology, Engineering