又到了岁尾年初;年的氛围愈发浓了,家的感觉愈加近了。能够看到这篇文章的,想必大都是离家在外打拼的游子,一年下来,大家辛苦了,赶紧抢张火车票,过年回去看看爸妈吧!
一直以来,自己都有记录生活的习惯——用相机照下来,用纸笔写下来,用电脑打出来——回顾过去,是为了更好地展望未来;从自己和别人(尤其是别人)犯过的错误中吸取教训,是我向来推崇的高效成长方式。那么 2015 这一年,我又吸取到了什么教训,取得了什么样的成长呢?且听我慢慢道来。
2015 年初,是《 iOS 应用逆向工程(第 2 版)》即将出版的日子。因为这本书在国内外 iOS 底层圈子里产生的影响较大,不少我曾经的“老师”都开始学习这本书,所以对待这样的工程,当然不能有半点马虎。我一直都是一个自我要求严格到苛刻的人,为了让这本书几乎挑不出毛病,我将 所有 的休息时间都投入到了这本书结构的梳理和细节的完善上,终于完成了在第一版里没有做好的几点:
全书结构由表及里,由易到难,章节难度循序渐进,逻辑性大幅增强。我在书的骨架搭建上投入了与细节完善相同的时间精力,把原本零散的知识点梳理成了一条完整的学习路线,做到了我心中的最高标准。
吃透了第一版中所有含混不清的概念,把稍难理解的概念全都转化成通俗易懂的例子,配合代码予以讲解,力求让最初级的 iOS 工程师也能上手逆向工程,降低了这个行业的准入门槛,切实地推动了这个行业的发展。
基于以上两点,我认为这本书的标准已经达到了国际级,因此毛遂自荐地跟机械工业出版社的杨老师说,请她介绍国外的出版社给我认识。果不其然, CRC 出版社看中了这本书,并跟我们签订合同(点我),想要在美国出版发行这本书的英文版。
既然要走出国门,就更不能马虎了,英文版的质量也必须按照最高标准来。好么,又是几个月的不眠不休——
先发微博(点我),组织一支高质量翻译团队;
接着由我挨个“面试”(点我)申请人,考察他们的技术实力、英语水平,以及责任心;
从十数名申请人中,我最后敲定了一个 5 人翻译团队,他们分别是:
同时,我还邀请了学习逆向工程过程中认识的一帮良师益友,作为英文版的审稿人,从技术和语言两个角度帮我把关,力求打造一本高质量的教程书籍。他们分别是:
为什么要选择这些人作为审稿人呢?除了因为他们在 iOS 领域的深厚功底外,还因为英文版的书籍面向的是全球的 iOS 开发者,所以我的标准是,不求使用最纯正的美式 /英式英语,但求所有能读懂英文文献的读者可以看懂这本书想表达的意思。加上小弟在内,本书的审稿人来自北美、南美、欧洲和亚洲,几乎涵盖了全球主流地区,如果我们一致通过审核,这本书就可以达到国际标准。
把人找齐之后,翻译工作就可以正式启动了。我们是这样操作的:
先抽出一个月的时间,以周为单位划分成 4 周;每周翻译团队里的每人都要翻译同一段话,在截止日期前把各自的翻译提交给我;我把每个人的翻译整理成类似的格式,然后转发给 Codyd51 ,他帮我们修正一些明显的语法错误,并敲定翻译风格以谁为基准;然后我们在 QQ 语音里,由我主持,逐字逐句过每个人的翻译,目的是在纠正语法错误的同时,参考 Codyd51 的意见,以 Ziqi Wu 的翻译为基准,尽量统一大家的行文风格。
因为翻译团队的所有人都有自己的学习工作规划,所以也只能牺牲休息时间参与进来,经常就是周一到周四下班后抽时间翻译,周五开一晚上会讨论,周六消化吸收后继续开工,强度非常大。值得一提的是,因为时差的关系,美国微软的哥们无法参与我们的语音讨论,为后面的一次 掉链子 事件,埋下了隐患。
经过一个月的磨合,大家的英语功底得到了临阵磨枪的强化😁翻译风格也逐渐统一了起来。我把全书划分成了 5 个部分,每个部分约 25k 字,然后根据大家第一阶段的速度,制定了一个很短的翻译周期,只有一个月。
在这一个月里,每个人不但需要翻译自己的 25k 字,还需要精审另一个人的 25k 字,再粗审另一个人的 25k 字——即保证每个人起码有 2 次可以看到别人的翻译,从而要么指出对方的错误,要么调整自己的文字,通过这种交叉核验的方式,保证翻译的高质量和风格的高统一。
每人的 25k 字,又被划分成了 10k 、 10k 、 5k 这三个子部分,每完成一个子部分,大家就停下来互相检查一次。在这个时候,一个严重的问题出现了。
美国微软哥们的翻译是由 Ziqi Wu 精审的,他向我反馈,这哥们的翻译错误太多,完全改不动。我拿到他的翻译一看,低级错误百出,几乎等同于机器翻译水平。这大大出乎了我的意料——在美国读书和工作,何况是技术 leader ,直接领导美国人,英语再差,应该也比团队其他成员强吧?为什么出现了与我预期完全相反的极端情况呢?
在我的追问下,这个哥们承认,因为工作太忙,所以直接采用了 Google 翻译来交差。我草,当时我就震惊了;我至今也没想明白,明明是你主动请缨,又是代表中国形象,需要精益求精的事,如果 hold 不住,早点跟我说,换人不就好了么?为什么占着茅坑不拉屎,还要拿这么 low 的作品来糊弄人呢?
在翻译已经开启的节点换人,我不知道该去哪里找替代者,英语水平一般的我只好迎头顶上,然后拉着英语水平很好的 Ziqi ,跟我一起完成这个 X 哥们未竟的任务;还好 Ziqi 足够给力,顶住了这个哥们留下的大坑,在此向他表示特别的感谢。
这件事给我的教训是,纵使技术再好,人品不行,必须一票否决;技术好,人品棒,才是成为大牛的基本条件——因此,我一直都把“做一个好人”作为自己事业道路上的重要指标,不会因为一点眼前小利,而丢掉那份纯真;回过头来看,我的选择是正确的。
经过 2 个月的高强度翻译过程,整本书的翻译质量比较令人满意,老外审核员们可以比较流畅地看懂书中的内容。但此时, CRC 出版社的贺老师又告知我,他们需要近半年的时间来出版这本书,这直接增加了我的顾虑。
我的顾虑是什么呢?因为本书的第一版在编写时,针对的是 iOS 6 系统;而经过半年的出版周期,书在上市时, iOS 7 就已经出来了。由此导致的后果是,很多购买了第一版书的朋友,在边看边练时,发现书上内容跟实际操作对不上号——当然了, iOS 6 到 iOS 7 的底层变化那么大,能对上号才怪了!由于这本书面向的是 iOS 逆向工程领域的初学者,他们中的绝大部分在这个领域还不具备举一反三的能力,只能先照猫画虎,先行了解一下。而因为第一版尴尬的上市时间,照猫画虎的目的都没有达到,所以收到了不少负面评论。
如果 CRC 出版社在半年后出版这本书的英文版,那么同样的问题就会再次发生,而这次受影响的读者变成了老外。出版英文书的初衷本来是“提升中国 iOS 开发者在国际上的地位”,我不想因为某些原因,好心办了坏事,那就得不偿失了。我又在贺老师的帮助下,联系了 nostarch 和 O'Reilly 出版社,但得到的都是类似的回答——时间上来不及。因此,我在征得机械工业出版社和 CRC 出版社的同意后,撤销了合同,改把英文版的电子书放在了lulu (点我)平台上售卖👇
没想到,电子书发布后,马上就有人在 twitter 上私信(点我)我,想要在韩国出版这本书👇
后来得知,此人是韩国 Acorn 出版社的主编 Heejeong Kim (金熙真)女士;从其官网(点我)可以看出,这个出版社的书整体质量是很高的。但是,他们也需要半年的时间来出版这本书的韩文版,在经过一番详细沟通后,我还是善意地拒绝了 Acorn 的约稿。即便最后没有能够合作,但得到了他们的认可,我作为土生土长的中国作者,是很自豪的。
英文书稿在 lulu 上挂了一阵子之后,因为缺乏有效的宣传和营销,书的销量一直不高,只以每天 1~3 本的速度增长。眼看着 iOS 9 就要来了,书中内容会从某种程度上过期,我心想与其让这些宝贵的知识烂在肚子里,而仅仅是换个烟钱,还不如分享出去让大家都有所收获。因此,我在 GitHub 上开源了这本书,在国际 iOS 逆向工程社区引起了不小的震动——大家都开始谈论这本书,谈论这个论坛。
有 rpetrich 给我的留言(点我);
有美国网友把电子版全都打印(点我)了出来,开始学习;
也有逆向工程界的大牛帮我宣传(点我);
我也作为 WWJC 上的首位中国演讲人,在 2015 年的会议上做了个远程演讲(点我)。
至此,《 iOS 应用逆向工程》的使命已经达成,我投入的大量心血没有白费,这本书确实得到了全球的认可,达到了“提升中国 iOS 开发者在国际上的地位”的目标。这是 2015 年上半年我完成的一件大事,兑现了我在 2014 年许下的承诺。牛比!
此时的我,感觉已基本吃透了 iOS 用户层的逆向工程,由此延伸出去,不用花费太多精力,就可以掌握这个层面的几乎所有技术,竟也有了高处不胜寒的错觉😁此时的我,面临 2 个方向的选择:
继续深入研究 iOS 内核层,这条路的尽头,站着 Redsn0w 、 Greenpois0n 、 evad3rs 、盘古和太极等行业公认的顶级高手;
换换脑子,把自己变得一专多能。去接触接触业务,学习学习商业,为自己的事业道路拓宽视野,全方面提高自己的能力,做一些对社会有直接帮助的事。
因为已经意识到,自己纯钻技术的时间确实比较久了,在自己的专业方向比较专精了,但其他的方向还存在较大短板:与人打交道的能力,全盘思考问题的能力,组织能力,领导能力等等,几乎都停留在及格线以下;而这些能力是成就一番事业的必备能力,是不能忽视的。因此,我原本的打算是去一家纯正的互联网企业呆上 2 年,学习一下互联网的整套玩法,强化自己除技术以外的方方面面,谁知道一个突然的电话,打乱了我原本的安排,让我走上了创业这条雄关漫道。
一直以来,我对创业都抱持着开放态度,觉得这比在大公司当螺丝钉,每天把自己一滩事干好就可以高枕无忧要有吸引力的多。对于创业方向的选择,我也有自己的判断。我 不想 从事的方向,主要有这 3 个特点:
所谓“风口”。
我们程序员这个群体,每天对着电脑,说实话,相对于每天混社会的人来说,市面见得太少了,眼界狭隘太多了。如果一个行业对于程序员来说是风口,那么几乎所有人都会认识到这是个风口。而绝大多数行业,技术并不占主导地位,那么问题就来了,这种情况下,我们程序员的竞争优势在哪里呢?
所以,当曾经在风口上的那些方向(比如互联网金融、医疗、电商、打的士、送盒饭等)找到我的时候,我都没有加入——同质化太严重了,虽然一开始很容易拿到钱,但后续能活下去的不多。
不作恶。
我是一个老实人,是一个单纯的人,我不希望自己被当今这个浮躁社会上的一些虽然已被大家默认,但实际不符合我价值观的东西同化,例如及时行乐,作风开放,以及崇洋媚外。基于这些准则,有一些行业我是不做的:
手游。国内游戏的面向群体主要是青少年,还没有达到欧美日的水平以吸引成年人玩。既然面向的是年轻群体,那么游戏的门槛就必须低,让傻瓜都可以上手玩;同时,游戏要牢牢黏住玩家,才有钱赚。但是如果你站在一个家长的角度想想,你会让你的孩子玩这样一款游戏么?钱大把大把的赚,但是毁掉了一些年轻人的前途,跟贩毒的本质差不多;这个价值观,恕我不能苟同。
带约 X 性质的各种社交。还是换个角度,假设你有个女儿,你让不让她用这种 App ?如果你的答案也是不让,那就不要做。
一些打着硅谷旗号的假洋鬼子公司。一些国内水平还不错的工程师,内心里认为,给假洋鬼子打工,就要比跟中国人当兄弟强,感觉粘上点洋气,自己的鼻梁也瞬间高了起来。做出来的产品跟自己八竿子打不着,却死心塌地给假洋鬼子卖命;祖国已经站起来了,有些人却还跪着,这样的人我连看都看不起,别说一起合作了。
要接地气,不要伪文青。
伪文青玩的那套虚无缥缈的东西,卖卖情怀可以,不能当饭吃。创业不是过家家,不是在办公室养个猫就可以体现出多么人文的一面。多数的伪文青公司只是因为“创业”是当下的一件比较流行的事,才选择了创业;一如他们选择“文青”这个身份一样。
而我 想要 从事的方向,主要有这 3 个特点:
要冷门。
如果你看过我的书,可能还记得这句话——“如果我从事 Windows 相关的工作,起步会很顺利,但后续难保不被淹没在人海里;如果另寻他路,入门会很辛苦,但坚持下去或能独辟蹊径。”——我选择创业方向的思路,和我当时选择 iOS 的思路,是一脉相承的。
要给社会产生价值。
我不知道手游、约 X 这类东西,除了给国家贡献点税收和一堆扶不上墙的青少年之外,还有什么拿得出手的东西。我们应该以 Uber 、 SpaceX 、苹果这种真真儿推动人类发展的企业为榜样,而不是满足于在网上送个盒饭,发个自拍。
跟成熟的人合作。
我这就快三十而立的人了,跟满嘴跑火车的不靠谱的人,越来越没有共同语言了。跟成熟的人,跟靠谱的人,跟真正知道自己在干嘛的人合作,即使辛苦,也不会感觉那么辛苦。
而我现在所从事的方向(点我),满足了我的 3 要 3 不要:
创始人是 82 年的,比我大 5 岁,成熟男人;有家有口,创业前在大摩工作。能在大摩工作的,都是精英;精英放弃优渥的工作待遇,苦哈哈地从头创业,一定有他的原因。成熟的人做出一个重大的决定,背后一定有一个更大的计划;我详细询问、仔细思考了这个计划,也觉得非常靠谱;
这个方向是 2B ( to business )的业务,跟已是一片红海的 2C 业务玩法非常不同。因为 2B 的业务门槛较高,需要业内人士主导方可顺利推进,外行根本不懂我们在做什么,因此比较冷门。但是也只有冷门才能做大——因为竞争对手少嘛!热门的东西大家都在做,你有什么资本保证可以比别人做得更好?我相信大多数人其实是没有答案的。
为这个行业带来了价值。我们想用科技的手段提高这个行业的效率,制定一套更规范的标准,而不是投入大量资金搅乱现有的市场。这个价值观我非常认同,而我也认为只有拥有相同的价值观,才有可能一直走下去。
你来或者不来,大公司一直都在那里,安静地做一个美男纸,只要能力好,什么时候都可以进去;可好的项目却不常有,错过了就错过了。于是我调整了自己的计划,取消了自己去互联网公司锻炼 2 年的安排,直接加入华寓中国,开始了新一轮的战斗。迄今,我们已战斗一年有余,其中的酸甜苦辣不计其数,浓缩成一句话,就是:“创业是我到目前为止做过最难的一件事。”截取几个片段分享一下😉
因为巨大的压力,我的皮肤出现了大面积过敏,随便一抓,就会起一片红斑。在北京融资期间, CEO 和我为了节省开支,住在廉价的旅馆里,我们回顾白天的 pitch ,总结可以改进的地方,然后更新到 pitch 里,经常一讨论就到了深夜。而我因为皮肤过敏的瘙痒,经常彻夜难眠,第二天还要强打起精神,以一个干劲十足的形象出现在团队其他成员面前,给他们打气;
1.0 产品的策略出现偏差,目标用户群体不太买账,用户数量增长十分缓慢。 iOS 工程师和后端工程师觉得没有前途,选择了退出;虽然他们已经离开,但仍然感谢他们为华寓中国做出的不可替代的贡献🙏。产品的迭代没有人来落实,我们陷入了非常被动的局面。我停掉了坚持 4 年的夜跑,放下了手中的吉他,顶着“如果找不到人,这项目就黄了”的巨大压力,充分利用一切时间来寻找新的团队成员,经常在夜里 3 、 4 点给潜在合作对象打电话,当然,失望远多于希望😉
投资人看不懂这个方向,从外行的角度百般质疑。不得不说,“土豪”这个词的出现,是有一定道理的。我们做的是 2B 的方向,冷门的方向,绝大多数投资人看不懂;他们更看得懂游戏,约 X ,送盒饭这种“刚需”,却对某个成熟行业里存在了几十年的现象视而不见,认为这是伪需求。到最后,我们甚至自己都开始质疑自己,是否选错了方向。
如果你认为我们就此消沉,一蹶不振,那你就错了。我们就像打不死的小强,奇迹般地存活了下来——
我们通过找外包,找朋友帮忙等各种方式,生生扛出了 2.0 产品。
2.0 比 1.0 生动了许多,并且在原有产品种类基础上作出进一步扩充,丰富了自己的产品线,得到了一些业内人士的认可,在业内打开了口碑。
更多业内人开始找到我们,想跟我们聊聊;我发在 V2EX , OSChina 上的几个招聘帖,也都取得了不错的反响,开始有一些工程师主动找到我们,了解我们;也有投资机构开始找上门来,约谈项目。
就像大家愿意看到的那样,我们取得了阶段性胜利。我们组建了一支还不错的团队,并顺利拿到了天使轮融资。
我们生扛过了创业最最黑暗的时期,迎来了黎明前的一丝曙光。我想,下面这组照片,或许可以说明很多问题了:
第一个办公室(点我),只有 4 个工位;没有钱租更大的地方,大家挤一挤,更暖和😁
第二个办公室(点我),搬到了一个民宅里,商住两用😉图中,我们正在学习 WeWork 的产品😊
第三个办公室(点我),搬到了一个民宅改成的办公室里,仍然商住两用😁
拿到了天使融资,我们搬到了第四个办公室(图 1 (点我),图 2 (点我),图 3 (点我)),一个真正的办公室😂
或许只有真正的实干家,才能真切体会到这个变迁的来之不易。我身上的过敏已经消退得差不多了,我也终于可以长出一口气了——
然后继续鼓足干劲,投入新一轮的战斗💪
这就是我 2015 一整年的收获,如果用一个词概括,就是“精彩”。这一年里,时常有人问我,凭你的实力,完全可以去 BAT 斩获一份不错的工作,然后每天投入 2~3 个小时,就可以轻松完成任务了啊?为什么要苦哈哈地折磨自己呢?
我总是一笑而过,安静不语。“黑咖啡那么浓,没有喝过的人不会懂”;“我们用多一点点的辛苦,来交换多一点点的幸福”,如果你可以理解这 2 句歌词的含义,也许你就能够读懂我的沉默😊
2016 年期待:
最后,还是以我喜爱的那首诗作为结尾吧。每当我因与众不同,而怀疑自己的决定时,我都会朗读这首诗,它让我平静,给予我力量。
黄色的树林里分出两条路,
可惜我不能同时去涉足,
我在那路口久久伫立,
我向着一条路极目望去,
直到它消失在丛林深处。
但我却选了另外一条路,
它荒草萋萋,十分幽寂;
显得更诱人、更美丽,
虽然在这两条小路上,
都很少留下旅人的足迹。
虽然那天清晨落叶满地,
两条路都未见脚印痕迹。
呵,留下一条路等改日再见!
但我知道路径延绵无尽头,
恐怕我难以再回返。
也许多少年后在某个地方,
我将轻声叹息把往事回顾:
一片树林里分出两条路,
而我选了人迹更少的一条,
从此决定了我一生的道路。
谢谢大家!(全文完)
我们还在持续寻找优秀的人才加入我们。这里(点我)有一份我们的详细介绍,我们的联系方式也附在了末尾,如果你感兴趣,请给那个地址发邮件。谢谢!
1
lawder 2016-01-16 00:52:34 +08:00 via iPhone
认真看完了,感觉很靠谱,帮狗神顶下~
|
2
xiaoshenke 2016-01-16 00:57:26 +08:00 via Android
顶一下
|
3
aias 2016-01-16 00:57:50 +08:00 via Android
哦?
|
4
v2xeuser 2016-01-16 02:49:23 +08:00
非常厉害!
|
5
russj 2016-01-16 05:16:49 +08:00
感觉去做这个创业可惜了
|
6
dubuqingfeng 2016-01-16 09:48:53 +08:00
赞、那会在微博上看到了、
|
7
LSBs 2016-01-16 12:38:22 +08:00
po 主文字功底很不错,思路条理清晰. 伪文青: 多数的伪文青公司只是因为“创业”是当下的一件比较流行的事,才选择了创业;一如他们选择“文青”这个身份一样。 办公室养个猫公司就有情怀. 这两句话形容的太贴切啦. 身边太多这种人啦. 各种观点都很赞同. 就是觉得租办公室这个房产项目好像并不是那么冷门.
|
8
snakeninny OP @lawder 谢谢!
|
9
snakeninny OP @xiaoshenke 谢谢!
|
10
snakeninny OP @aias 嗯?
|
11
snakeninny OP @v2xeuser 谢谢!
|
12
snakeninny OP @russj 此话怎讲?
|
13
snakeninny OP @dubuqingfeng 谢谢!
|
14
snakeninny OP @LSBs 为什么会感觉不那么冷门呢?
|
15
vikeria 2016-01-17 00:28:53 +08:00 via Android
看到帖子就给狗神来顶一记
|
16
Levyzzz 2016-01-17 00:39:07 +08:00
楼主的三观好正,我也想做这样的事情。现在的互联网创业公司真的是太浮躁,实习四个月技术学习了很多,老板饼画了很多,跟三观冲突的东西妥协了很多。我想明年我应该再任性一次,去考个研,好好再了解计算机这门科学,做对社会有用的事。希望新年能坚持!
|
17
snakeninny OP @vikeria 谢谢!
|
18
snakeninny OP @Levyzzz 好公司还是很多,要挑挑
|