技术图书作译者的炼成方法

前段时间, 我接受了《代码时间》播客的邀请, 到他们的节目上分享了一些关于写作和翻译方面的经验, 这篇文章就是当时节目分享中关于出书部分的精简和脱水版本。

注意, 因为本文是根据回忆修改和整理而成的, 所以与录音节目中的内容可能会有一定差异。 另外本文中《Redis实战》翻译过程相关的内容不少都是新增的, 这些内容在录音中没有提及。

除了本文提到的内容之外, 我在节目里面还分享了很多其他方面的信息, 如果你对本文感兴趣的话, 不妨也去听听节目的录音, 节目的内容比本文要丰富得多: https://codetimecn.com/episodes/publish

你是谁,做过些什么

我叫黄健宏, 网络 ID 为 huangz , 最近几年都在做一些计算机方面的写作和翻译工作。

我写过一本名为《Redis设计与实现》的书, 也翻译过《Redis in Action》的简体中文版《Redis实战》

除了正式出版的这两本书之外, 我还翻译和写作过一些开源的文档, 比如《Redis命令参考》《Disque 使用教程》以及《SICP 解题集》等。

至于近期的工作方面, 我目前正在写一本名为《Redis使用教程》的书, 跟前面提到的《Redis设计与实现》相比, 前者关注的是 Redis 的内部实现, 而后者关注的则是怎样使用 Redis 去实现各种各样的应用, 比如队列、锁、用户关系等; 与此同时我也在翻译一本英文的技术著作, 目前已经完成了一半左右。 如果一切顺利不拖稿的话, 这两本新书应该都会在 2017 年跟大家见面。

为什么会想到写《Redis设计与实现》这本书,以及这本书是如何出版的

刚开始只是随便写着玩。 当时是 Redis 用得比较多, 出于性能和 debug 方面的原因, 就开始对它的内部实现产生兴趣了。

当时正好认识了 hoterran , 他把自己写的一本关于 Redis 源码的小书给我看了之后, 引起了我对 Redis 源码的兴趣。 于是我也开始着手研究 Redis 的源码: 具体的方法就是一边阅读它的源码, 一边对其进行注释, 慢慢地就将 Redis 数据结构方面的几个模块都注释完了。

因为代码注释终究属于比较细节和片面的资料, 而我想要通过更高层次的角度去描述 Redis , 所以我就开始通过写博客文章的方式去记录 Redis 各个模块的实现原理, 并在这些文章里面通过图片、表格和流程图去对这些模块进行描述。

因为这些文章在微博、豆瓣以及 iammutex 的 NoSQLFan 上面都得到了不错的反响, 于是我就想:“如果把这些文章汇集成一本书并发表出来,应该会蛮有趣的”。 于是我就又看了更多模块, 写了更多文章, 并把之前写过的文章修正和改写了一下, 凑齐了二十多章的一本书, 并在 2013 年的 3 月 8 日发布了《Redis设计与实现》的网络版

在网络版发布之后, 机械工业出版社的吴怡编辑通过 hoterran 的介绍联系到我, 邀请我写一本正式版的《Redis设计与实现》, 我答应了这个邀请, 然后在经过一年多的写作之后, 《Redis设计与实现》的正式版本终于在 2014 年 6 月份发布了。

为什么会翻译《Redis in Action》这本书,以及这本书的翻译过程

早在 2013 年的 4 月份, 人民邮电出版社的杨海玲编辑就联系过我, 询问我是否有兴趣翻译《Redis in Action》(中文名《Redis实战》)一书, 但是因为我当时正在进行《Redis设计与实现》正式版的写作工作, 所以就遗憾地拒绝了这一邀请。

在同一年的 10 月份, 《Redis设计与实现》正式版的写作工作即将要完成的时候, 我又发现了杨编辑在微博上为《Redis实战》一书寻找译者的消息, 经过询问, 才知道这本书在这半年间一直没有找到合适的译者。 因为我自己很喜欢《Redis实战》这本书, 并且当时《Redis设计与实现》正式版的写作工作也已经接近尾声, 所以我就向杨编辑接下了翻译《Redis实战》的工作。

虽然之前已经做过一些开源文档的翻译工作, 但翻译图书对于我来说还是第一次, 所以我在翻译《Redis实战》一书的过程中下了很大的功夫:

  • 比如说, 每当我开发出一种新的翻译技巧或技术时, 我都会将这些技术记录到博客里面和大家分享, 当我翻译完《Redis实战》的时候, 类似的文章在我博客上已经发表了十多篇。

  • 另外对于《Redis实战》这种 300 页左右的图书来说, 出版社一般只会给译者三四个月, 最多半年的时间来进行翻译, 但是《Redis实战》的翻译工作却跨越了一年半之久。

对《Redis实战》的翻译过程感兴趣的读者, 可以参考我之前写的《Redis in Action》翻译记事以及《Redis实战》一周年回顾这两篇文章。

专职作家如何才能养活自己

写一本书的收入主要跟书本的销量有关, 具体收益可以通过以下公式计算:

定价 * 销量 * 版税率 = 税前收入

其中:

  • 定价就是你书本的售价, 比如 49、 59、 79 等等。

  • 销量就是你书本卖出的数量, 比如 1 千册, 5 千册等等。

  • 版税率就是出版社买了你的版权之后, 每卖出一本书给你的报酬, 通常是书本定价的 7% ~ 10% , 但不同出版社、不同作者的版税率可能会有所不同。

以上三个数相乘, 就得出了作者的税前收入。 在这个基础上, 还要减去个人所得税, 一般一万块钱稿费就要减去一千多, 作者拿到手的就八千多。

根据书本售价和版税率的不同, 作者的收入也会有所不同, 但总的来说, 如果作者写一本书, 一年能够卖出 3 万册的话, 那么这本书给作者带来的收益和他在 IT 公司当一个普通程序员获得的收益是差不多的, 如果你想要获得更好的收益的话, 就要卖出更多的书才行。

当然, 3 万册并不是一个容易达到的数字: 有些书如果卖得不好的话, 可能在第一次印刷(通常是3~5千册,又或者 1 万册等)之后就不会加印, 又或者只加印几次, 累积个一两万册, 但都达不到我们这里所说的 3 万册的标准, 所以把写书当做职业的话, 比起当程序员的风险是要高不少的。

你是如何成为作译者的

因为对计算机的喜爱, 我在高中二年级就从学校退学了, 并开始专心自学计算机编程。 在之后的数年里面, 我通过网上的 OCW 课程以及各种经典的计算机书籍获得了基本的计算机知识。

然后我就开始写程序, 并进行一些开源文档的翻译和写作工作, 之后又接触到了数据库以及 Redis , 然后就发生了上面所说的一切。

对于想成为技术图书作者或者译者的人,有什么建议

想要成为作者的朋友, 一开始不要心急, 可以像我一样, 先定个小目标:

  • 刚开始先写几篇博客, 写完几篇之后再写几篇, 写完几篇之后再写几篇, 然后你就有了十篇八篇文章了。

  • 接着在这个基础上再扩展和修改, 凑够十几二十篇文章, 你就有了一本书。

  • 然后你就可以联系出版社的编辑, 看他们是否有兴趣出版你的书; 又或者, 你也可以在网上书店又或者 GitBook 、 LeanPub 等平台上发布你的书。

至于译者来说, 我感觉最重要的是“认真”:

  • 在进行翻译的时候, 遇到不认识的单词可以查, 遇到不认识的语法也可以查, 遇到不了解的内容可以在 Google 上搜索或者在维基百科上进行查找, 所以你很少会遇到技术上的难题。

  • 既然技术上不会出现难题, 那么决定翻译作品质量的就是译者的态度了: 只要你足够认真地对待翻译工作, 那么出来的作品就会比较好; 但如果你不认真对待这个工作的话, 那么出来的作品可能就会不如人意。

最后, 因为出书跟编程以及其他所有事情一样, 都需要一个循序渐进的过程, 所以无论是作者也好, 译者也好, 如果刚开始推出的作品在影响力和收益方面没有达到你想要的目标, 也请不要灰心 —— 只要努力地在这个领域耕耘下去, 我想你迟早也会创造出受读者欢迎的作品, 并成为一个能够以写作和翻译为生的技术作者和译者的。

黄健宏
2017.1.25