Browse by

Topics

Click a topic to filter the posts below.

2 min read

Steve Jobs: Product Taste and a Genuinely Contested Management Style

Steve Jobs: Product Taste and a Genuinely Contested Management Style Steve Jobs's influence on how technology products are designed and marketed is hard to

Leadership
Aug 1, 2026 Read →
2 min read

Ginni Rometty: Leading a Legacy Company Through Reinvention

Ginni Rometty: Leading a Legacy Company Through Reinvention Ginni Rometty became IBM's CEO in 2012 and spent much of her tenure steering the company

Leadership
Jul 31, 2026 Read →
2 min read

Lisa Su: Technical Credibility as a Leadership Foundation

Lisa Su: Technical Credibility as a Leadership Foundation When Lisa Su became AMD's CEO in 2014, the company was in genuinely dire financial condition,

Leadership
Jul 31, 2026 Read →
2 min read

Marc Benioff: Leadership Built Around Stakeholder Obligation

Marc Benioff: Leadership Built Around Stakeholder Obligation Marc Benioff has framed Salesforce's culture around a specific, formalized commitment since the company's earliest

Leadership
Jul 30, 2026 Read →
2 min read

Tim Cook: Succeeding a Visionary by Not Imitating Him

Tim Cook: Succeeding a Visionary by Not Imitating Him When Tim Cook became Apple's CEO in 2011, following Steve Jobs, the widely voiced concern

Leadership
Jul 30, 2026 Read →
2 min read

Sheryl Sandberg: Operational Rigor Meets Candid Mentorship

Sheryl Sandberg: Operational Rigor Meets Candid Mentorship Before Lean In made Sheryl Sandberg a widely recognized name beyond tech, she'd already built a reputation

Leadership
Jul 29, 2026 Read →
2 min read

Sundar Pichai: Leading Through Consensus, Not Charisma

Sundar Pichai: Leading Through Consensus, Not Charisma Sundar Pichai's rise through Google — from leading Chrome and Android to becoming CEO of Google and later

Leadership
Jul 29, 2026 Read →
2 min read

Jeff Bezos: Staying in "Day 1" on Purpose

Jeff Bezos: Staying in "Day 1" on Purpose Jeff Bezos's annual shareholder letters, written every year of his time as Amazon'

Leadership
Jul 28, 2026 Read →
2 min read

Lesson 30: Publishing Your App to the Google Play Store

Publishing Your App to the Google Play Store This is it — the last step. You've built a complete app across 29 lessons; let'

Android Beginners
Jul 28, 2026 Read →
1 min read

Lesson 29: Signing Your App and Creating a Release Build

Signing Your App and Creating a Release Build Every app installed on a real device must be cryptographically signed. Here's how to generate your

Android Beginners
Jul 28, 2026 Read →
1 min read

Lesson 28: App Icons, Themes, and Preparing for Release

App Icons, Themes, and Preparing for Release Your app works. Before publishing it, let's make it look like a finished product rather than a

Android Beginners
Jul 28, 2026 Read →
1 min read

Lesson 27: Testing Your App: Basics of Unit Testing

Testing Your App: Basics of Unit Testing You've built a real app across the last 26 lessons. Now let's make sure it

Android Beginners
Jul 28, 2026 Read →
1 min read

Lesson 26: Background Work: Introduction to WorkManager

Background Work: Introduction to WorkManager Say we want to sync tasks with a server periodically, even when the app isn't open. That's

Android Beginners
Jul 28, 2026 Read →
1 min read

Lesson 25: Images and Media: Loading Images with Coil

Images and Media: Loading Images with Coil Back in lesson 10, we noted Compose's core library can't load images from a URL.

Android Beginners
Jul 28, 2026 Read →
1 min read

Lesson 24: Handling Permissions in Android

Handling Permissions in Android Some features — camera, precise location, notifications — require the user's explicit permission, requested at runtime rather than just declared upfront. Step

Android Beginners
Jul 28, 2026 Read →
1 min read

Lesson 23: Combining Room and ViewModel

Combining Room and ViewModel Let's make tasks genuinely persistent by connecting the Room database from lesson 22 to a ViewModel. The ViewModel, observing the

Android Beginners
Jul 28, 2026 Read →
1 min read

Lesson 22: Local Storage: Introduction to Room Database

Local Storage: Introduction to Room Database Right now, close the app and your tasks vanish — everything lives only in memory. Room gives you a real local

Android Beginners
Jul 28, 2026 Read →
1 min read

Lesson 21: Displaying Network Data in a List

Displaying Network Data in a List Let's finish the networking flow properly, with the three states every network-backed screen actually needs: loading, error,

Android Beginners
Jul 28, 2026 Read →
1 min read

Lesson 20: Working with JSON and Data Models

Working with JSON and Data Models Our TaskApi from lesson 19 returns a list of TaskDto — let's define that properly and understand why it&

Android Beginners
Jul 28, 2026 Read →
1 min read

Lesson 19: Making Network Requests: Introduction to Retrofit

Making Network Requests: Introduction to Retrofit Time to fetch real data from an actual API instead of hardcoded lists. We'll use Retrofit, the standard

Android Beginners
Jul 28, 2026 Read →
1 min read

Lesson 18: Understanding App Architecture: MVVM for Beginners

Understanding App Architecture: MVVM for Beginners The pattern we've been building toward has a name: MVVM (Model-View-ViewModel). You don't need

Android Beginners
Jul 28, 2026 Read →
1 min read

Lesson 17: Introduction to ViewModel

Introduction to ViewModel A ViewModel holds UI-related data and survives configuration changes (like screen rotation) that would otherwise destroy and recreate your Activity, along with

Android Beginners
Jul 28, 2026 Read →
1 min read

Lesson 16: Passing Data Between Screens

Passing Data Between Screens In lesson 15 we passed a simple taskId: Int between screens. That's actually the correct pattern — here's why,

Android Beginners
Jul 28, 2026 Read →
1 min read

Lesson 15: Navigating Between Screens

Navigating Between Screens So far we've only had one screen. Real apps need several. Let's add Navigation Compose so tapping a task

Android Beginners
Jul 28, 2026 Read →
1 min read

Lesson 14: Lists in Compose: LazyColumn and LazyRow

Lists in Compose: LazyColumn and LazyRow Our task list app needs to show a list of tasks. A plain Column would technically work, but it renders

Android Beginners
Jul 28, 2026 Read →
1 min read

Lesson 13: Building a Simple Interactive Screen (Counter App)

Building a Simple Interactive Screen (Counter App) Let's combine everything from lessons 6–12 into one complete, working screen. @Composable fun CounterScreen() { var count

Android Beginners
Jul 28, 2026 Read →
1 min read

Lesson 12: State in Compose: remember and mutableStateOf

State in Compose: remember and mutableStateOf This is the most important lesson in the entire course. Everything from here forward depends on understanding this properly. The

Android Beginners
Jul 28, 2026 Read →
1 min read

Lesson 11: Buttons and Handling User Input

Buttons and Handling User Input Time to make something interactive. Compose gives you several built-in input components — let's cover the two you'

Android Beginners
Jul 28, 2026 Read →
1 min read

Lesson 10: Displaying Text and Images

Displaying Text and Images We've used Text a lot already. Let's cover it properly, then add images. Styling text Text( text = "

Android Beginners
Jul 28, 2026 Read →
1 min read

Lesson 9: Modifiers: Styling and Spacing in Compose

Modifiers: Styling and Spacing in Compose Every composable accepts a modifier parameter — it's how you control padding, size, background color, click behavior, and much

Android Beginners
Jul 28, 2026 Read →
1 min read

Lesson 8: Layouts in Compose: Column, Row, and Box

Layouts in Compose: Column, Row, and Box Almost every screen you'll ever build is some combination of three layout composables. Learn these well — they&

Android Beginners
Jul 28, 2026 Read →
1 min read

Lesson 7: Understanding Activities and the App Lifecycle

Understanding Activities and the App Lifecycle MainActivity extends ComponentActivity — but what actually is an Activity, and why does onCreate exist? What an Activity is An Activity

Android Beginners
Jul 28, 2026 Read →
1 min read

Lesson 6: Your First Composable Function

Your First Composable Function Time to write real code. Open MainActivity.kt and replace its contents with this: package com.example.tasklist import android.os.Bundle

Android Beginners
Jul 28, 2026 Read →
1 min read

Lesson 5: What Is Jetpack Compose, and Why Are We Using It?

What Is Jetpack Compose, and Why Are We Using It? Before we write code, it's worth understanding what Compose actually is and why this

Android Beginners
Jul 28, 2026 Read →
1 min read

Lesson 4: The Kotlin You Need Before Writing Compose

The Kotlin You Need Before Writing Compose Before we write our first real screen in the next lesson, let's make sure the Kotlin fundamentals

Android Beginners
Jul 28, 2026 Read →
1 min read

Lesson 3: Understanding the Anatomy of an Android Project

Understanding the Anatomy of an Android Project Your new project has a lot of generated files. You don't need to understand all of it

Android Beginners
Jul 28, 2026 Read →
1 min read

Lesson 2: Setting Up Android Studio and Your First Project

Setting Up Android Studio and Your First Project Everything in Android development happens inside Android Studio, Google's official IDE. Let's get it

Android Beginners
Jul 28, 2026 Read →
1 min read

Lesson 1: Welcome to Android Development

Welcome to Android Development This is lesson 1 of a 30-part course that takes you from a completely empty Android Studio project to a real

Android Beginners
Jul 28, 2026 Read →
2 min read

Reed Hastings: Freedom, Responsibility, and the "Keeper Test"

Reed Hastings: Freedom, Responsibility, and the "Keeper Test" Netflix's internal culture deck — later expanded into Reed Hastings's book No Rules

Leadership
Jul 28, 2026 Read →
2 min read

Andy Grove: Management as a Rigorous, Learnable Discipline

Andy Grove: Management as a Rigorous, Learnable Discipline Andy Grove led Intel through some of the most consequential decisions in the company's history, including

Leadership
Jul 27, 2026 Read →
2 min read

Satya Nadella: Rebuilding a Culture Around Growth Mindset

Satya Nadella: Rebuilding a Culture Around Growth Mindset When Satya Nadella became Microsoft's CEO in 2014, he inherited a company widely seen as internally

Leadership
Jul 27, 2026 Read →
4 min read

How Lean Startup Applies to Mobile Apps

Lean Startup Was Written for the Web. Mobile Breaks Some of Its Assumptions. Eric Ries's Lean Startup methodology is built around one core loop:

Agile
Jul 27, 2026 Read →
4 min read

How to Structure Your Android App to Work With AI Agents

Building for Agents Is an Architecture Decision, Not a Feature Bolt-On If your app's business logic already lives buried inside ViewModels or, worse,

AI
Jul 27, 2026 Read →
5 min read

Implementing Micro Frontends in Android with Compose and Multi-Module Libraries

Translating Micro Frontends to Android Cam Jackson's Micro Frontends article on martinfowler.com defines the pattern as independently deliverable frontend applications composed into a

Compose Coding
Jul 26, 2026 Read →
4 min read

AI Agents and Android: The 2026 Landscape

Android Is Becoming an Intelligence System, Not Just an Operating System Google's own framing for 2026 is blunt about it: Android is shifting from

AI
Jul 26, 2026 Read →
4 min read

How to Be the Best Lead Mobile Developer

Lead Mobile Developer Is Its Own Discipline, Not "Senior Plus Meetings" Mobile leadership has a specific texture that generic engineering leadership advice misses: you&

Leadership
Jul 26, 2026 Read →
5 min read

Agile vs. Waterfall: A Full Guide to Scrum, Kanban, and XP

Agile vs. Waterfall — and What "Agile" Actually Means in Practice "We're Agile" is one of the most overused and under-

Agile
Jul 26, 2026 Read →
4 min read

How to Go From Senior to Lead: A Practical Roadmap

The Jump Nobody Explains Well Most engineers get told, at some point, that going from Senior to Lead is "about more than just code."

Coding
Jul 26, 2026 Read →
3 min read

Book Review: Cracking the Tech Career by Gayle Laakmann McDowell

Book Review: Cracking the Tech Career If you've prepped for a coding interview in the last decade, you've probably run into Gayle

Coding
Jul 26, 2026 Read →
3 min read

Designing an Offline-First Android App: A System Design Case Study

Offline-First Isn't a Feature — It's an Architecture "Add offline support" is one of the most commonly underestimated asks in

Coding
Jul 26, 2026 Read →
4 min read

Android System Design Interview Questions & Answers

Android System Design Interview: Questions & Answers Android system design interviews reward structured thinking more than a "correct" answer. The questions below are the

Coding
Jul 26, 2026 Read →
3 min read

System Design Fundamentals for Android Engineers

System Design Isn't Just a Backend Discipline "System design" usually conjures load balancers and database sharding. But a production Android app is

Coding
Jul 26, 2026 Read →
2 min read

Clean Architecture for Android: Structuring a Kotlin Codebase That Scales

Clean Architecture, Minus the Dogma "Clean Architecture" gets a bad reputation for producing 40 files to fetch a list of users. Used pragmatically, though,

Coding
Jul 26, 2026 Read →
5 min read

Migrating Android Navigation: XML to Navigation Compose, Then Navigation 2 to Navigation 3

Two Migrations, One Destination Android navigation has gone through three real eras: XML + Fragments, Navigation Compose ("Nav 2"), and now Navigation 3 — a ground-

Compose Coding
Jul 26, 2026 Read →
1 min read

Animations in Jetpack Compose: From Basics to Shared Element Transitions

Compose Makes Good Animation the Path of Least Resistance Animation in the old View system usually meant ObjectAnimator, XML animator resources, or reaching for a library.

Compose
Jul 26, 2026 Read →
2 min read

Kotlin Coroutines vs Dart's async/await: A Practical Comparison

Same Problem, Different Concurrency Models If you split your time between a Kotlin/KMM codebase and a Flutter one, it's easy to assume suspend

Coding
Jul 26, 2026 Read →
2 min read

Building a Shared Networking Layer in KMM with Ktor

One Networking Layer, Both Platforms The single highest-leverage module to share in a KMM app is networking. It's pure logic, has no UI

Coding
Jul 26, 2026 Read →
1 min read

State Management in Flutter: Provider vs Riverpod vs Bloc

There's No Single "Right" Answer — Only the Right Fit for Your Team Flutter deliberately doesn't ship an opinionated state management

Flutter
Jul 26, 2026 Read →
2 min read

Flutter Widget Lifecycle Explained: From Build to Dispose

Every Flutter Bug Report Traces Back to the Lifecycle Memory leaks, stale data, controllers that crash on hot reload — almost all of them come from misunderstanding

Flutter
Jul 26, 2026 Read →
2 min read

Flutter Performance Optimization: Finding and Fixing Jank

Jank Has Specific, Diagnosable Causes — Stop Guessing "The app feels laggy" is not a starting point for optimization — it's a symptom. Flutter

Flutter
Jul 26, 2026 Read →
2 min read

From Senior Engineer to Tech Lead: Skills Every Mobile Developer Needs

The Job Changes More Than the Title Suggests Being the best Kotlin or Dart developer on the team doesn't automatically make someone a good

Coding
Jul 26, 2026 Read →
1 min read

Compose Multiplatform: Sharing UI Across Android, iOS, and Desktop

From Sharing Logic to Sharing UI Kotlin Multiplatform started as a way to share business logic while keeping native UIs. Compose Multiplatform (from JetBrains) pushes further:

Compose
Jul 26, 2026 Read →
2 min read

Understanding State in Jetpack Compose: Remember, State Hoisting, and Beyond

State in Compose Isn't Magic — It's Just a Recomposition Trigger The hardest mental shift moving into Jetpack Compose isn't the

Compose
Jul 26, 2026 Read →
3 min read

KMP vs Flutter: Choosing the Right Cross-Platform Strategy in 2026

KMP vs Flutter: Choosing the Right Cross-Platform Strategy Every mobile team eventually asks the same question: do we build twice, or do we share code?

Mobile Development Kotlin Multiplatform
Jul 26, 2026 Read →