Team Lead - Android/ Kotlin/ Dagger2

  • Gurgaon, Gurgaon, Haryana, India
  • Employees can work remotely
  • Full-time

Company Description

  1. POSITION: Team Lead - Android/ Kotlin/ Dagger2
    ORGANIZATION: Leading E-Commerce/ Internet
    LOCATION: Gurgaon
    EXPERIENCE: 8-12 Yrs
    EDUCATION: B.E./ B.E.
    WFH: WFH till Dec 21 as of now
    MANDATORY: At least 3 consumer apps published on PlayStore, Good in Data Structures. Should be leading a team in current role.
    SKILLSET: Android/ Kotlin/ Dagger2, Design Patterns (MVP/ MVVM/ etc.), Data Structures, Algorithms, App Architecture, Building for different form factors, Memory and Power

Job Description

ROLES AND RESPONSIBILITIES

  • Design, implement the new-user features
  • Responsible for mobile application features, improvements, and product maintenance
  • Collaborate with the design and product teams for product brainstorms, technical design discussions, pair programming sessions, and code reviews
  • Optimize mobile applications and user experience
  • Measure and improve user conversion and usability
  • Write device agnostic performant code

DESIRED SKILLS AND EXPERIENCE:

  • CORE DEVELOPMENT: AppBundles, Activities, Intents and Intent Filters, UI and Navigation, Animations & Transitions, Audio & Video, Images & Graphics, Background Tasks, App Data & Files, User Data & Identity, User Location, Touch & Input, Camera, CameraX, Sensors, Connectivity, Renderscript, Web-Based Content
  • BEST PRACTICES: Dependency Injection, Testing, Performance, Accessibility, Security
  • APP ARCHITECTURE: Separation of concerns, Drive UI from a model, Dependency injection, Service locator, 
  • KOTLIN: Kotlin REPL,  data types, operators, and variables, booleans and conditions, nullable and non-nullable variables, arrays, lists, and loops, Functions, list filters, basic lambdas, and higher-order functions, Classes and objects, inheritance, abstract classes, interfaces, and interface delegation, Extensions, collections, constants, and extension functions, pairs, triples, lists, and hash maps for storing data, extension functions, generic classes, methods, and functions, type hierarchy, Functional manipulation, annotations, labeled breaks, and Single Abstract Methods (SAMs), lambdas and higher-order functions, Kotlin Standard Library, Kotlin-Java interop
  • ADVANCED ANDROID IN KOTLIN: In-app and push notifications, Advanced Graphics, custom views, drawing on a canvas, clipping canvas objects, and using shaders for cool effects, Animation, adding maps to apps, Testing and Dependency Injection, Test Driven Development, source sets, Robolectric, AndroidX, and testing ViewModels and LiveData, Login
  • DAGGER DEPENDENCY INJECTION API: Assisted injection, Hilt, internal model of bindings and the binding graph, multibinding, producers, Service Provider interface (SPI), sub-components, GRPC, Testing, Compiler Options, Dagger 2 Migration
  • MEMORY AND POWER: User Interface, Device Capability, Storage, Battery
  • CORE APP QUALITY: Visual Experience, Functionality, Performance and Stability, Privacy and Security, Play games quality

BACKGROUND KNOWLEDGE:

  • ANDROID API: Jetpack, AndroidX, Databinding Library, Device Libraries, Material Components, Android NDK, Android Gradle Plugin, Google Play, Play In-app Billing Library, Play Core Library, Play Install Referrer library
  • DESIGN FOR ANDROID: Material design guidelines, Material design components, App quality guidelines
  • ANDROID JAVA: Fragments, widgets, and sensors, Performance, network calls, battery use, and data compression,  Android Profiler tools, Localization, Translations Editor, Accessibility, Geo features, Location, Places, Mapping, Advanced graphics and views, Custom views, Canvas, Animations,  Playing video
  • COROUTINES IN COMMON ANDROID USE CASES: Integrating coroutines into your app’s UI, Room, Retrofit, and WorkManager, Threading in CoroutineWorker, use WorkManager with coroutines to schedule asynchronous tasks, Access data with Room data access objects, suspend Kotlin keyword to your DAO methods to make them asynchronous with Kotlin coroutines functionality
  • OTHER: Design Patterns (MVP/ MVVM/ etc.), Data Structures, Algorithms, Project structure, Android Studio, multi-screen app, emulator, activities, user interface, user interaction through click handlers, layouts , RecyclerViews, Run tasks in the background, schedule tasks, trigger events, Android shared preferences, local SQL database, Room database, save, retrieve, and update user data, Android Architecture Components

Qualifications

B.E./ B.Tech.