工作

算是在 deadline 驱动下,度过了生产力爆棚的一周(请了一天假),每天实际写代码的时间达到了 7 小时。究其原因,只因为老板说有个新的提案要做时,加了一句“I personally think you are the best to work on it”,就卯足了劲儿赶在他需要的时间前,把手上的工作都快速处理好了。我真是容易满足啊 🫠

输出

周末花了点时间写了两篇博客

  • DateFormatter 静态实例的一个小坑
  • 面向用户的版本号

在写《面向用户的版本号》时,想起几年前曾有一个想法——编写一个系列,帮助非技术背景的 PM、BA、UX 或相关干系人理解移动开发领域的技术选型差异可能带来的业务影响,比如《移动开发中实现 Deep Linking 的 URL Scheme 和 Universal Links 的区别是什么?》这篇文章。

现在这种文章存在的意义似乎没有了,通过 AI 就能够图(mermaid)文并茂解释得更好,且有足够的耐心来解答读者的任何疑虑。可话又说回来,非技术背景的人在不知道有哪些技术方案可能会造成差异的情况下,是无法提出这样的问题的。

这就是我认为程序员这个工种短时间内无法被取代的原因:你没办法让 AI 帮助完成你不知道你不知道的任务。

即使在有 AI 加持的现在,依然需要具备相当多的软件开发知识,才能够在众多方案中甄别出相对合理的方案,由此从生产到部署再到维护,完成一个复杂系统的构建。诚然,学习能力足够强的人可以通过边做边学的方式来让 AI 构建,但走完了整个流程的他,其实已经通过 AI 帮助,在“做中学”的过程中成为了一个 AI 时代的程序员。

AI 时代的程序员:明白各种软件开发领域名词背后的含义,但并不需要自己去实现的人。

这种“做中学”产生的副作用(掌握软件开发知识),也并不是每个需要发布软件的人都想要的,因为它相当费神耗时,所以我依然认为程序员这个工种在“将想法变成现实”的路上,具有较高程度的不可替代性。

而 “工作的可被 AI 替代性” 这条线再具体一些,就是工作的产出物是否具有易于描述的创造流程,以及清晰的验收标准。输入和输出越复杂,描述和验收所需要的知识越多,工作就越不可被替代。

娱乐

玩了两小时《双人成行》,开始觉得尽管画面好看,游戏体验也不错,有很多的小巧思。但不会产生沉迷的感觉,说放下就放下了,甚至会产生玩了两个场景就有点疲了的感觉。当然再拿起来也没有什么负担。