这个阿里程序员,干了件很轴的事儿

摘要: 我叫孤尽,是一名阿里程序员。 如果说,我身上有一点点和普通程序员不一样,也许是更轴一点。比如我觉得JAVA是世界上最好的语言,没有之一。 最近,我又干了一件比较轴的事情。 我因为这件事曾被大家群嘲。有人还好奇地发帖:孤尽是谁?怎么胆子这么大,敢给整个阿里集团写技术规范? 插画师:赫柏 一个疯狂的主意 事儿得从两年前说起,有一次,我去参加一个跨部门的会议,开着开着,忽然掐起来了。

我叫孤尽,是一名阿里程序员。

如果说,我身上有一点点和普通程序员不一样,也许是更轴一点。比如我觉得JAVA是世界上最好的语言,没有之一。

最近,我又干了一件比较轴的事情。

我因为这件事曾被大家群嘲。有人还好奇地发帖:孤尽是谁?怎么胆子这么大,敢给整个阿里集团写技术规范?


插画师:赫柏

一个疯狂的主意

事儿得从两年前说起,有一次,我去参加一个跨部门的会议,开着开着,忽然掐起来了。

起因是两个团队使用的代码规范不一样,但都想让别人采用自己的。最后谁都说服不了谁,一个哥们气得嗷嗷叫,还有个哥们,恨不得要跳上桌子现场表演胸口碎大石。

长期以来,咱们程序猿虽然都靠武功行走江湖,但又各立山头。

大家的代码规范都不一样。我学降龙十八掌,你学蛤蟆功,还有人打还我漂漂拳,不按照一个“套路”出牌。单兵作战还好,遇到团体作战的时候,难免会因为要统一“出拳”的步调,牺牲掉一些效率。

想到这,一个大胆的念头冒了出来:为啥不做一个统一的规范出来呢,让大家达成共识呢!

这个疯狂的想法,我越想越激动,马上告诉了身边的小伙伴。

大家跟我想得一样,这个主意不但很疯狂,还很不靠谱。代码规范都是程序员们多年编码生的茧,岂能说改就改!

有人问我,谁给你的勇气,梁静茹全家吗?还有人说,规范又不是你的KPI!好好搬你的砖(黑话,指写代码)。


摄影师:俱往

搬砖的故事

别说,我还真搬过砖!

初二的时候,我不好好上课,天天在学校打架,后来我爹把我揪回了家,一顿胖揍之后,让我去家里附近的窑厂搬砖。

搬了大半年,有个亲戚来家里做客,看了我一眼,说,这个娃脑瓜子好使,但当不了房梁,只能当房椽,不堪大用。

那句话激怒我了,后来,我就去找我爹,我要回学校。我爹平静的告诉我,晚了,认命吧。

我就不认,我打死都不认。

回了学校,别人一题做一遍,我做三遍。寝室都睡了,我打着手电筒还在看书,就这样,从年级倒数第一,到了期末,我爬到了年级倒数一百。

在我们的人生中,一定会有一个人告诉你,这事太难了,别干了。

这个时候,一定要对自己说一句话:对于别人来说,也许是很难,但我不是别人啊。


摄影师:启一

失败99次之后

2016年3月,我在阿里ATA(技术同学华山论剑处)上发表了第一版《阿里巴巴集团JAVA技术规范》。

觉得好的人有之,觉得不好的也很多。还有人觉得我胆子太大了,去知乎发帖,问孤尽是谁,怎么敢给整个阿里集团写技术规范?

每次被群嘲,晚饭我就让食堂阿姨多给我打两个鸡腿,安慰一下自己。有批评,证明有关注,有关注,就有希望。

那个时候,一个部门一个部门的去游说,失败了一次,就试第二次。失败了99次,那也还要再试一次,没别的,凑个整数呗。

也许是精诚所至,也许是走了狗屎运,阿里技术大牛多隆给我的规范做了推荐,被一个技术大牛看到,还引发了业内的讨论。

阿里在Java后端领域支撑起全球访问量最大的服务器集群; Java代码构建的阿里双11系统订单处理能力达到17.5万笔/秒。如果能在这个基础上运营一套加强团队分工与合作、真正提升效率的规则,不就能撒豆成兵吗?

阿里巴巴CTO行癫说过一句话:“消防局最主要的工作不是灭火,而是为了不发生火灾建立很多规范。”

在这段时间,JAVA规范前后改了很多版,从我一个人,到越来越多的程序员加入。我们相信,当规范改到第七版,我们就能召唤神龙。

其实,我们每一个行动,都需要消耗勇气。开始前的犹豫,行动中的波折,被质疑时的动摇……记住,千万别去管天多高地多厚,反正管了你就赢不了。


第83行代码

今年年初,代码规范终于实现了。

现在阿里所有的BU都开始使用这个JAVA规范,所有人都开始奔着一个方向奔跑了。

今年,我和小伙伴又开始鼓励大家把写得好的晒代码晒出来,甚至被重新review。

这个过程,不是找茬,而是让大家看看好在哪里,不好在哪里,做得好的学习,不好的避免再次掉坑里。

连马老师都来回贴了,“感谢大家的智慧和努力,更感谢大家的分享和敬业精神。我可以骄傲的说,我可以一辈子不用懂代码,因为我有你们!!!”

现在这个晒代码的帖子,已经有5万多人围观,400多位技术极客们秀代码、亮肌肉。

通过算法,定期抓捕漂亮代码进行全员review,我们正在推动它成为现实。小伙伴们还给这个项目起了一个性感的名字——第83行代码!

当然,最让我激动的,是食堂大妈终于记住我的花名了,有天我去打饭,她跟我说,还给我留了两个大鸡腿。


阿里程序员们在做代码review

从阿里P5到P8

八年前,我笔试阿里失败,一气之下,我抱着自己的简历和一堆获奖证书跑到浙大准备安排面试的HR,准备霸王面。

我还记得当时说了一句:你们错过了我,就错过了一个时代。特别感激那个笑得好看的HR大哥,并没有因为我不知天高地厚而生气,相反,他破例给了我一次面试的机会。

在阿里的八年,从P5到P8,经历过很多挫折,也经历过晋升失败,虽然到现在,我还是没能改变一个时代,但我很开心,我给世界带来了一点点改变。


这是我的照片,怕掉粉现在才上

小时候,我们总被教育,别不知道天高地厚,要有自知之明。自知之明的潜台词,大概是遇到困难,记得认怂。

但有的时候,请保留一些“不管天高地厚”吧。

敢不切实际地妄想,才敢不顾一切地努力啊。

本文作者:所长

原文链接

本文为云栖社区原创内容,未经允许不得转载。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/521618.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

360路由器v2刷第三方固件_魔百盒M301H-BYT代工MV300H芯片第三方优化刷机卡刷固件下载_移动魔百和 ROM固件...

魔百盒M301H-BYT代工MV300H芯片第三方优化刷机卡刷固件下载固件介绍:1、不带ROOT权限,适用于魔百盒M301H-BYT代工MV300H芯片。2、调出原厂固件屏蔽的wifi,开放原厂固件屏蔽的市场安装和u盘安装apk;3、无开机广告,无系统…

CVPR!你凭什么收录我3篇论文!?

摘要: 在近日举行的年度计算机视觉和模式识别盛会CVPR上,阿里云ET城市大脑的三项视觉技术论文成功入选。 别急着找原因,咱们先了解下什么是CVPR。 这个由专业技术学会IEEE(电气和电子工程师协会)主办的组织全称叫Confe…

c语言中循环结构的作用,C语言中对于循环结构优化的一些入门级方法简介

一.代码移动将在循环里面多次计算&#xff0c;但是结果不会改变的计算&#xff0c;移到循环外面去。例子&#xff1a;优化前&#xff1a;void lower1(char *s){int i;for(i0;iif(s[i]>A&&s[i]<Z)s[i]-(A-a);}优化后&#xff1a;void lower2(char *s){int i;int l…

10分钟Get拥抱无服务的正确姿势

戳蓝字“CSDN云计算”关注我们哦&#xff01;译|孔子东游文|Bob Violino来源|INSIDER PRO无服务器计算旨在实现基础设施的自动化配置以及消除服务器管理的负担&#xff0c;但是你真的准备好使用TA了吗&#xff1f;根据研究公司Markets and Markets 的2018年报告&#xff0c;无服…

DRUID连接池的实用 配置详解

文章目录DRUID介绍配置参数基于纯Java代码使用(不建议使用)&#xff1a;ds.properties内容&#xff1a;基于Spring的配置&#xff1a;浏览器验证功能DRUID介绍 DRUID是阿里巴巴开源平台上一个数据库连接池实现&#xff0c;它结合了C3P0、DBCP、PROXOOL等DB池的优点&#xff0c…

深度学习最佳实践系列——权重w初始化

摘要&#xff1a; 本文是深度学习最佳实践系列博客之权重初始化&#xff0c;主要介绍权重初始化的相关问题及方法&#xff0c;文中提及的权重初始化方法均可以应用于普通的神经网络、卷积神经网络和递归神经网络之中。作为深度学习的初学者&#xff0c;我有意识到的一件事情&am…

arcmap发布三维地图_如何使用高程DEM建立三维地图模型(Arcgis ArcScene)

同步视频教程(一)&#xff1a;(二)&#xff1a;(三)&#xff1a;最新三维&#xff1a;相关教程&#xff1a;3DMAX三维制作地形图教程 工具准备1、BIGEMAP地图下载器2、ARCGIS10.23、global mapperARCGIS下载地址&#xff1a;Global mepper下载地址&#xff1a;资料准备下载你必…

七种功能强大的聊天机器人平台

摘要&#xff1a; 本文主要介绍了七种功能强大的聊天机器人开发平台的特点与优点。聊天机器人发布平台是用户访问和使用聊天机器人的媒介&#xff0c;现在流行的一些聊天机器人发布平台有FB Messenger、Kik、Slack、Telegram以及WeChat。而聊天机器人开发平台是可以创建聊天机器…

uft自动化测试工具安装步骤_自动化功能测试和接口测试工具整理

对于自动化测试&#xff0c;原来谈这方面的内容比较少&#xff0c;但是现在我们做DevOps支撑平台的时候&#xff0c;在整个持续集成和交付的过程中&#xff0c;有一个重要的内容就是自动化测试。自动化测试的覆盖面相当大&#xff0c;其中既包括了CS&#xff0c;BS和移动APP的自…

SSM整合Druid数据库连接池

源码地址&#xff1a;https://gitee.com/gb_90/ssm_druid

奖学金c语言程序,奖学金 (C语言代码)

解题思路:没什么特别的计算&#xff0c;就照原题思路走一遍就行了。注意事项:参考代码:#include#includeint change( int a[500][4],int i,int j){int t;ta[i][0];a[i][0]a[j][0];a[j][0]t;ta[i][1];a[i][1]a[j][1];a[j][1]t;ta[i][2];a[i][2]a[j][2];a[j][2]t;ta[i][3];a[i][3…

实操教程丨如何将一个k3s集群集成到Gitlab项目中

作者|RancherLabs来源|CSDN企业博客关于k3sK3s是由Rancher Labs发布的一个轻量级Kubernetes发行版&#xff0c;这款产品专为在资源有限的环境中运行Kubernetes的研发和运维人员设计。它是经过认证的Kubernetes发行版&#xff0c;其最低的系统要求为&#xff1a;系统内核版本&am…

30个免费资源:涵盖机器学习、深度学习、NLP及自动驾驶

摘要&#xff1a; 本文是一份免费资源清单&#xff0c;涵盖机器学习、深度学习、NLP、AI以及自动驾驶&#xff0c;方便相关研究者选择自己感兴趣的内容资源进行学习随着碎片化的生活越来越日常化&#xff0c;大多数人都喜欢看总结性的的文章&#xff0c;这和时间成本有一定的关…

opendir是安全重入函数吗_Linux系统下读取目录操作及可重入函数介绍

-----在写文章之前&#xff0c;分享一下今晚看伟东山老师的直播收获心得。我自身是一个小菜鸟&#xff0c;第一次听QEMU模拟器软件&#xff0c;不过听完老师的介绍感觉这功能好强大&#xff0c;感觉都不用买硬件了来做实验的(不过还是建议买开发板来做实验&#xff0c;比较有感…

阿里AI界的新伙伴,1秒钟自动生成20000条文案

摘要&#xff1a; 最近&#xff0c;阿里“AI家族”又多了一位新的小伙伴——“AI智能文案”&#xff0c;俗称文案妹。 妹妹具备一个超能力&#xff0c;能仅用1秒钟自动生成20000条文案。 来&#xff0c;大家一起感受一下&#xff1a; 比如说你想买瓶粉底液&#xff0c;根据功效…

华为 招聘 状态 查看_英特尔放弃5G芯片研发:三星受益;爱立信2019年Q1净利润约2.51亿美元;华为也将要与高通和解;天津首个5G电话成功打通...

点击上方“通信人才网” 订阅&#xff01;导读&#xff1a;今日热点 爱立信2019年Q1净利润约2.51亿美元 扭亏为盈近日&#xff0c;爱立信发布截至2019年3月31日的第一季度财报。财报显示&#xff1a;爱立信第一季度净营收为489.06亿瑞典克朗(约合52.93亿美元)&#xff0c;较去年…

异步消息队列中间件

安装&#xff1a; rpm -ivh erlang-18.3-1.el7.centos.x86_64.rpmrpm -ivh socat-1.7.3.2-5.el7.lux.x86_64.rpmrpm -ivh rabbitmq-server-3.6.5-1.noarch.rpm配置文件&#xff1a; vim /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.5/ebin/rabbit.app找到loopback_users,把双引…

创纪录!浪潮云海完成OpenStack Rocky版本全球最大规模单一集群测试!

戳蓝字“CSDN云计算”关注我们哦&#xff01;云计算的概念已悄然走过十余年&#xff0c;在助力新兴技术发展的同时&#xff0c;自身也在历经变革。开源作为推动云计算发展的强大动力&#xff0c;于云计算而言&#xff0c;不仅是技术变革的历史潮流&#xff0c;也是相互助推的最…

idea如何反编译字节码指令_美团点评:Java字节码增强技术,线上问题诊断利器...

作者简介&#xff1a;泽恩&#xff0c;美团到店住宿业务研发团队工程师。文章转载于公众号&#xff1a;美团技术团队1. 字节码1.1 什么是字节码&#xff1f;Java之所以可以“一次编译&#xff0c;到处运行”&#xff0c;一是因为JVM针对各种操作系统、平台都进行了定制&#xf…

使用机器学习预测电子竞技游戏《守望先锋》的胜负

摘要&#xff1a; 机器学习可以预测游戏的输赢&#xff1f;来看看Bowen Yang博士是如何构建这一模型的。《守望先锋》中的英雄来自加州大学河滨分校的物理学博士学位的Bowen Yang正在致力于构建一个模型——对游戏中的人物特征进行有意义的学习&#xff0c;来预测电子竞技游戏中…