Skip to content
All tech roadmaps

Software Development

Mobile Development

Mobile engineers work under constraints the web mostly ignores: unreliable connections, limited battery, small screens and app store review. That constraint is the craft, and it is why mobile apps that work well feel noticeably better than the sites they replaced.

4 stages2 projectsBeginner friendly6 to 9 months, part time

Start here

Start at Stage 1. If you already know JavaScript, the cross-platform route in Stage 2 will take you to a working app fastest.

01

Programming foundations

Mobile adds constraints on top of ordinary programming. Get the ordinary part first.

Required

Programming fundamentals

Every route below assumes you can already express logic in code.

What to learn

  • Types and control flow
  • Functions
  • Data structures
  • Async and callbacks
  • Git

Next: Choosing a platform.

Required

How mobile differs

The constraints, not the syntax, are what make mobile a different discipline.

What to learn

  • Lifecycle and background states
  • Permissions
  • Unreliable networks
  • Battery and data cost
  • Touch targets and small screens

Practice

Use a favourite app in aeroplane mode. Write down every place it handles being offline badly.

Next: A platform.

02

Choose a platform

This is the decision that shapes the rest of the path. All three routes lead to employment.

Choose one route and commit.

Cross-platform reaches both stores fastest and dominates the local freelance market. Native gives the deepest control and the strongest platform-specific roles.

Pick one

React Native

If you know React, you are most of the way there already, and one codebase covers both stores.

What to learn

  • Components and navigation
  • Native modules in outline
  • Platform-specific code
  • Expo versus bare workflow

Tools

  • React Native
  • Expo
  • TypeScript

First understand

  • JavaScript
  • React

Next: State and data.

Pick one

Flutter

Excellent performance and a genuinely consistent look across platforms. Growing fast in the region.

What to learn

  • Dart
  • Widgets and composition
  • Navigation
  • State management

Tools

  • Flutter
  • Dart

Next: State and data.

Pick one

Native Android or iOS

The deepest platform access and often the highest-paid mobile roles, at the cost of covering one platform at a time.

What to learn

  • Kotlin and Jetpack Compose, or Swift and SwiftUI
  • Platform lifecycle
  • Platform design guidelines

Tools

  • Android Studio and Kotlin
  • or Xcode and Swift

Next: State and data.

03

The core of an app

What every application needs regardless of the route you chose.

Required

Interface and state

Mobile state is harder than web state, because the operating system can suspend or kill your app at any moment.

What to learn

  • Layout for varied screen sizes
  • Navigation patterns
  • Managing state
  • Handling rotation and suspension
  • Lists that stay smooth

Practice

Build a screen with a list of 10,000 items that scrolls without stuttering.

Project

beginner

A single-purpose app

An app that does one thing well: a habit tracker, a bus timetable, an expense log. Local storage only, no backend.

  • Your chosen platform

You have an app running on a real device that you use yourself.

Next: Talking to a server.

Required

Networking and local data

Assuming a connection is the single most common mistake in apps built for markets with patchy data.

What to learn

  • Consuming APIs
  • Local databases
  • Caching and offline-first
  • Sync and conflict resolution
  • Retry and backoff

Tools

  • SQLite or the platform equivalent
  • An HTTP client

Practice

Make your app fully usable offline, then reconcile changes when the connection returns.

Next: Device capabilities.

Recommended

Device features

Camera, location and notifications are what make an app worth installing rather than bookmarking.

What to learn

  • Permissions done respectfully
  • Camera and media
  • Location
  • Push notifications
  • Deep links

Next: Shipping to a store.

04

Getting it into people's hands

The stage that surprises people, because it has almost nothing to do with code.

Required

Store release

An app that never passes review does not exist. The process has real rules and real rejection reasons.

What to learn

  • Signing and certificates
  • Store listings and screenshots
  • Review guidelines
  • Staged rollout
  • Versioning and forced updates

Tools

  • Google Play Console
  • App Store Connect

Next: Testing and quality.

Required

Testing and crash reporting

You cannot reach into a user's phone to debug. Crash reports are the only visibility you get.

What to learn

  • Unit and widget tests
  • Testing on real low-end devices
  • Crash reporting
  • Reading a stack trace from the wild
  • Beta channels

Tools

  • A crash reporting service
  • TestFlight or Play internal testing

Practice

Test on the cheapest Android device you can borrow. Fix whatever is unusable.

Project

advanced

A published app with a backend

An app with accounts, server-synced data, offline support, push notifications, and crash reporting, published to at least one store.

  • Your platform
  • A backend service
  • A crash reporter

Someone who is not you has installed your app from a store and used it offline.

Where this leads

You do not have to pick one now. These are the directions this path opens up once you are working.

You do not have to do this alone

Our programs are free, taught live, and built around the same progression. Join one and work through it alongside other people.