likes
comments
collection
share

离职后在家躺了一年,顺便写了本书

作者站长头像
站长
· 阅读数 3

大家好,我卡颂。

从字节离职已经一年多了。

最开始离职的契机是电子社的编辑向我约书稿。以我的能力是没法同时兼顾字节的高强度工作以及在规定的时间内成书

考虑到进厂上班的机会以后还有(但现在这行情,没准儿也没厂子要我也说不定),但写书的经历还没体验过,于是就辞职了。

接下来聊聊程序员写书是种什么体验。

为什么写书?

在大概5年前,写书还是一种行之有效的提升个人影响力的方式。

很多人在找工作前、创业前,都会写本书作为个人能力的背书

甚至还出现专门帮人写书的公司,这些公司的目标客户是那些由于某些契机突然出名的草根(比如一些现象级语言类综艺的选手)。

但最近几年,相比写书短视频塑造个人人设是更短平快的提升个人影响力途径。所以,写书的人就逐渐少了。

而且,写书真的不赚钱。卖一本书的版税收入可能就几块钱。相比于赚钱,一些急于通过写书提升个人影响力的人,甚至得反向给出版社钱,比如花钱买书号(1w多)。

所以,对于为什么写书,主要是想体验下这段经历,以及可能带来的些许个人影响力提升。

什么样的程序员能写书?

好像还行对吧,那深入学习某个技术领域厉不厉害呢?

是不是努努力就能达到?

实际上这是条很平滑的路径,就像打游戏升级一样,在很多关键节点都会有任务npc主动找你(比如小册运营,出版社编辑)。

所以,与其说写书很厉害,不如说写书的人很执着,把这条支线任务打通关了(虽然任务奖励并不丰厚)。

我写了本什么书?

书名叫React设计原理,基于React18,从理念、架构、实现三个层面解构React

离职后在家躺了一年,顺便写了本书

虽然在此之前写过一本开源电子书react技术揭秘,但既然要出版,就好好对待吧。

于是,在规划这本书时,我主要从两方面下手:

  • 内容尽可能硬核

  • 怎么讲读者才听得懂?

先说第一点,为了理通react运行的方方面面,除了常规的阅读源码跟踪核心成员的各种进展外,为了搞懂React18的运行细节,我从0实现了一个React18,所有实现步骤可以在big-react项目中看到。

内容硬核很重要,但写出来能让人看懂同样很重要。为了达到这个目标,我主要参考了两个优秀的作品:

前者在行文过程中一直在提倡知识屏蔽(在教学过程中只关注当前学习的知识,屏蔽超纲知识对读者的干扰的原则),后者做到了理论与实践(丰富的在线示例)结合。

所以,我这本书存在两条脉络:

  • 抽象层级逐渐降低

  • 实现越来越复杂的模块

对于前者,本书的抽象层级会逐渐从理念到架构,最后到实现,每一层都屏蔽前一层的影响。

这也是为什么ReactDOM.createRoot这个初始化API会放到第六章再讲解 —— 在这个具体API的背后,是他的理念与架构。

对于后者,本书会从0实现与react相关的6个模块,最后我们会一起在React源码内实现一个新的原生Hook

一点感悟

这一年时间有很多朋友问我为什么不去找个班上。答案很简单 —— 因为我不喜欢上班。

所以,为了做喜欢的事,就得提前准备。就拿写书这件事来说,就像做游戏任务,他的每一步都是有迹可循的。

如果你也对现状不满,那就行动起来吧。为了想要的生活而探索,这个过程本身就充满了乐趣。