程序员的技术写作之路

我的化名叫何遇,四川人,2017 年本科毕业,毕业至今曾在 3 家互联网公司从事前端开发工作,开发的产品都是 toB 的 SaaS 系统。

自 2020 年起我开始维护自己的微信公众号------前端知识小站,当时的想法是每年做一件不同的事情,以找到自己的兴趣点。我除了写文章,还在B站上传过视频,制作了 3 期之后,没再继续,因为我不喜欢录视频,更喜欢通过文字传递信息。现在我在这里分享我的文字创作的故事,希望能给你带来一些信心。

我的写作最初以前端技术文章为主,2021 年写了一部小说,2021 年 10 月由机械工业出版社的图书编辑邀请写一本技术书,届时已经出版。

入驻博客园

2016 年 6 月 24 日 23:10 (这天是星期五)还是一个大三学生的我,在博客园上发布了有生以来第一篇技术文章------用原生 JS 实现一个轮播(包含全部代码和详细思路),这篇文章花了4个多小时,其中介绍了 CSS 绝对定位,DOM 事件、函数节流、定时器等知识。当时我最感兴趣的事情是把代码写好。

9 天之后,也就是 2016 年 7 月 3 日 15:33 (这天是星期日)我发布了第二篇技术文章------用原生 JS 实现的一个导航下拉菜单,下拉菜单的宽度与浏览器视口的宽度一样(js+html+css),文中介绍了 mouseout 和 mouseover 事件。随后,我开始学习 React、webpack 和 Node.js,并将学到的知识写下来发布到博客园,同时将公司项目中遇到的解决方案也写下来,每个月大概能发 3 篇文章。

除了写前端技术博客,我还创建了第一个开源项目(91 个 star、38 个 fork),在公司内的成绩是成为优秀员工,并获得了晋升。

转战稀土掘金

2019 年中旬从第一家公司离职之后,我开始到掘金上发文章,大多数文章都是介绍公司内部落地的方案,涉及的内容有:git 版本管理规范、组件库、微前端和低代码。在掘金发布的低代码文章,影响了后面的技术写作之路,到了晚些时候我才知道。这个时期的体会是,将外部的知识输出与公司内部的项目相结合,有利于在工作和生活上都获得成绩,成就感会推动人继续向前

反观 2017-2019 年,我在外部的创作和公司内部采用的技术是分离的,公司选用的技术栈是 Vue,而我在社区创作平台输出的是 React,尽管那两年获得的成绩还不错,但是,如果将内外输出相结合能得到更好的成绩,工作与生活割裂感也能减少,更能持续学习,以便升职加薪生活美满。

时间来到 2022 年,参加掘金的金石征文计划让我体会到了写技术文赚钱的快乐,用它大概赚了 1 千块钱,写作压力不大,最重要的是生活和工作没有割裂感,这与写小说期间的情况大不相同,那小说一共有 49 章,超过 10 万字。当然,能将它写完,我感到自豪,由于太在意读者的反馈,我的心被它牵动着,与同事和家人减少了交流。

现在有不少人搞副业,如果副业能和已有的工作结合就完美了。在 2019 年期间,学习理财时听到的一句话------理财是为了让生活更美好,如果它让你每天提心吊胆,那么不如不理财。搞副业也是同样的道理。

拥抱微信公众号

申请微信公众号与注册掘金账号发生在同一时期,而且两个平台发布的技术文章趋于一致,2023 年 10 月之后我在微信公众号新增了一个栏目------随心侃,它用来记录日常感悟。申请微信公众号之后,为了涨粉我读了一本叫做《兴趣变现》的书,作者首先提到发现自己的"甜蜜点"------即兴趣点,其中举了一些案例,或成功,或失败,也介绍了如何持续创作,如何与别的创作者互动,如何从大博主那儿圈粉等等。

持续创作

《兴趣变现》提到的众多方法论,只有持续创作这一点我执行的比较好。找到"甜蜜点"之后,需规划创作节奏,按计划执行。我的发布节奏是每个月在固定的时间发布一篇文章,执行起来没有负担,发布节奏除了涉及发布日,还涉及初稿完成日,校稿完成日,封面图完成日等等。这些日期都是为了抵抗拖延症,确保在发布日当天能正常发布文章。

创作内容

个体创作的第一步是找到自己的"甜蜜点",当时我不知道自己的"甜蜜点",也没有擅长的技术领域,为了保证每月能输出一篇技术文章,决定翻译英语文档。每个月选一个主题,搜索 5 篇以上的文档,翻译成中文,将其消化成自己的内容。我翻译的文章来自 thoughtworks 和 medium 等网站,翻译英语文档只持续了一小段时间,因为要优先写公司内部的技术方案。现在不知道做什么,那就先模仿吧!

运营

运营这方面我做的很不好,几乎没有运营。3 年过去了,前端知识小站一共有 118 篇原创文章,有 455 个粉丝,这些粉丝是自然涨粉。

牵手机械工业出版社

与机械工业出版社合作始于我在掘金上发布的《如何设计低代码平台快速构建页面 | (200+页面)》,2019 年 - 2020 年,我在就职的公司落地了一个低代码平台,投入使用后又将实现过程总结成了一篇文章发在掘金上,机械工业出版社的编辑通过该文与我取得了联系。

建立合作

下面是我和出版社编辑加好友之后的对话:

他:我在掘金上看到您写的关于低代码的文章,所以就冒昧联系您了。

我:那篇文章是我去年在公司落地的一个低代码平台的总结

他:写得挺好的

我:你是做什么工作的?

他:不知您是否有兴趣写本相关的书,给更多读者指导和帮助哈?

此时的我觉得自己没有高学历加成,也没有大厂光环。我是菜狗,没有资格写书,于是发送了下面这一句

我:以我现在的知识水平还不足以写一本书。

他:我是做 IT 图书策划的编辑,您已经有落地实践的经验,再加上理论知识,足以整理成书了。

接着我们沟通了出书的流程,与此同时,我将出版社编辑邀请我出书的事情告诉了好友,他也鼓励我写书,他说:'你可以一边学习一边写'。

从写书的时长来说,这是个好主意,因为写书的周期长。以我自己的经历为例,从开始写作到完成初稿耗时一年半,这么长的时间可以学习很多知识,完全能做到边学边写。

确定好写书之后,又开始思考联系我的人是不是骗子,于是在网上搜索与出版社合作的注意事项,这里最该关注的点是:考察联系人所在的机构是否有申请书号的资质,不要和中间商合作。 同时,我还询问亲戚签合同的注意事项,这里的重点是:签有时间期限的授权协议,著作权授权使用合同,或者出版授权合同,不签著作权转让合同,尤其不要签委托创作协议。


写技术书的第一步,也是最难的一步------写目录,细化到三级目录,通过目录规划图书包含的内容。目录和大纲需要审批,审批通过之后立项,后续是签合同。

写作进行时

写书重在坚持,持之以恒,它是脑力活更是体力活。第一步是定写作节奏。我的计划是每天早晚都写,早上 6 点 20 分起床,9 点以前的时间用于写作,晚上不加班,回家之后到 10 点之前的时间用于写作。

写书的头 1 个月,我心中充满了热情,觉得自己在干一件光宗耀祖的事,早上 6 点 20 分闹钟一响,便掀开被子起床洗漱,然后雄赳赳气昂昂的去上班,我通常是第二个到公司的人。公司楼下的大爷见了我,总会用四川话喊一声,'来那么早!',下午 6 点半下班,大爷见了我又吆喝一声,'你早就该下班了!!!'。随着时间的推移,写书的热情在逐渐减小,早上起床没起初那么顺溜了,接下来 3 个月左右的时间,意志力被不断的摩擦,有些时候犯懒起床晚了,大爷见了我,说:'嘿,今天来得有点儿晚了哈'。之后意志力被摩擦麻木了,早上闹钟没响我就自觉的起床。

写书期间的做法有很大的改进空间:

  1. 把节奏安排的太紧,没给自己留缓冲时间;
  2. 和同行交流太少了,自己埋头苦干;
  3. 把注意力都放在了低代码上,没补充其他知识;
  4. 没有做到有条不紊,有思路的时候可以不吃饭连续写一天,没有思路的时候心情烦躁,像无头苍蝇一样查资料。如果有思路的时候放慢写的节奏,用部分时间思考后续内容,我当时的生活肯定会更加快乐。

改稿

初稿完成后交给出版社编辑进行第一次通读,第二天,他反馈道: "前 4 章基础知识占到了整本书 70% 以上的篇幅,而核心内容占比太少,核心内容一定要讲到位,所占篇幅不能低于 60 %。不然就有些文不对题了。"

第一次改稿,将基础知识从 4 章减少到 1 章,同时增加与低代码相关的内容,最终核心内容占70+%,基础知识占20+%。第二次改稿,继续增加内容,加了一章落地低代码平台需要持有的基础设施。后续是写前言、改前言、定书名、写封面文案,改封面文案等,这些完成之后能空闲一段时间,出版社排好版之后交给作者第一次校对,这是最后一次修改的机会。

成书

最初为了加速重构遗留系统,在公司内落地了低代码,当时的低代码及其简陋,不足为道,但派上了用场,我们只有 5 个前端工程师,在一个季度内,搭建了 200+个页面。回忆起当时的方案,大概存在以下5个问题:

  1. 搭建完成的应用无法独立部署
  2. 无渲染沙箱,当处于编辑态时,画布无纯净的运行环境
  3. 无组件市场,低代码设计器能使用的组件全部写死在项目内
  4. 用来描述低代码应用的Schema无版本管理,无法查看以前保存的版本。
  5. 开发人员无法对搭建完成的应用二次开发。

《低代码平台开发实践:基于React》解决了上述 5 个问题,还涉及业务场景的需求分析,从开发技术层面来讲,读者将了解到下面这5个方面的内容:

1)JSON Schema 保存到 Git 仓库中,它不影响线上运行的低代码应用,只用于 APP 各版本的预览和重新编辑。

2)线上运行的应用与 JSON Schema 脱钩,即便低代码平台停止服务,线上的 APP 依然能正常运行。

3)引入渲染沙箱,设计器和渲染器位于不同的 Frame,此时画布拥有纯净的运行环境。

4)设计组件规范,开发脚手架,其用于开发、调试和上传低代码组件,这使设计器能使用丰富的组件去开发应用,同时让低代码组件和低代码平台解耦。

5)开发低代码平台所需的基础设施,包括 GitLab CI/CD、npm 私有库,LDAP 账号管理系统等。

《低代码平台开发实践:基于React》由 4 大部分组成,其中第 3 部分介绍开发低代码平台涉及的各个方面,这部分难度最大。如果你是一名经验丰富的软件工程师并且对低代码已有了解,建议从第 4 章开始阅读;如果你对低代码了解得不多,请一定从第 1 章的基础理论知识开始学习。

第一部分是基础篇,只包含一章,它介绍后续章节使用的理论知识,涉及的知识点有 React Context API、React Hooks、React Ref、Mobx 和 MongoDB 等,要想在本地电脑运行本图书介绍的低代码平台,你需要在自己电脑上下载 MongoDB。

第二部分为需求分析篇,包含两章,它介绍低代码平台开发的应用要满足哪些需求,同时也介绍低代码平台的功能。

第三部分为实战篇,包含五章,是本图书的重点,介绍如何开发低代码平台,其中展示了大量的代码示例,涉及的内容有低代码架构策略、低代码组件、设计器、渲染器和代码生成器。

第四部分为基础设施篇,只包含一章。低代码平台用于创建应用程序,它本身也是应用程序,值得一提的是,它对研发体系的要求相当高。如果你手上没有一套完善的研发体系,涵盖代码托管、CI/CD、CDN,npm私有库等部分,那么妄谈开发低代码平台。基础设施篇涉及的内容有,如何使用 GitLab CI/CD 建立持续部署 pipeline、如何搭建 npm 私有库,如何搭建 LDAP 账号管理系统等。

《低代码平台开发实践:基于React》提供了 7 个开源项目,全部源文件可以从github.com/react-low-c...下载。

对《低代码平台开发实践:基于React》感兴趣的朋友可在京东购买 item.jd.com/14012127.ht...,也可通过我的微信微信公众号------前端知识小站联系到我。

相关推荐
明川12 小时前
2025年度总结 - AI大时代
年终总结
酒精检测仪20 小时前
Elpis 总结
低代码·json
掘了1 天前
「2025 年终总结」在所有失去的人中,我最怀念我自己
前端·后端·年终总结
麦聪聊数据1 天前
Web 原生架构如何重塑企业级数据库协作流?
数据库·sql·低代码·架构
寻找奶酪的mouse1 天前
30岁技术人对职业和生活的思考
前端·后端·年终总结
海石2 天前
去到比北方更北的地方—2025年终总结
前端·ai编程·年终总结
CORNERSTONE3652 天前
一款可提高后台系统开发效率的低代码平台
低代码·低代码平台
麦聪聊数据3 天前
为何通用堡垒机无法在数据库运维中实现精准风控?
数据库·sql·安全·低代码·架构
不爱学英文的码字机器3 天前
解读CANN MindX SDK仓库:AIGC应用开发的“低代码加速器“
低代码·aigc