我拿到《Django企业开发实战》样书之后发了个朋友圈,获得了近几年最多的赞数。正在我欣慰之余,被问到了一个猝不及防的问题:
哇,你出版了一本书,好厉害。花了多少钱?
-此处有图片:黑人问号脸(自行想象)-
差点一口老血出去。
本来以为只是个别人不了解行情,但随着越来越多的人这么问,我不禁开始思考:我的视野是不是被行业束缚了,导致我以为所有人都能知道出书的是怎么回事。
这显然就是「你认为你看到的世界就是全部世界综合征」。
所以在这里 the5fire 姑且大概说下出版书的过程,仅针对技术类书籍。
需求
如何能开始写书,其实我在之前的《Django企业开发实战》成书的故事视频中也有介绍到:
如果你一直在写博客,那你肯定收到过出版约书的邮件。第一次收到会觉得异常兴奋,心想着总算没白写这么多文字,你看看还是有人识货的嘛。
有兴趣的可以点击:《Django企业开发实战》成书的故事v1.1- 视频版 过去看看视频,介绍的比较详细。
再说到出版这个事,其实工作一段时间的人都能理解,大部分的公司都会指定每年或者每个极端的KPI(关键绩效指标),对于出版社来说也是一样,他们需要出版足够的书籍。于是出版社的编辑们找作者、约稿、写书也都是必然的。所以你也就不难理解,为什么你写了几篇文章就会有编辑来找你问:“大神,你这么厉害,有没有兴趣写本 xxx 方面的书啊”。
另外需要知道的是,对于技术图书来说,原创书是比较少的,因为市场关系:有能力写书的人不在乎写书挣的这点钱。所以出版社对于有写书能力的作者是“如饥似渴”。
这是需求上的事,接着再来说流程上的事,让有写书想法的人有个参考。
选题
当你跟出版社的编辑老师接上头之后,需要做的就是提出你的选题,也就是想写哪方面的图书,市场怎么样。一般来说出版社也会有自己的选题,毕竟出版方面人家更专业,市场上有哪些书,卖的怎么样,人家懂行。不过你也可以自己选择,比如像我写《Django企业开发实战》,在Python领域是比较流行框架,市场上没有这方面的书。(当然,虽然市场上有,但是内容是有很大差异的)。
选题提交完之后需要出版社还需要审核,毕竟不能你说写啥就写啥。不过审核方面,各个出版社不一样,有的严格点,有的是有人写书就很高兴。
当然还有一点是需要作者(也就是你)给出详细的大纲,以及写一两节或者一章。毕竟要看看能不能写。
通过后会开始签订合同之类的协议,约定费用和交稿时间等。
这些是正式开始写之前的流程。
写作
之后就是漫长的写作过程了,the5fire认为写技术书不能称之为创作,应该成为抽象,把自己的经验进行总结,抽象成文字来表达。
这个过程只能说比较煎熬。怎么说呢,就像是让你把自己的代码不断的重构,自己再 Review,然后再重构的过程。更重要的是,这个反馈周期很漫长,不像是写篇博客,花几个小时写完,然后发布,能看到有人在读,有人评论。
对我而言,比较好的一点是编辑老师不会催稿,(难道是我写的比较快 -.-! ),要知道合同里可是写了交稿时间,以及违约费用的。跟编辑老师沟通,基本不会有违约的情况,如果是在不想写那也就那样了。还是上面的逻辑,找个能写书且愿意写书的人不太容易。
这是自己写作的阶段。等写完之后,书稿会交给出版社编辑来 Review,这会儿就体现出来高中作文的重要性了。日常写作很多东西是不怎么注意的,但是出版物上是必须严格的。总之第一波的 Review 会比较惨烈。
这个过程跟代码维护是一样的,这里有一个小的Tips,如果编辑提了问题给你,你只需要去处理对应问题就好了,别再“重构”了。对the5fire来说,每次读一遍自己写的东西,总想着再重构一下。但,重构就意味着可能产生行的 Bug。这个逻辑跟工程上修 Bug 没区别:解决问题时别重构代码。
这也是写书和自己写博客的差别所在,可以理解为自己写一些 Demo 程序和写生产环境上系统的差别。
审核
之后就是一审、二审、封面了。这个也是漫长的过程,这里就不展开了,有很多细节需要注意。关于封面,我放到下篇文章中说。另外,你觉得本书封面咋样?能不能理解其含义。
那么到底花了多少钱呢?
如果要根据上班单个小时的收入来算写书的成本的话,这个数字我是不想看的,不然会觉得自己亏了太多。好在写书除了金钱收入外还有其他的收益,比如说你可以让自己的经验能够对别人或多或少有些帮助,不至于烂到肚子里;比如说,你可能结识很多你之前无法认识到的人,虽然互联网是公开的,但是每个渠道都有特定的人群,这点从我博客、微信公众号、知乎专栏的对比就能看出来。
如果有人问我建不建议写书的话,我还是会建议写的,就像对于有兴趣写程序的人,一定要去写一些部署到线上,能被人使用的程序一样。但是想靠写技术书维持生活,我觉得不太现实。
相关文章
我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=13ha4f6j1trn2
- from the5fire.com微信公众号:Python程序员杂谈