Dev Skill Programme
Developer E

Developer E · Mobile

Frontend for mobile: native iOS (Swift, SwiftUI) and Android (Kotlin, Compose), from app lifecycle to store release.

Verified level

BProficient★High confidence

Reviewed 2 months ago by Developer D.

Self assessment

AAdvanced

Above the verified level — waiting on an owner review.

Target

BA

1 level(s) to go.

Checklist

0/24

Nothing flagged.

Assessment history (2)

  1. Verified gradeBProficientQ&A 82.9%High confidence25 Aug 2026

    Good grasp of the concepts, and explains the happy path well. Could not yet talk through the failure modes without help.

    Q&A — 18 questions
    • CorrectWhat are the main states of a mobile app lifecycle, and why do they matter? · Mobile fundamentals · Basic 1pt
    • CorrectWhy must long-running work never run on the main (UI) thread? · Mobile fundamentals · Basic 1pt
    • CorrectWhat is an optional in Swift, and what are safe ways to unwrap it? · iOS · Basic 1pt
    • CorrectWhat is the difference between a struct and a class in Swift? · iOS · Basic 1pt
    • CorrectHow does Kotlin handle null safety? · Android · Basic 1pt
    • CorrectWhat happens to an Activity on a configuration change such as rotation, and how do you keep data? · Android · Basic 1pt
    • CorrectHow do you handle an unreliable network in a mobile app? · Mobile fundamentals · Intermediate 2pt
    • CorrectExplain `@State`, `@Binding` and `@Observable` / `@StateObject` in SwiftUI. · iOS · Intermediate 2pt
    • CorrectHow do you make a network request with async/await and update the UI safely? · iOS · Intermediate 2pt
    • CorrectWhat is a retain cycle and how do you avoid one with closures? · iOS · Intermediate 2pt
    • CorrectWhat is recomposition in Jetpack Compose, and why hoist state? · Android · Intermediate 2pt
    • CorrectDescribe MVVM on Android: what belongs in the ViewModel and what in the repository? · Android · Intermediate 2pt
    • CorrectWhat is structured concurrency with coroutines, and why use `viewModelScope`? · Android · Intermediate 2pt
    • CorrectHow do you release a mobile app safely, given users update slowly? · Mobile fundamentals · Advanced 3pt
    • CorrectWhat problems do actors and `@MainActor` solve in Swift concurrency? · iOS · Advanced 3pt
    • CorrectExplain certificates, provisioning profiles and how an app gets onto TestFlight. · iOS · Advanced 3pt
    • WrongExplain cold vs hot flows, and the difference between `StateFlow` and `SharedFlow`. · Android · Advanced 3pt
    • WrongHow do you sign and release an app on Google Play, and how does a staged rollout help? · Android · Advanced 3pt

    Dimensions

    • KnowledgeB
    • ImplementationB
    • Code UnderstandingB
    • DebuggingB
    • DesignB
    • CommunicationB

    Independence from AI

    Can explain AI-generated codeYes
    Can modify AI-generated codeYes
    Can identify incorrect AI-generated codeYes
    Can debug without AIYes
    Can make technical decisions without blindly following AIYes

    Understands and controls the solution (100%).

    Evidence cited (5)

    • Real project contribution
    • Debugging task
    • Code review
    • Architecture explanation
    • Knowledge questions
    Weak areas
    Concurrency, local persistence and configuration-change handling.
    Recommended learning
    Move one screen to async/await (iOS) or a StateFlow-driven ViewModel (Android).

    Assessor: Developer D· Skill owner review

  2. Self assessmentAAdvanced20 Aug 2026

    Primary skill — day-to-day work in this area.

    Dimensions

    • KnowledgeA
    • ImplementationA
    • Code UnderstandingA
    • DebuggingA
    • DesignA
    • CommunicationA

    Recorded by the member· Self assessment

Append-only — a new assessment never overwrites an old one.