你应该如何面对 2027 年?

在列出具体主题之前,先记住五条规则。它们比任何一个单独的库都更重要。

  1. 基础优先于工具。​ 库每年都在变。生命周期、状态、线程和数据流在过去十年里几乎没有太大变化。去学那些到了 2030 年仍然成立的东西。
  2. 做一个项目,而不是十个教程。​ 构建一个应用,并在每个阶段不断改进它。从修复自己的设计中能学到的东西,远比完成别人的教程要多。
  3. 使用 AI,但要验证它。​ 让 AI 帮你写代码、解释思路、提出建议。然后用测试、性能分析器或官方文档来证明它是正确的。如果你无法验证它,你就还没准备好把它发布出去。
  4. 在一个领域深入钻研。​ 在所有九个阶段上都做到扎实,然后选择一个方向让自己变得知名:性能、架构、测试、AI 特性或 Kotlin 多平台(KMP)。深度才是让你成为高级工程师的关键。
  5. 展示你的成果。​ 一个 GitHub 仓库、一篇简短的技术文章或一次演讲,比一张证书更有说服力。它也能为你在面试中提供真实的故事素材。

路线图概览

每个阶段都依赖于前一个阶段。在你理解状态之前,Compose 几乎毫无意义;在你理解生命周期和进程死亡之前,状态也几乎没有意义。跳过某个阶段,你仍然可以交付功能,但你最终会靠猜测来调试。AI 会让这种情况更糟,因为它给了你更多需要猜测的代码。

  1. Kotlin 与数据结构算法基础:​ 语言、集合、泛型、面向对象编程、数据结构与算法、Git、Gradle。
    完成标准:​ 能够构建并测试一个小型 Kotlin 项目,并能解释你的设计选择。
  2. Android 平台:​ 组件、生命周期、进程死亡、边距(Insets)、权限、后台限制。
    完成标准:​ 能够说出当操作系统杀死你的应用时会发生什么,并能证明状态得以恢复。
  3. 协程与 Flow:​ 结构化并发、取消、调度器、StateFlow。
    完成标准:​ 能够正确处理取消、失败以及同时发起两个请求的场景,且没有 Bug。
  4. Compose UI:​ 状态、重组、副作用、Navigation 3、自适应布局。
    完成标准:​ 能够构建一个包含加载、错误、空数据和正常数据状态的多屏应用。
  5. 架构:​ UI 层与数据层、单向数据流、ViewModel、依赖注入、模块化。
    完成标准:​ 能够为你设计的每个功能中的每一层做出合理的辩护。
  6. 数据与离线支持:​ HTTP、Room、DataStore、缓存、同步、数据库迁移。
    完成标准:​ 能够在网络缓慢或完全断开的情况下,让某个功能仍然可用。
  7. 测试:​ 测试替身(Fakes)、ViewModel 和 Flow 测试、Compose UI 测试、持续集成(CI)。
    完成标准:​ 能够自动捕获一个真实的回归问题。
  8. 生产环境:​ 性能分析、卡顿(Jank)、ANR、基线配置文件(Baseline Profiles)、R8 混淆、安全性、发布流程。
    完成标准:​ 能够复现一个问题、修复它,并展示修复前后的数据对比。
  9. 系统设计:​ 移动端设计、同步机制、故障处理、内部原理。
    完成标准:​ 能够设计一个应用,并针对两种备选方案为自己的设计进行辩护。

如果你已经是 Android 开发者,不要默认从第 1 阶段开始。用上面的“完成标准”作为自我检测,从你第一个无法通过的阶段开始学起。