六年前种的花,如今还在结果
周天收到一条短信,《Spring Boot + Vue 全栈开发实战》这本书的稿酬到账了。
不少关注松哥的小伙伴可能都知道,这本书是我在 2018 年写的,2019 年初出版的,到现在上市五年了,没想到还能收到出版社发来的稿酬,我真的挺诧异的。之前我都从来没打开过清华社发过来的链接查看,这次就刚好点开看了下内容,看到这本书前后共印了 19 次,在技术图书领域,这个数据其实还是蛮不错的。
这本书是松哥写的第一本书,当时刚出版的时候,整个人真的是超级兴奋,毕竟也算是一次自我突破,等到了 2021 年出版《深入浅出 Spring Security》的时候,这种兴奋感就大打折扣了。
现在五年过去了,再回过头来看我的第一本书,书里有的地方还是有些稚嫩,毕竟我自己也在成长。2022 年的时候,编辑老师问我这本书能不能更新一下再出第二版,当时我也有一点点想法,但是因为这两年比较卷,工作上的事情也比较多,实在是抽不出时间,这个事情就只能作罢。
现在各个出版社基本上都是自负盈亏,一般来说,我们在写书之前都需要先填写一个选题登记表交给出版社,这个选题登记表里边就会有这本书你计划写的内容、大概的字数、图书特色、作者信息等等,出版社编辑拿到这个选题登记表之后,会开会研究你这个能不能出。当图书出版之后,出版社第一次一般不会一次性印很多书,因为印出来卖不出去,就会压在手里。所以技术图书一般首印都是 2000-3000 册左右,然后再根据销售情况决定是否继续加印,给到作者的稿酬也是根据印刷数来计算的。
不同的出版社擅长的销售渠道也不尽相同,这些松哥也是写书之后才知道的事情。比如像机械工业、电子工业这些出版社就比较擅长零售,他们出的一些书在电商平台往往能够霸榜;清华社就比较擅长于教材渠道,就是清华社擅长把书卖给学校作教材。松哥的书之前也有不少高校选用,今年也有高校老师加我微信,看这本书有没有配套的 PPT 提供:
现在书其实不好卖,上周给小伙伴们送书的时候,本来想送六本,但是出版社只能赞助三本,因为图书市场不好,他们也没法承担过高的成本。
写书其实不怎么赚钱,写书周期长,回报低,所以如果单纯从赚钱角度考虑,很多人可能宁愿去一些在线平台出课,这样更划算。但是写书也有写书的好处,那就是可以打造个人的技术影响力,这些技术影响力又有可能为你带来新的机会。特别是现在大家工作压力都比较大,如果多一些机会,工作也会更加从容一些。
很多小伙伴说松哥怎么才能像你一样出书呢?我的建议就是写博客。因为我自己就是通过写博客慢慢引起大家的关注,引起出版社编辑老师的注意,才有了后来写书等等一系列故事,我在训练营第一堂课给小伙伴们讲的就是如何坚持写博客。
道理很简单,关键是动手写,并且坚持,特别是坚持,坚持写,就会有结果。
那么怎么写好一篇文章呢?
1.思路清晰
思路清晰是最最重要的一点,无论是看松哥博客还是训练营,思路清晰 我一直觉得是最高评价了。
技术博客不像写散文,语言优美不是必须,最关键的是要把问题讲清楚。对博客作者来说,这个东西你会了,这是一个技能,你能够明明白白的把它讲出来,并且让不会的人学会,这又是另外一个技能。
那么什么样的文章就算思路清晰呢?网上博客那么多,大家在平时学习的时候,应该也看过不少博客,有的文章一看就懂,觉得收获了很多,技能都 GET 到了,这就算是思路清晰的。
对于小伙伴们来说,要写一篇思路清晰的文章,其实也不难,就是把你整个写代码的过程记录下来,按照顺序从头到尾一步一步记录下来,尽量不要有任何跳跃。在这个过程中,最关键的其实就是要有耐心。
有的小伙伴刚开始写博客,感觉一步一步记录、截图啥的都太麻烦了,写一会就烦了,于是可能会跳过一些简单的步骤,对于有经验的读者来说,这些跳跃不影响他们阅读文章,对于没经验的读者来说,这些跳跃可能就会让他们卡在这里看不下去了。
所以你在写的时候,先想想你这篇文章的目标用户是谁?进而决定文章的详细程度。松哥之前写的 Spring Boot 系列教程每篇文章基本都是从 0 开始,而最近连载的 Spring 源码这样学! 系列刚开始也是从 0 开始,后面基本上就有一些跳跃,但是这些跳跃实际上并不影响文章阅读,因为有前面的文章做铺垫。
2.短小精悍
经常看松哥文章的小伙伴应该能够发现,我一般一篇文章只讲一个知识点,如果这个知识点涉及到的东西比较多,我可能会拆分成几篇文章来写,而不是写一篇超级长的所谓“干货”。
其实我以前也写过那种很长很长的“干货”,记得 2016 年在 CSDN 上发过一篇多线程的文章,很长,长到网页一打开浏览器就卡住的程度,我码了一个礼拜码出来的。这种文章一般转发率、收藏率都很高,但是阅读完成率却很低,阅读完成率低的原因也很好理解,读起来太累了。而且这种方式不容易写清楚一个知识点。
所以我尽量一篇文章讲一个知识点,配上完整的案例,不求多,只求大家看完一篇文章能 GET 一个技能,而且小伙伴们读起来也轻松。积累个几十篇文章后,做成一个系列,分享给小伙伴们,我觉得这种方式也挺香。
3.案例设计
每篇文章最好都有案例,而案例是需要设计的。
如果是涉及到知识点的文章,最好都有配套的案例,因为对于初学者而言,如果你文章写了很多字,但是却没有代码,他们可能还是看的一头雾水,把代码亮出来,一下就懂了,所以最好能够提供完整的案例。
这个案例代码不是随便撸一个,一般来说最好要提前设计案例,要去琢磨,什么样的案例,能够清楚的展示这个知识点。
我说一个案例设计的重要原则,就是尽量不要有无关的代码。
有时候一些无关的代码可以让案例看起来更加完整,但是,在初次介绍一个技术点的时候,还是不建议有无关代码。
4.做成系列
最后再来说说做成系列这个问题。
写博客,可能是工作中遇到问题的记录,也可能是单纯的介绍知识点,松哥的文章基本上都是以后者为主。
以前写 Android 的时候,还没形成写系列的习惯,但是也会围绕某一个主题来写;后来做 Java 之后,基本上都是系列了,Git 系列、Spring Cloud 系列、MongoDB 系列、Spring Boot 系列、前后端分离系列、OAuth2 系列、Spring 源码 系列、Docker 系列、MySQL 系列等等,我发现自己还是写了蛮多系列的。
为什么要写系列?
写博客不仅仅是教小伙伴们学习技术,也是博主自己梳理技术的一个过程,从这个角度来说,写系列文章有两个好处:
- 将自己的知识整理成体系,这对于自己技术上的提升是非常大的,你会发现你在工作中遇到的各种奇奇怪怪的 BUG 或者奇奇怪怪的需求,可能在该技术体系中都有对应的解决方案,而你如果没有成体系的去学习过该技术,那么遇到问题后可能就是东一榔头西一棒,面向搜索引擎编程,搞了半天最终还是没搞定。
- 对读者来说,成体系的学习也比碎片化学习要好很多,所以写成系列也会有更多的小伙伴愿意看你的文章。
每一个系列完结的时候,即是对自己的交代,也是对读者的交代。每一个系列完结的时候,就像以前考试结束的感觉,浑身上下非常轻松。
好啦,由稿费想到了一些关于写博客的问题,如果小伙伴们之前没写过博客,那么不妨现在就开始吧!种一棵树最好的时间是十年前,其次是现在。