前几天看了一本名为《UNIX传奇》的书,是由UNIX操作系统的开发者所著。书中回忆了贝尔实验室的一帮天才发明、完善UNIX的故事。非常精彩,推荐阅读。

尽管这十年在做品牌以及产品的工作,不再写码了,但看到书中提到的一些技术名词、命令和代码,还是非常亲切,让我回忆起过去那些年写码的点点滴滴。

刚好今天就是10月24日——1024程序员节掘图志,所以就将自己这些年与代码有关的故事写下来。

这篇文章,算是对青春岁月的追忆,也是对技术信仰、技术热情、程序员群体,以及对过去那个激情澎湃的时代的致敬。

以我个人的经历为时间线,全文共包含以下四个部分:

今天,先发出第四部分。

2008-2015,百度七年

2008年,我从西安电子科技大学研究生毕业,加入百度。

故事,就从那年的校园招聘讲起。

那时的校园招聘,在毕业前一年的9月份左右,就如火如荼地启动了。

校园招聘,也是行业发展的晴雨表。

那几年,火了十余年的通信/系统软件行业开始趋于平稳,而互联网行业则开始快速崛起,各大互联网公司的校园招聘全面展开。

百度更是风头正劲,在校招方面可谓是火力全开。

在2005年研一的时候,我就被招贴栏里的百度校招海报给吸引住了。

记得有一张海报是戴红军八角帽的毛泽东头像,配上了“是投降,还是比别人更强”的文案。还有一张是李小龙的肖像,加上了“是做一条舒服的虫,还是骄傲的龙”这句话。

掘图志rss_掘图志_掘图志舞蹈

你瞧,这广告多霸气!

当然,除了宣传给力,offer也大幅提高。

我们那一届校招,工程师年薪直接开到了近20万——那可是14年前的价钱啊。

于是,百度校招宣讲那天便呈现“万人空巷”。

当时,百度在西安的宣讲/笔试点并不在西电,而是在西交大,但这丝毫阻挡不了大家的热情。

我记得我们那栋研究生宿舍楼,几乎倾巢而出。除了计算机学院,电子、机电等学院的同学也都去了。

很幸运,我通过了笔试和面试,成为百度在西电招聘的唯一一个研发工程师。

2008年4月份,我办完毕业手续后,坐火车去北京,到了位于中关村普天大厦的百度总部报道。

我入职的部门是垂直搜索部的新闻搜索团队,办完入职手续、领完电脑,在工位没呆多久,就有人来找我。

此人原来是当初在西安校招时的面试官,叫沈Y。他把我叫到一个会议室里,劝说我去他所在的那个电子商务事业部,他是该部门的技术负责人。

(其实,在入职前,HR 就打电话问我要不要去这个新成立的部门。我当时不懂,认为电子商务就是卖东西、送送货,跟搜索业务来比没有技术含量,就谢绝了。)

在讲完业务和部门发展空间等各种优势之后,他突然问我房子租好了吗?我说还没有,暂时住在同学那里。他就说,那你来跟我一起住吧,我那里刚好空出一间房。

听完这句话,我就从了。立刻把电脑搬到了楼上的电子商务事业部。

这一搬,可“不一般”——现在大家所说的“996”就开始了。

人手是真少,任务是真重,时间是真紧。

一帮年轻人,开始了每天12小时、每周6天的疯狂工作。

有人通知新员工参加公司统一安排的入职培训,这边部门就反馈说“太忙了、先取消”。校招同学进入各个团队后不用先观摩、缓冲,直接当老员工用,立即上手负责线上模块的开发。

5月的一个中午,我正坐在工位上吭哧吭哧干活。突然间感到一阵摇晃和眩晕,心想不会才996了一个多月,身体就扛不住了吧。后面才知道,那是四川汶川发生了大地震。

脑力、体力的考验,还在继续。

记得有一次重大上线,大家通宵干活,一直忙到第二天下午才回去睡觉。好几个同学都开玩笑说,怕睡了起不来。

就这样持续高强度工作了半年多,有一次加班到晚上的时候,自己有点扛不住了,甚至想到了辞职走人。

当然,这只是一时的念头。年轻人不能一遇到困难就退缩,更何况,真舍不得这个牛X而有趣的团队啊。

话说我们当年那个技术团队,真可谓是豪华配置、卧虎藏龙。

有从公司各个部门抽调来的骨干(如部门老大沈Y、技术高手蒋S)、有从业界重金请来的大拿(如大名鼎鼎的康神、吴T、前端大神月影吴L)。

我发现,就连部门的校招生都是背景显赫。

有的来自清北复交几大名校,再不济也是同济浙大南大北航北邮之类,并且好几个还是ACM、百度/编程大赛等各种顶级赛事的冠军,这让我一个非985的、孤独的西电毕业生感到压力很大。

更有趣的是,团队成员的名字竟然都蕴含了专业性和使命感。支付团队的叫“建户”,有个女RD叫“存银”,有个同学叫“久安”。分别涉及到“开户、入金”的业务流程以及系统鲁棒性”方面的技术要求。

真是天选之子啊!

这么优秀、天才的团队,出手自然不一般。

据一位百度技术元老说,我们电商以及支付技术系统的多样性、复杂度是很高的,甚至超过百度核心的网页搜索系统。

我们当时设计和实现的“高并发、读写分离、分库分表、事务保证”等技术架构,还是有很多可圈可点之处。

由于短时间内完成了技术开发和产品发布,电子商务事业部获得了当年百度的最高奖项——百度总裁特别奖。

不仅是他人和组织高度认可,而且研发同学的确非常靠谱和敬业。

大家知道,研发和产品,永远是对立统一的矛盾结合体。

大部分情况下,产品经理对于研发的刻板印象是我们喜欢“砍需求”。

的确,有时候是这样。

但实际上,对于靠谱的需求,我们不仅不砍,反而还会“额外附赠几个”。

举个最简单的例子。我们当时开发的彩票系统有个手机端投注功能,产品经理的需求大概是用逗号分割投注号码,比如“01,08,10,11”。

我们反馈说,数字、逗号交替输入,用户会不方便,而且逗号还有全角半角之分,比较复杂。

于是,我们不仅实现了这个需求,还附赠了更多更强大的,即“逗号、空格、竖线”之类的各种分割符都可以,而且还可以支持无分割符的连续输入,比如“”。

由于一贯地、持续稳定地实干和靠谱,所以我们团队有了“百度有啊精壮男”的美誉(有啊是百度电商网站的品牌名和域名)。

为此,我还专门制作了一个印有“百度有啊精壮男”字样的大旗,在当年的百度年会现场上悬挂。后面,技术团队外出团建,还带着这个旗子合影。

掘图志舞蹈_掘图志rss_掘图志

如今,这面精壮男的旗帜已不知去向,但技术团队的专业、拼搏、靠谱的“精壮男”精神,深深地留在了很多人的心中。

技术团队除了专业过硬、有工匠精神,非常靠谱之外,在工作和生活当中也是很欢乐的。那几年大家在一起,就像是在校园里面一样。

困了累了,来杯“蚁力神”。当时公司福利挺好,有免费汽水、咖啡和冰棍。工作间隙,就一起去饮料机上打一杯冰镇可乐——当时我们称之为“蚁力神”。之所以这么说,是因为饮料机那里不时有滴落到地面的饮料,招来了好些蚂蚁,蚁力神就如此得名了。

热了渴了,来根冰棍。夏天吃冰棍,是技术团队的一个欢乐时刻。阿姨抱着一筐冰棍到处散发,大家纷纷上前挑选,然后三五成群,边吃边聊,甚是惬意。

有位来自清华的微胖同学李B,因为爱吃冰棍,留下一副经典照片——他一连干掉几个冰棍之后,还用冰棍就着盒饭,津津有味地吃着。

后面,公司因为缩减成本的原因,把饮料和冰棍福利都停了,实在可惜。

糊弄财神爷的照片。商城技术团队的丁WB同学一直有财富自由的梦想,所以他经常买彩票。

有一天,他在工位上贴了一张财神爷的照片以求神助。但这家伙太抠了,居然是随便用A4纸打印的黑白图片。

心不诚则大概率不灵,他那几年买的彩票好像都打水漂了。

团队另外几个技术大牛,不仅技术精湛,也是很欢乐、很可爱。

吴T的工位就在我的旁边,我发现大家的显示器都是液晶的,但他用的却是那种笨重的CRT显示器。

后来才听说,他不习惯液晶屏,那个CRT显示器,是事业部总经理李MY给他特批购买的,还是个日本进口的高档货。

康神的轶事也很多。在水木BBS就有个“拜康神版”,这个神奇故事就不多说了。

康神有一次去体检,回来说今天很尴尬,因为医生做B超的时候,超声波几乎无法突破他的腰身。

康神虽已封神,但他还是一直醉心于钻研技术。就连这些年,我还能经常在朋友圈看到他分享或者吐槽各种软件、引擎的技术,抑或是购买、把玩各类新潮的计算机硬件。

他曾经打趣说,“穷玩车、富玩表,沙雕玩电脑”。

技术部老大沈Y也是技术过人,调来部门之前就已经扬名立万,被誉为“调core”高手。

我曾经遇到一个诡异的技术问题,两周了还是找不到原因。后来求助于他,没想到很快就搞定了。

提起沈Y,还有个趣事。

前面提过,我和沈老大曾经合租了一年。我们租的那个房子在中关村,非常破旧,马桶还有点轻微漏水。

一开始我们都没在意,但月底水费账单出来后才知道竟然跑了80多吨水。这个小事,让我对“水滴石穿、水漏丢钱”有了深刻的认识。

那几年,我这个初出茅庐的毕业生,也搞了一些有意思的事情。

PHP脚本写。我们电商系统主要也是LAMP(Linux++MySQL+PHP)架构。最开始,我主要的工作是用PHP编写各种商城的业务模块。

PHP写熟练了,我就用PHP写了发消息的“”程序。其实很简单,要发送消息时给数据库插一条记录,有一个后台运行的脚本不断从数据库获取并执行任务。原理虽然简单,但我还是认真设计,让其支持发送短信、邮件、百度Hi的IM消息以及纯文本、HTML富文本等各种类型,而且支持扩展。

我给这个模块起了个大气的名字,叫做“ ”,简称GNS。这个简单可依赖的PHP 模块,还稳定运转了好几年。

巧妙生成模块部署图。当时整个系统有数百台服务器,上面分门别类部署了非常多的模块。“一共有哪些线上机器,每台机器有哪些模块,模块之间的依赖关系是什么”——弄清楚这个对维护系统至关重要,而且这个对于新人学习系统来说也很有帮助。

我当时就想办法解决这个问题。一开始是从分析各个模块的配置文件入手,但发现此路不通,因为不同程序、模块的配置文件路径不一、格式不同,解析起来比较麻烦。

后来想到一个好办法,就是利用模块之间的网络连接来生成模块依赖关系图——因为机器之间、模块之间基本上都是通过网络连接来进行通信的。

具体方法是,ssh到所有机器上执行“ -aln”获取网络连接list,再把结果进行分析(网络连接的IP-PORT关系),利用SVG生成非常直观的依赖图。我还请前端技术同学再加了一些交互,即实现点击某个模块,就能高亮显示出所有依赖方和被依赖方。

后来,我将这个小工具的原理、实现和使用方法写了篇技术文章,投稿到百度内部的技术刊物《COM双周刊》上。其他部门的同学看到了,就来咨询和试用。

愚人节core dump彩蛋。程序员不仅要喜欢写码解决问题,还往往喜欢用技术开些玩笑。有一年愚人节,我在服务器上生成了一个精心设计的彩蛋core dump文件。然后在技术群里说,某某模块又core了。

当调core高手纷纷用GDB加载core文件、用bt命令打开堆栈时,才发现了真相。每层堆栈中的参数信息连起来是几句话,大概是“心若在 梦就在 技术部雄起 愚人节快乐”之类的话。

码农下乡刷广告。除了写好代码,码农还关注更多的事情。我们的业务上线后,我发现在市场上好像没有什么声音,于是就去问市场部的同学。居然发现他们一共才两个人,而且说没有什么预算。我说自己有一些不花钱的病毒广告的想法,但他们好像兴趣也不大。

于是,我打算自己干。那年春节回家,我在农村的田间找了个破旧的房子,在墙上用白石灰刷下了“要致富先修路 要购物先百度 —”的广告。

刷完广告,然后拍了张照片,上传到一个名叫掘图志的搞笑图片分享网站上,就没管了。没想到,这个广告传播得很广,有网友还留言说“据说这是百度老板李彦宏亲自设计的广告”。

后来,百度官方博客还刊登了这个广告,但以为是网友自行PS的。慢慢地,才有人知道这是自己同事做的。

(也正是因为这张刷墙广告引发的蝴蝶效应,促成了我两年后转岗到市场部。)

除了工作,码农们也有快乐的生活。

那几年,我们一起购买域名/空间、写博客,一起团购PSP联机打游戏,一起玩单反、炒美股,就连周末还聚餐、唱K。

除了吃喝玩乐,也开始有了大宗消费。慢慢地,“当码农可以脱贫致富奔小康”的景象,开始在技术团队当中显现出来。

有同学开始买车了,手动挡福克斯、铃木雨燕都让人羡慕不已,还有人开来了SUV、商务大别克。

一个家底殷实的同学周ZR,率先吹响了买房的号角,他豪掷百万在西三旗买了一套房。当时公司附近的西二旗、西三旗房价大约是每平方一万,但这个价格在当年看来绝对是天价。

大家都动起来了,你也就有点着急了。

当时,我和老婆两个人的卡里加起来只有20万,再找亲戚们东借西借凑够了首付,然后贷了160万巨款(刷新了同事们的贷款数额上限)去买房。就这样,在一穷二白的情况下,大胆地上了车。

时过境迁,十二三年以后,那里的房价已经飙升到了8-10万。

生活是慢慢好起来了,但遗憾的是,百度电商的业务始终没有做起来。

产品方向一改再改,从“C2C到B2C再到X2C”,从电商再到类似58同城的本地生活服务,从网络彩票再到在线票务,组织架构从事业部制再到拆分独立公司运营。

不断尝试,不断失败。

事业部创立之处提出的“三年打败淘宝”的远大目标,根本无从谈起。

业务不好,技术再好也没有用。

有一个可悲的、极端的例子,就是当初有一个业务上线,我们按照需求做了百万千万数据量级的技术设计,但业务上线一段时间后,发现数据库里才躺了寥寥几条记录。

事没成,但交了个朋友。

在电商的三年,结识了很多技术牛人。有些人一直到今天还在交往,很多同学即使十年不曾谋面,一见面还是倍感亲切。

然而,天下没有不散的筵席,再欢乐的故事也得有结局。

因为业务没有起色、方向不断调整,加之2011年整个事业部都要从公司拆分出去、独立运营,所以团队基本上就散了。

如今,当初那群意气风发的少年,散落到了全国各地、五湖四海。

有移民到美国、澳大利亚、新加坡的,有陆续去新浪、360、阿里、美团、字节的,还有加入创业团队的。

我则在2011年6月份,转岗到了百度市场部,开始体验另外一种工作。

2011-2015,码农跨界做市场

不是市场出身的码农,要做好品牌工作,需要有不同的思路和打法——那就是发挥自己的产品技术的思维和优势,将“技术、产品和品牌”跨界融合起来。

用这个思路,我幸运地连续做出了“百度知道变形金刚”、“2012世界末日”、“百度百科实时月亮”、“温暖搜索框”等几个比较有影响力的项目。还好,没有给我们技术人丢脸。

其中前两个项目,就是所谓的“彩蛋营销”,还是体现自己的技术思维,还是靠代码产生威力。

我找到公司技术比较厉害的前端工程师,通过JS代码给搜索产品埋入彩蛋,从而实现了搜索特定关键词,在搜索结果实现“机器人变形、世界末日山崩地裂”等酷炫的效果。

这样做,产品、技术和品牌就跨界融合了。这个彩蛋既是产品,又是品牌创意和载体,而且还不用付广告费。

这些新颖的创意引发了大范围的自发传播,活动参与人数最高超过400万,百度指数达到惊人的295万。

这里再说下“百度百科实时月亮”那个项目。在这个项目中,已经离开技术岗位的我还写了一段代码。

实时月亮这个创意是在百度百科的“中秋”、“月亮”词条埋入一个能实时显示当地月相图片的模块。从而实现中秋节不出门、阴雨天了也能“网上赏月”。

当时我们是跟北京天文馆进行合作,来实时计算用户所在地看到的月相。由于跟我们合作的广告公司不太擅长技术,所以后来还是由我写了一段代码。

再讲一个体现百度技术人荣誉感的故事。

有一年,市场部谈了个与江苏卫视的“好好学习”节目合作的项目,要实现电视直播时,网友在线实时答题。

最开始找了一家供应商开发了答题程序,结果第一天节目直播时,答题系统就宕机了。

这可是直播的电视节目,容不得半点马虎啊。

于是,对方电视台的领导很生气,还派来一个总工程师来百度督战。

我们便催促供应商连忙升级系统,没想到第二次直播的时候还是挂了。

这时,已经到了生死存亡的时刻,再出问题百度的招牌都要砸了。

说实话,“大规模高并发”一直是技术难题,都不说供应商这样的小公司,就连一线大厂有时候也会掉链子。

看到这个项目涉及到如此深的技术问题,他们就把有码农背景的我紧急拉到这个项目里。

很显然,我们不能再用供应商了,于是就迅速联络了公司擅长高并发技术的团队,包括大搜索的杨ZY和贴吧的洪DK团队,让他们“为百度荣誉而战”。

在大家的通力合作下,在百度超强技术实力的加持下,新的答题系统快速上线,最终平稳运行。

最后,再说一个与Robin(李彦宏)交流的故事,让我深深地感受到Robin纯粹的工程师风格。

有一年,我参加了一个项目,Robin是我的导师,我有几次给Robin单独汇报工作的机会。

有一次,我没有做PPT掘图志,而是画了一张脑图。

见到Robin后,我就说,Robin你也是工程师出身,这次我们就不看PPT,直接看脑图吧。他说好啊。因为脑图里面的字比较小,我就干脆带着电脑坐到他旁边,跟他近距离交流起来。

他虽然是大老板,但没想到对具体的产品和技术话题非常感兴趣,工程师范儿还是很足。

时间很快到了2015年7月份,我离开了供职7年的百度,加入了一个创业公司。

尽管后面不再写码,但百度浓厚的技术氛围、简单纯粹的工程师文化,一直深刻地影响着我、伴随着我。

结语

科技改变世界,工程师是这个变革的核心驱动力。

然而,成王败寇,这个世界很现实。

那些年,我们小心翼翼地写下一行行代码。这些饱含心血、洋溢青春的代码,可能没有打造出现象级产品、催生出商业奇迹,最终只能被尘封甚至删去。

但那些人、那些事,值得被记忆、值得被记录。

人生没有白走的路,每一步都算数。

人生没有白写的码,每一行都算数。

今天,我竭尽全力回忆往事,感慨万千下笔记述,便成此文。

最后,愿我们的技术梦想永在!

节日快乐,曾经的战友们!

节日快乐,可爱的程序员们!


限时特惠:
本站持续每日更新海量各大内部创业课程,一年会员仅需要98元,全站资源免费下载
点击查看详情

站长微信:Jiucxh

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注