分享

程序员:浮躁世界,我思考(1)

 行者120 2013-08-01

程序员:浮躁世界,我思考(1)

2013-08-01 10:03 佚名 http:// 我要评论(0) 字号:T | T
一键收藏,随时查看,分享好友!

我职业生涯起始的公司是神州数码网络公司(DCN)。如果将google或者twitter定义为『优秀』公司,那么,DCN显然处在平庸公司的行 列。好在DCN继承了老联想的底子,还有一批有理想的做系统的牛人。Z君就是这样一个人。

AD:2013云计算架构师峰会超低价抢票中

1. (一)

又是一个闷热的周六,灰霾就像粘在天空一样,依旧笼罩着这个城市。带着小宝,我们三人游荡在蓝色港湾的儿童城中,为小家伙的未来打算着。老婆和丈母 娘穿梭于一个又一个玩具店,而我,因为推着童车,不便走来走去,就带着小宝静静地欣赏楼下冰场里玩耍的孩子们。很快,我们的注意力就被冰场上两个正在进行 对抗训练的小男孩吸引住了。小宝快乐地随着冰球转动脖子,双眼紧紧地捕捉着黑色的冰球,不时发出愉悦的『喝彩』;而我,默默地看着两位『男子汉』一次次跌 倒,又一次次爬起,对抗虽然异常激烈,但任何一方都没有脏动作,这足以让真正的冰球赛场上的成年人汗颜。

连日来,对环法自行车赛兴奋剂丑闻的追踪报道,让曾经的英雄们纷纷落马。成人世界里,人们对于名利的渴望,对成功的追逐已经远远超出了能力或是道德 的底线。我们不得不承认,这个世界正变得越来越浮躁。会爬的恨不得立即会走,踉踉跄跄走着的,又恨不得能撒腿就跑。前两天我在卓越亚马逊上随便查了查『小 时学会』和『天学会』,结果发现分别有65条和157条结果之多。『Java程序设计24小时轻松掌握 』,『21天学会javascript』,『30天学会Visual C++』,...看着那列出的一大堆需要花很大力气学习和使用的语言,我不得不感慨这种浮躁已经无处不在。

小宝还在咯咯地乐。那种发自内心的,如雪花般洁净的快乐让我由衷地羡慕。如果不是上周日LP跟我严肃地讨论了一下在未来我如何更好地履行父亲的责任,此刻(周六的下午)我应该端坐在办公室里思考某段代码该如何去写,而不是在这样一个放松的环境下,任由我的思想翱翔。

我们讨论的结果是,一周里大礼拜我能不去公司工作就不去,并且工作日最好有两天赶在七点前回到家,这样,可以大大增加我在家中陪伴小宝的时间,提升 她对『父亲』这个角色的认知。在北京这样一个拥挤到几乎处于崩溃边缘的城市,以公司到我家长达三十五公里的距离来算,晚上七点前回到家就意味着至少提前两 个从公司出发,还得祈求一路上 1)没有事故(小概率事件),2)没有管制,3)没有幽灵堵车。两个小时的车程对很多北京人来说还在忍受的极限内,但对我来说,开车上/下班的时间超过一 小时我就已经浑身难受,更遑论两小时这一让人绝望的数字。所以,我决定在提前回家的那两天搭乘地铁,这样,只消花一个半小时,我就能回到家中;而且,在地 铁里,我可以暂时远离代码和互联网,翻几十页和技术毫不相干的书。巧的是,上周不开车的两天上下班时间里,我翻的书是《长日留痕》——一本我买了很久,翻 了几次却都没看进去的小说。史蒂文斯先生,书中的主人公,利用一次旅行的机会回顾了他漫长的管家生涯。在整部书中,他始终在回忆过去的人生,并且不断地探 讨一个严肃的问题:一位杰出的男管家究竟是什么样子的?

感谢这本书,让我开始严肃地回顾我自己的职业生涯。这思考断断续续游走了好几天,很多时候干脆藏身在潜意识中,以至于每每我工作累了,对着窗外中关村东路和成府路交叉的路口发呆时,它就会蹦出来,让我暂时从繁重的工作中解脱出来,在回忆中尽情徜徉。

2. (二)

教练一声哨响,把我暂时拉回。此时此刻,两个小家伙开始了一攻一守的对抗,场面也变得好玩起来——两个小愣头青从场地的两端以几乎相同的路线滑向中 圈,砰的一声,重重地撞到了一起,一同倒地。教练上前,把攻方的小家伙拉到一旁耳语几句,并比划了几下,随即恢复了比赛。两人从场地的两头快步冲向中圈, 守方将重心控制地很低,高速滑动中,目不转睛地盯着冰球。就在两人要接触的一刹那,攻方一个急停,然后迅速切向斜前方。由于扑得太猛,守方来不及调整,无 奈让攻方轻松绕过自己,打进一球。不知是看懂了比赛,还是单纯开心,小宝挥舞着双手,发出欢畅的尖叫声。

这就是教练的作用。他们告诉你什么是基本功,如何应对局势,以及一名优秀的球员应该具备什么素养。在一个人职业生涯的早期,一位好的导师比什么都重要。一晃我的程序员生涯已经过去了十年,在这十年里,我一直在不断探索一位优秀的程序员究竟该具备什么素养,如果当时有个教练能给予我指导,给予我探索的方向,那该多好啊。

可惜没有。软件行业没有教练,也没有拜师学艺的传统。也许曾经有,但自从程序员从手工艺人变成了工程师,教练或者师傅就不再重要。你基本不需要像手 工艺人那样具备从无到有做出点什么的技术,你需要的仅仅是解决某个或者某些特定问题的能力 —— 某种意义上说,这和流水线上的工人并无二异。这也导致了那些速成的图书的畅销,因为它们试图让你学习到的是如何完成任务,而非如何编程。当然,互联网正在粉碎这一切,程序员似乎又在回归手工艺人的传统,这很好。

虽然没有教练,但每个软件公司基本都会为新员工指定一名资深的同事提供『象征』意义上的 "mentor"。我说『象征意义』,并不是否定mentor的作用,而是说这些mentor并非职业化的mentor,『传道授业解惑』的为师之 道,mentor们勉强在解惑上提供了些许帮助。当然,对于公司来说,mentor最重要的作用是成为一个榜样(Role Model),通过他们的工作态度,工作习惯,工作能力,对新员工,尤其是处在职业生涯早期的员工产生潜移默化的影响。

我职业生涯起始的公司是神州数码网络公司(DCN)。如果将google或者twitter定义为『优秀』公司,那么,DCN显然处在平庸公司的行 列。好在DCN继承了老联想的底子,还有一批有理想的做系统的牛人。Z君就是这样一个人。碰巧我被分在了他所在的团队。当我把『一位优秀的程序员究竟该具 备什么素养』这样的问题抛给我的mentor,即将离职的X君时,他让我多看,多学Z君。之后,有意无意地,我都会多去劳烦Z君,他总会抛开手头的事,爽 快地为我答疑。为了解决某个问题,他经常工作到深夜;跟他讨论代码如果没揪到根上他绝不善罢甘休。拿code review来说,当你看到一堆逻辑上无比正确但写作上WTF的代码时,即使想骂娘,但屈服于release的压力或人情世故,你总会妥协。但Z君不太会 妥协。他会笑眯眯地,毫不留情地指出你代码上十多处毛病,让你整改。很多人认为代码逻辑对了就足够,但Z君期待代码(算法)在时间空间上的合理(和谐), 以及是否做到了SoC。工作之外,他又是个吊儿郎当的人,经常爆发出的爽朗的笑声,浑身浓重的烟味,让你即使在很远的地方,也能感受到他独特的气场。

从Z君身上,我找到了一直追寻的问题的第一个答案:

真心喜爱你所做的事情。

真心喜爱你所做的事情。之所以斟酌出这个句子,是因为我觉得诸如『敬业』,『有韧劲』,『钻研』,『爱学习』等词语或多或少都被它涵盖,或者说,是它的自然而然的结果。

那时对我而言,『真心喜爱』就意味着每天超过12个小时泡在公司里努力搞明白遇见的每一个技术问题。很快,我搞透了OSPF,填补了X君走后OSPF上的空缺,之后又独立开发了IGMv3,SNTP,接着完成了极其重要的linux 2.4 kernel的移植。

3. (三)

由于工作的原因,我逐渐与另一个团队的S君打交道很多。S君兴趣很广,他帮着公司内部搭建了团队的wiki,使得信息的交流,知识的分享大大地系统 化。以前我们知识的交流以邮件为主,这很被动,当下有用的,还是无用的知识,都一股脑成了一封封亟待打开的邮件。打开看吧,浪费时间;不打开吧,以后需要 时都不知道自己的邮箱里还有这么份东西。在S君的推广和维护下,团队的wiki大大提高了大家获取知识的效率。

从S君那里得知,他使用了一个叫mediawiki(wikipedia使用的软件)的开源软件。我开始把玩mediawiki,进一步,我接触了 LAMP,并且逐渐意识到像linux,Mediawiki这样的开源软件的重要性。如果说林则徐魏源是近代中国开眼看世界的第一人,那么他也许是DCN 内部拥抱更广阔的世界的第一人。做system的,很少关注application的动向,有种天朝藐视番邦的傲娇;而做application的,则放 低姿态谦卑地注视着system的变化。现在随便拉一个做路由器的人,你问问他对web application的看法,十有八九还停留在对LAMP的认知上;而做web application的人已经把触角伸向了user space data plane。究其原因,是做system越做越掌控一切,倾向于封闭;而做application越做越依赖生态圈,所以拥抱开放。

S君让我认识到了开源的力量和开放的社区的伟大之处。怀着对mediawiki的敬畏,我开始学习PHP,进而在他的影响下,学习据说是『聪明的程序员』使用的Python。我想我已经是『真正的程序员』了,如果能成为『聪明的程序员』,何乐而不为?

在这个过程中,我找到了第二个答案:

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多