我叫孤尽,是一名阿里工程师。如果说,我身上有一点点和普通工程师不一样,也许是更轴一点。比如我觉得 Java 是世界上最好的语言,没有之一。
前阵子,我又干了一件比较轴的事情。
我因为这件事曾被大家群嘲。有人还好奇地发帖:孤尽是谁?怎么胆子这么大,敢给整个阿里集团写技术规范?
插画师:赫柏
一个疯狂的主意
事儿得从两年前说起,有一次,我去参加一个跨部门的会议,开着开着,忽然掐起来了。
起因是两个团队使用的代码规范不一样,但都想让别人采用自己的。最后谁都说服不了谁,一个哥们气得嗷嗷叫,还有个哥们,恨不得要跳上桌子现场表演胸口碎大石。
长期以来,咱们程序猿虽然都靠武功行走江湖,但又各立山头。
大家的代码规范都不一样。我学降龙十八掌,你学蛤蟆功,还有人打还我漂漂拳,不按照一个“套路”出牌。单兵作战还好,遇到团体作战的时候,难免会因为要统一“出拳”的步调,牺牲掉一些效率。
想到这,一个大胆的念头冒了出来:为啥不做一个统一的规范出来,让大家达成共识呢!
这个疯狂的想法,我越想越激动,马上告诉了身边的小伙伴。
大家跟我想得一样,这个主意不但很疯狂,还很不靠谱。代码规范都是工程师们多年编码生的茧,岂能说改就改!
有人问我,谁给你的勇气,梁静茹全家吗?还有人说,规范又不是你的KPI!好好搬你的砖(黑话,指写代码)。
摄影师:俱往
搬砖的故事
别说,我还真搬过砖!
初二的时候,我不好好上课,天天在学校打架,后来我爹把我揪回了家,一顿胖揍之后,让我去家里附近的窑厂搬砖。
搬了大半年,有个亲戚来家里做客,看了我一眼,说,这个娃脑瓜子好使,但当不了房梁,只能当房椽,不堪大用。
那句话激怒我了,后来,我就去找我爹,我要回学校。我爹平静地告诉我,晚了,认命吧。
我就不认,我打死都不认。
回了学校,别人一题做一遍,我做三遍。寝室都睡了,我打着手电筒还在看书,就这样,从年级倒数第一,到了期末,我爬到了年级倒数一百。
在我们的人生中,一定会有一个人告诉你,这事太难了,别干了。
这个时候,一定要对自己说一句话:对于别人来说,也许是很难,但我不是别人啊。
从阿里 P5 到 P8
八年前,我笔试阿里失败,一气之下,我抱着自己的简历和一堆获奖证书跑到浙大准备安排面试的 HR,准备霸王面。
我还记得当时说了一句:你们错过了我,就错过了一个时代。特别感激那个笑得好看的 HR 大哥,并没有因为我不知天高地厚而生气,相反,他破例给了我一次面试的机会。
在阿里的八年,从 P5 到 P8,经历过很多挫折,也经历过晋升失败,虽然到现在,我还是没能改变一个时代,但我很开心,我给世界带来了一点点改变。
摄影师:启一
失败 99 次之后
2016 年 3 月,我在阿里 ATA(技术同学华山论剑处)上发表了第一版《阿里巴巴集团 JAVA 技术规范》。
觉得好的人有之,觉得不好的也很多。还有人觉得我胆子太大了,去知乎发帖,问孤尽是谁,怎么敢给整个阿里集团写技术规范?
每次被群嘲,晚饭我就让食堂阿姨多给我打两个鸡腿,安慰一下自己。有批评,证明有关注,有关注,就有希望。
那个时候,一个部门一个部门的去游说,失败了一次,就试第二次。失败了 99 次,那也还要再试一次,没别的,凑个整数呗。
也许是精诚所至,也许是走了狗屎运,阿里技术大牛多隆给我的规范做了推荐,被一个技术大牛看到,还引发了业内的讨论。
阿里在 Java 后端领域支撑起全球访问量最大的服务器集群;Java 代码构建的阿里双 11 系统订单处理能力达到 17.5 万笔/秒。如果能在这个基础上运营一套加强团队分工与合作、真正提升效率的规则,不就能撒豆成兵吗?
阿里巴巴 CTO 行癫说过一句话:“消防局最主要的工作不是灭火,而是为了不发生火灾建立很多规范。”
在这段时间,JAVA 规范前后改了很多版,从我一个人,到越来越多的程序员加入。我们相信,当规范改到第七版,我们就能召唤神龙。
其实,我们每一个行动,都需要消耗勇气。开始前的犹豫、行动中的波折、被质疑时的动摇……记住,千万别去管天多高地多厚,反正管了你就赢不了。
第 83 行代码
今年年初,代码规范终于实现了。
现在阿里所有的事业部都开始使用这个 JAVA 规范,所有人都开始奔着一个方向奔跑了。
今年,我和小伙伴又开始鼓励大家把写得好的代码,在内网上晒出来。这个过程不是找茬,而是让大家看看好在哪里,不好在哪里,做得好的学习,不好的避免再次掉坑里。
没想到的是,连马老师都来回贴了,“感谢大家的智慧和努力,更感谢大家的分享和敬业精神。我可以骄傲地说,我可以一辈子不用懂代码,因为我有你们!!!”
现在这个晒代码的帖子,已经有 5 万多人围观,400 多位技术极客们秀代码、亮肌肉。
通过算法,定期抓捕漂亮代码进行全员 review,我们正在推动它成为现实。小伙伴们还给这个项目起了一个性感的名字——第 83 行代码!
当然,最让我激动的,是食堂大妈终于记住我的花名了,有天我去打饭,她跟我说,还给我留了两个大鸡腿。
阿里程序员们在做代码 review
互联网世界的微光
最近,因为【第 83 行代码】活动,我认识了蔡勇斌。在他身上,我看到了太多的意外与可能。身为一名视障工程师,他从不觉得自己是个“弱者”,反而立志要去帮助更多的人。他成立了自己的公司,组建了全中国第一支信息无障碍工程师团队,帮助互联网产品进行信息无障碍测试。
孤尽(左)与视障工程师蔡勇斌(右)
因为他身上的坚决与希望,我毅然决定把“怀胎十月”写就的《码出高效》所有版税——10 万元,都捐出来给到蔡勇斌以及他的团队,用于开发无障碍技术,希望能够赋能他去帮助到更多像他一样的人。
而我也惊喜地看到,集团的其他技术书籍作者也和我一起,在世界读书日当天,将累计出售超 10 万本书籍的稿酬全部用于公益捐赠,用于乡村编程教育和无障碍开发。
小时候,我们总被教育,别不知道天高地厚,要有自知之明。自知之明的潜台词,大概是遇到困难,记得认怂。
但有的时候,请保留一些“不管天高地厚”吧。
敢不切实际地妄想,才敢不顾一切地努力啊。
你点的每个“在看”,我都认真当成了喜欢