腾讯发展历程详细介绍(小x告诉大家腾讯9年前)
腾讯发展历程详细介绍(小x告诉大家腾讯9年前)因此我概括一下,衡量一家公司的技术能力,可以从代码的版本管理这个角度去衡量,而不是看具体用什么版本管理的工具,我们只需要看团队有没有版本管理,有没有管好就行了。对于这个情况,我觉得我必须站在一个比作者更高一点的角度去看这个情况:我觉得这似乎跟腾讯的技术能力没有必然的关系,我意思是用git与不用git不能作为衡量一家公司的技术能力的关键指标,既然不是一个关键指标,就不能用这个来探讨腾讯的研发体系是否落伍。就举一个例子,像我这个有十几年工作经历的精通研发&运维的全栈工程师:Qzone、QQ秀运维,写过iOS和android开发framework,前端Web开发,开发过门户网站BBS,CMS,通行证系统,游戏平台,各种运维监控平台,还有从nginx模块、 c10k的通信server到OpenGL,H264解码,音频流server端和移动端,我都做过(一个工作了十几年工程师有这样的工作经历
最近网络上突然出现一篇文章质疑腾讯现在2018年的技术建设,我读过文章里面的内容对比我所知道的内幕,我是不认同的,可我是无法直接反驳,因为我也不清楚腾讯现在的技术平台,但我可以讲一下9年前腾讯的技术基础,用9年前的情况对比文章里面现在提到的情况,能作比对的解的地方,我不觉得该文章仅仅是偏颇,而是作者对腾讯了解不足够多。我做不到像作者那样站在那样的高度去评价腾讯,文中提到的、我不了解的情况我也无法发表看法,我也考究不了该文作者写这些内容的时从何处获取的信息。因此本文也不可能全面的介绍腾讯的技术架构,原因是我虽然在腾讯工作的时间比较长,但仅在腾讯的一个部门的不同技术岗位上工作过。
我摘选出文章的一些片段,讲一下我的看法
一、文中提到:“有内部Mysql集群(这算最基础了吧),可是呢,必须从指定的远程跳板机用命令行处理,没有一个可用的客户端或者web GUI,然后还强制不允许安装myphpadmin之类的开源,说是不安全;”
对于这个问题,我分几个角度去讲:
1、DB的Web管理界面是存在的,我可以非常肯定的说,在2009年的时候,我工作的部门ISD(现在叫SNG)就已经用Web去管理大量的数据库和数据库的cache server(名字不透露),DB的管理手册我看过,如果打印出来是很厚的一份文档,里面大部分内容并不是平时网上看的Mysql的命令,而是内部开发的管理平台的Web界面,用于数据的变更,备份,对于数据库的初始化、安装是另外一个系统。
左边是Linux,中间是Win7,右边是FreeBSD
三、对于文中这句话:“如果腾讯一个T3(高级工程师)的研发人员告诉你说他不习惯用git,不太会用。。。你会有什么感觉?”
对于这个情况,我觉得我必须站在一个比作者更高一点的角度去看这个情况:我觉得这似乎跟腾讯的技术能力没有必然的关系,我意思是用git与不用git不能作为衡量一家公司的技术能力的关键指标,既然不是一个关键指标,就不能用这个来探讨腾讯的研发体系是否落伍。就举一个例子,像我这个有十几年工作经历的精通研发&运维的全栈工程师:Qzone、QQ秀运维,写过iOS和android开发framework,前端Web开发,开发过门户网站BBS,CMS,通行证系统,游戏平台,各种运维监控平台,还有从nginx模块、 c10k的通信server到OpenGL,H264解码,音频流server端和移动端,我都做过(一个工作了十几年工程师有这样的工作经历是很正常的啦,没有晒简历的意思,腾讯里面比我厉害的工程师多到数不过来),我有个爱好就是工作的时候喝冰冻的可口可乐,我觉得在从事繁重的技术工作的时候喝可口可乐可以舒缓神经,保持头脑清醒,可是,我们可以说不喝可乐的工程师就不行吗?事实上,我发现一些经历比我更丰富更资深的工程师他们保持头脑清醒的办法有喝茶喝咖啡的,也有我没看出来他们有什么明显的习惯的。
因此我概括一下,衡量一家公司的技术能力,可以从代码的版本管理这个角度去衡量,而不是看具体用什么版本管理的工具,我们只需要看团队有没有版本管理,有没有管好就行了。
事实上,我现在也不会用git,可我最近正在学习使用git,因为我有一个项目打算开源,之前不学习git是因为我还没用到,至于腾讯将来用什么版本管理工具,我也无法预估。我能理解作者在问的对于没有git是“什么感觉”的意思,我想说,工作归工作,个性归个性,下面这张图是我当年的工位,作为你们的大神我也曾经年轻过,现在也很年轻,我有一次带实习生的参加公司活动的时会议室里有个不认识的同事看到我笔记本电脑运行是很酷炫的 Linux 3D 桌面,就因为这个,他居然把我当成是实习生。
顶到天花板掉的可口可乐罐子
写到这里,我总结一下,我认为那篇文章充斥着年轻的情绪,当然我不认为年轻就一定有情绪,其实我当时初入腾讯工作的时候,我并不打算在这公司待很长时间,面试的时候也没想到腾讯会录取我,刚开始上班的时候觉得好多限制,很难适应,没有那时的网易和多玩既做开发又做运维那么自由,腾讯毕竟是腾讯,你在外面技术再厉害,在腾讯里面比你厉害的人多去了,人家都老老实实守规矩,你凭什么做不到。由于各种原因我在腾讯工作的时间比我原本计划的要长很多,随着时间的推移收获到了很多体会,我想如果当初我过早离开腾讯,或许我也像该文的作者那样对腾讯有着各种年轻的想法,幸运的是我在腾讯待的时间比较长并且学到了很多东西。
我以后不一定会再写关于腾讯的文章,因此顺便在这里说一些有趣的事情:
下图是我在腾讯得了一笔专利奖金后搞的一次恶作剧,我把全部奖金都拿去买方便面分给大家吃。
方便面
还有一次的1500专利奖金是全部用来买肯德基,由于我们用公司的座机订餐,后来我的同事告诉我,经过我这么一折腾,科技园那家肯德基已经把腾讯的电话升级为VIP用户了,可是当时的照片一时找不出来。
近年网上流传着一些段子,调侃服务器上线时一众技术烧香拜佛,祈求上线顺利,其实这种玩笑我在2007年时就搞过,下图是QQ秀2.0上线当晚的情景,一大群人在公司通宵加班,直到第二天早上六点才回家,我开玩笑主张大家用夜宵供奉一下Q神,保佑我们上线顺利,刚好办公室还有一些生日活动剩下的蜡烛,也顺便点上。
2007年QQ秀2.0上线,拜Q神保佑上线顺利
2007年QQ秀2.0上线,全体人员通宵到第二天清早
2007年那时,我们工作的部门许多IT平台还在建设中,很多事情还需要用人手工去做,因此大家对现网变更还是提心吊胆的。
从2008年开始,各种IT平台就开始变得很完善,很多以前需求手工敲命令的操作都改为平台化一键操作,例如2009年QQ农场通常要大规模扩容,都是通过平台一键化操作,此后我们很多工作都基于数据,服务质量好不好,资源有没浪费,什么时候需要扩容,都是用数据来说话,不再凭直觉去猜。在我离开腾讯很多年之后有一些公司请我去交流技术,我告诉他们这些平台化的运维理念,他们一般都觉得很惊讶,当然,他们是不会使用这种方式去建设IT平台的,因为这样的结果需要堆钱和时间。公平的说,这些亿级平台的运维理念和实践Google比腾讯走得更早,更远,但在国内而言,腾讯是在当时是领先其他公司是很多年的。至于现在是什么情况,我不太清楚。
2007年春节大家收到的开年红包
作为一名工程师(全栈),我觉得我的在电脑前的大部分时间不应该花在写作上,因此我不会对那文章每段的内容都拿出来评讲,但本文最后,我想向读者们介绍一下Dowson。我注意到那篇文章里提到了 Dowson Tong(汤道生),但后来内容做了一些修改,从作者的口吻来看,感觉作者不太像是在腾讯工作过或在腾讯工作有一定年限的人,因为腾讯里面很少对人直呼其名,都是互相称英文名。Dowson曾经在全球第排行第二的软件公司Oracle工作过,我曾经听过 Dowson 的关于 Oracle DB 的技术分享,很精彩,我记得我当时的提问有点钻牛角尖,Dowson的回答让我领会到在方案的选上要懂得“平衡”,“平衡”在技术工作上是很重要的一个思维方式,这里无法展开讲。Dowson 还教过我一条Linux的命令 ps -efwww 这样输出的进程的信息就不会因为终端屏幕大小的限制而截断输出的信息,工程师在敲命令的时候一般会想起教他这条命令的人。
Dowson 为人很nice,他的nice也影响到我后来的做事方式,以至于我能够用一种温和的方式写这篇文章,如果是在以前(没进腾讯之前),我或许会写一篇比原文更长的文章逐条找问题批驳作者的观点,当然这文章就会长得没法看了。