查看原文
其他

鱼皮出教材了!

鱼皮 程序员鱼皮 2022-08-14

第一次写书的经验和感悟

大家好,我是鱼皮。

之前给大家分享过自己大学四年的经历:我学计算机的四年,共勉!

在文章中,我提到自己在大三的时候,跟着学院的老师在实验室研究区块链技术,并且成功出版了一本 教材

区块链教材

虽然这本书的销量可怜,如今更多的是躺在一些学校的图书馆里,但毕竟是我第一次参与写书,对我的意义还是非常大的。

正好也有不少小伙伴好奇:大学时我是怎么写书的?写书要做哪些事?写书难不难?自己也想写本书怎么办?

今天就扯扯当年写书那些事儿~

第一次写书杂感

本文大纲:

本文思维导图

为什么要写?

一个很偶然的机会,大二暑假的时候,学院信息安全实验室的老师找到我,想邀请我加入实验室,带我一起来学习研究下区块链技术。正好当时那段时间我也出于兴趣学了些这方面的知识,于是就非常激动地加入了。

进入实验室后,刚开始只是学习一些区块链概念和开发技术,并且目标是开发一个区块链落地项目。后来,老师考虑要不要出一本相关的教材,问问我的想法。

起初我是非常犹豫的,一方面觉得写书很难,距离自己太遥远了,担心自己能力不够,怕写不出来耽误事儿;另一方面是本来当时的自己就忙的焦头烂额了,再摊上这么个大活,不得发如雨下?

但经过一番考量后,我还是决定要写,为啥呢?

首要原因是 兴趣。我做事情是必须要有兴趣和动力的。况且写书是要长期坚持的事,如果我对它没有兴趣,哪怕给我再多时间我也是写不好的。但写书本身对我来说是比较新鲜和神秘的,我自己也一直在写博客,所以想试试写书和博客到底有什么区别,也想挑战一下自己。

但我感兴趣的事情实在太多了,毕竟时间有限,不是说有兴趣的事都能做,所以除了兴趣之外,我还会思考这件事对我的意义。

写书的意义

当时我列了个表,总结了如下几点写书对我的意义:

  1. 技能提升:通过写书,肯定可以锻炼我的文笔和思维逻辑。

  2. 磨练心性:自己当时处于一个很浮躁的阶段,手头的事情很多,但基本没有静下心来把一件事做到完整和完美,所以想借这个机会让自己慢下来,踏实一点。

  3. 历练机会:大学期间,有老师指导的写书机会可不多,何况还是自己感兴趣的方向!这对自己来说也是一次挑战,机不可失。

  4. 积累经验:考虑到未来自己可能也会写书,提前接触一下、熟悉流程,很有必要。

  5. 履历:如果能成功出版教材,写在简历上肯定是很有牌面的。事实证明后来的面试中,很多面试官都被我的这个经历晃了下眼,面试的内容也变得有趣起来。

  6. 反馈:虽然我对学习技术很感兴趣,但孩子天性就是爱玩和懒惰。通过参与写书,能够进一步激励和督促我持续学习,通过输出反哺输入(我现在也是这么个状态哈哈)。

  7. 利他:书本是知识传播的介质,我当然也希望通过它,帮助更多人学到技术,这会让我感到快乐。

  8. 金钱:早就说过了我是俗人,跟着老师写书,钱还是很多的哈哈~

除了兴趣和意义外,还要再考虑下写书的成本(性价比)。

反正我当时自己也要学区块链方面的技术,也要在自己的网站上写博客,那为啥不顺便把博客文章优化下,整理成书本中的内容呢?

所以真正写书的原因,竟然只是因为顺手!

怎么写?

在写书技巧上,我并不专业,所以这里就简单分享下我当时写书的过程吧。

目标

首先,要明确你的创作目标、方向和受众,它们会决定你的实际内容。

比如我写的这本书名叫《区块链智能合约技术与应用》,所以创作内容一定围绕 区块链智能合约技术,并且有理论有实际应用。书定位是 区块链教材,所以要保证内容完全准确、通俗易懂、适合入门。

大纲

确定目标后,必须先根据目标编写大纲,也就是目录。而不是走一步算一步,先写内容再设置目录。

写大纲的时候,一定要站在一个上帝视角,结合书的目标来编写,注意两个点:

  1. 合理设置每个章节的页数、分清主次,不要让和书本主题无关的内容占用了过多篇幅。

  2. 注重章节的顺序和章节间的关联性,由浅入深,或者添加引导(比如本章为附加内容,未学过 xx 技术的读者可跳过),千万不要让读者感觉到断层。

我当时在讲解区块链超级账本技术时,也是站在读者的角度,先从前置基础技术讲起,再循序渐进地介绍新技术的入门、基础篇、提高篇。

大纲

内容

想要写出内容,肯定是先要下功夫好好研究技术的。

比如说我要写的书是区块链智能合约技术,当时国内对这方面的研究有一些,但实际应用很少,所以我翻遍了国外各主流区块链技术的官方文档、国外的博客文章、国内的技术书籍等,甚至还阅读了一些国外的论文,混进了很多区块链交流技术群!

部分群依旧健在

有了一定积累后,就可以开始创作内容了,个人觉得不必在第一次写的时候就追求完美,可以先写草稿,把思路串通(先把程序跑起来)。理论章节就多查阅一些资料,像上课记笔记一样写;实战章节就像做实验一样,像写实验报告一样写。

调优

写完内容草稿后呢,就需要反复阅读内容,从以下几个方面不断优化:

1. 内容细化

可以对重点内容补充更多的讲解,或者拆分成小点,讲的更清晰透彻。还可以尝试思考读者可能产生的问题,并通过注释的方式补充,比如下图:

2. 提升专业度

对于教材而言,知识的正确性是很重要的,尤其是理论章节!所以,一定能要充分查阅中英文资料,并在适当的地方补充参考依据,让读者感受到你的专业,并且给读者深一度学习的机会。

常见的参考内容有官方文档、博客、论文等,比如我书本中的这段:

3. 提升可理解性

以小白的视角来阅读自己的内容,通过添加案例、图片、引导语等方式,让内容更生动,更通俗易懂。比如典型的流程图:

4. 提升内容关联性

每章的内容都要做到承上启下,开篇承接上文,介绍本章内容;文末总结本章内容,引出下文。

排版

技术类书籍的内容很丰富多样,有文字、有小图、有长流程图、有代码等等。所以要注重内容排版和风格的统一规范。比如说正文字体都用 16 像素、提示内容都用灯泡图标等。

统一排版

OK,以上都完成之后,就可以把稿子交给老师 / 出版社了,等待他们的反馈意见。

困难和教训

写书的过程中,也遇到了一些麻烦事儿,总结了一些经验教训。

其中让我印象最深刻的有三件事。

毫无头绪

如果现在让你针对一个技术写一篇文章,你也许能写出来。但如果让你写一本书呢?怎么把这个技术展开或深入地去讲呢?划分为哪些方面呢?

万事开头难,我刚开始也是一头雾水、一脸懵逼。

但我们程序员最喜欢的就是复制粘贴了对吧?复制代码的事儿,那能叫抄么?!

自己不会写大纲,没有思路,那不妨多去看看其他的技术书籍是怎么写的,怎么掌控内容的比例(理论 or 实战),怎么由浅入深等等。多借鉴借鉴不就好了?

此外,自己没思路的话,不妨和老师、同学多交流,共同探讨,汲取灵感。

于是,我在最初下笔前,参阅了十几本技术书籍。并且和老师交流探讨,最终共同确认了大纲。

所以在写书前,要多借鉴、多交流,有了大纲,再往里面填内容就行了。

开发项目也一样,自己没灵感,那就找一个已有的项目,效仿学习。

资源爆炸

我在写书的过程中,积攒了各种各样的资源文件,比如文字片段、代码、参考资料、PDF、图片、绘图源文件等。

各种文件

起初没有想到文件会那么多,就没做整理,下载一个图片就随便一丢省事儿~ 结果到最后想找一个已下载的文件都找不到,很多临时想到的好句子也因未及时整理而丢掉了,非常可惜。

所以之后,我在写文章之前会和做项目一样,新建一个独立的目录,把资料按照类别再放到对应子目录中,时常整理,并且把一些好的句子、段落、灵感也集中存到单独的文件中。还可以利用 Everything 等软件帮助自己检索,能很大提高效率,专注写文。

修改噩梦

我记得当时写完文章后,如释重负般提交到出版社,却没想到,这只是噩梦的开始。出版社直接给我打回来修改,改完一遍再提交,结果又被打回来修改,反反复复很多次,有内容问题、有排版问题,其恶心程度和改 Bug 可以一战!

比如这里,就放了一张图,结果出版社的老师给了 4 点建议:

后来,我总结了下稿子频繁被打回的原因,一方面是第一次写书没有经验,很多内容确实写的不够好,不够注重上下文的关联;另一方面是有些排版、图文形式没有在最初就统一确定,导致文章写好后再修改时,很容易出现遗漏。还有最致命的一个地方 —— 内容过长,就是文章篇幅没有把控好,于是我不得不把写过的文章又通读了几遍,依依不舍地做减法,白写了很多内容。

所以,在写书前,能确定的事尽早确定,比如排版、内容要求等,不要吃了哑巴亏。

做项目也一样,事先明确规范,而不是出事后,再手忙脚乱去弥补,这样只会打消你的积极性。

收获与感悟

改变

从起草到出版,整整半年多的时间,对我带来的改变是巨大的。

文笔和思维得到了提升、变得更沉稳、积累了写书经验、简历了添彩、学到了区块链技术、传播了知识、赚钱买了电脑等等,基本我此前的预期全部被满足了。

最重要的是,我收获了一段永生难忘的回忆,真想再回去看看那时在实验室静下心来专注敲键盘的自己啊。

实验室我的小桌

感想

此前,我觉得能出版书的人都老牛逼了,让自己写一本书简直想都不敢想。

所以教材出版后,我最大的感触是:啊,自己竟然做到了!原来这就是写书,感觉也没有自己想的那么难!

此外,还有一些其他的感想,比如:

  1. 写书一定不能硬写,必须得有明确的创作方向,有东西,才能写出来。像我写的章节分为理论和实战两部分,实战部分写的贼快贼爽,因为都是自己做过的实验、写过的代码,轻轻松松就能写一大堆,也无比真实;但理论部分就跟挤牙膏一样,一个字一个字地往外挤,这就是因为自己还缺乏一定的知识储备。

  2. 写书不难,但写好书难于上青天。正是因为我缺少经验、内容写的不够好,不足以出版,才多次被老师和出版社打回修改。说实话,如果没有他们的指点和建议,我写的东西真的太烂太烂了。还是要继续努力,和敲代码一样,多写多看,才能创作出更优质的内容。

遗憾

唯一的遗憾就是我为这本书贡献了一半以上的章节,但书的封面却没有我的署名,只是在书本的开头提了一笔。但这也是国内教育现状吧,学生给老师打工呗~

不过我倒觉得无所谓了,本来我参与写书的原因里也没有这点,而且这也并不是真正属于我的书,以后相信还会有机会的!

以后还会写书么?

有读者问我这个问题,我的回答是:一定会写,但至于是否会出版,我可不敢乱立 Flag。虽然很多出版社联系过我,但近两年内,我并没有写书的计划和打算。

原因如下:

1. 专业度不够

刚刚毕业一年,还是太嫩了,越成长越发现自己的眼界还是太小,很多事情没自己想的那么简单。所以还是要先持续学习,积累经验,摸透一个领域或行业,等变得更专业了再王者归来。

我自己看书时也更倾向于阅读行业专家的著作,有些东西,即使你天赋异禀,缺少企业的磨炼也是写不出来的。

2. 没有选题

就目前为止,我还没有很好的、能打动自己的选题和创作灵感。

自己虽然看过很多技术类书籍,但老实说,现在国内的技术书籍有些功利化(国内技术都是如此),大部分是带你入门或者教你找工作;要不就是各种生搬硬套、依葫芦画瓢的,就拿我当时看的基本区块链书籍一样,开篇理论全是抄来抄去,把国外的文章拿来翻译。

哎,国内真正有深度、有思想的技术书籍还是太少了,你看那些经典书籍,基本都是国外的。

我觉得一本好书应该不仅能教读者学到技术,还要让读者能跟着作者的思路,进入到他的世界,学习他的思想,就像是在和朋友交流一样,而不是干巴巴地讲技术。

但我现在也写不出来这样的书,所以再学习学习哈哈。

3. 个人性格

我其实是很麻烦的人,不习惯被某种事物束缚,而是喜欢按照自己的节奏来做事。之前在学校的写教材经历已经让我感受到了写书的麻烦,各种修改、各种 deadline(最终期限),还是会给我很大压力的,毕竟工作之后更懂得了自由的可贵。

但即使不出版书籍,我也会持续输出。毕竟现在网上的创作专区这么多对吧,哪里不能写文章写专栏呢?



最后,碎碎念。

坚持更文 半年,今天这篇文章已经是我的 第 110 篇 原创了,粉丝数也在朝 5w 进发。

打死我也想不到,曾经语文成绩那么烂、阅读理解和作文都是小菜鸡的自己,竟然有朝一日能出版教材、甚至公开向那么多的读者分享自己的文章。

不过这并不是偶然。

始于兴趣,持于负责。从早期草草写文、应付了事、自己都看不懂;再到后面每一篇都精雕细琢、因为一个词句纠结半天,这是我不断尝试和努力的结果,也是我向越来越多的读者交上的答卷。相信早期关注我的读者,都能感受到这半年来我文章的进步。(不是说现在写得好,而是之前写的太烂了哈哈 🐶)

还有太多话放到后面说吧,午休又要特么的结束了,我会继续加油创作滴~

相信自己有能力,那么你就真的会有。 希望大家也能勇敢尝试,不断进步!

我是鱼皮,点赞 + 在看 还是要求一下的,感谢朋友们的支持,祝大家都能心想事成、发大财、行大运。

往期推荐

带老弟做个实时排行榜

劝人学计算机?

我毕业了!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存