Read Sean

Read me, read Sean.
posts - 508, comments - 655, trackbacks - 9, articles - 4

人生是一场对话

Posted on 2010-12-23 22:08 laogao 阅读(979) 评论(0)  编辑  收藏

 --原文刊发于2010年第9期《程序员》杂志--

文/高宇翔

“Die Grenzen meiner Sprache bedeuten die Grenzen meiner Welt.” - Ludwig Wittgenstein


被点名写自己的故事,长这么大,还是头一回。回想过去的31个年头,各式各样的总结,我写过不少,却从未有过一篇是相对完整和全面的回顾和总结自己到目前为止的人生经历。借此机会,把这个坑填上,不去想别人会怎么评论,只当是写给我自己、两岁的儿子以及我的家人。

我的童年

1979年,我出生在成都一个普通的铁路职工家庭,父亲是工程师,母亲是中学教师。铁路系统在当时,还是半军事化管理的,和地方是两个系统,我的童年也是在一个相对隔离的环境中度过,和来自地方的小朋友几乎没有什么往来。也许正因为如此,我在其他城市并不感到特别恋家或者怀念成都那种闲适和安逸,这和许多从成都出来的人有些不一样。

开明的父母

我母亲从四川师范大学毕业后就进到当地铁路系统教学,她十分关注我的成长和个性。从记事起,几乎每个寒暑假,母亲都会带我外出,有时去探亲,有时去旅游。这些经历,对我后来世界观的形成,起到了相当正面和积极的作用。

父亲大学专业是机械,后来进入到铁路系统的电算所工作,从此计算机几乎成为他工作的全部。我也因此得以比同龄人更早的接触到计算机。父亲是一个安静和有条理的人,但平静的外表下,是一颗强大的内心。“我无法决定别人怎么说、怎么做,但我可以改变我自己,也可以自己做决定”,这是从小我父亲带给我的潜移默化。

积极的心理暗示

小时候父母给我的空间,现在回想起来,还是挺宽松的,他们从不因为学习成绩不好而责备我,只是叫我一步一个脚印,找到自己的目标,踏踏实实的前进。

由于上学早,一开始学东西,我总比同班同学慢一些,体育勉强达标,于是多多少少有些自卑。我到现在还记得母亲是怎么教我一点点地提高自己的名次:她不会一上来就让我什么科目都排第一,总是很耐心的站在我的角度,让我找到自己的位置,然后和我一起制定每半个学期的短期目标,比如全班前20名、前15、前10,等等,帮我分析排在我前面的同学有什么地方值得学习。就这样,很神奇的,每个期中和期末考试,我实实在在的在进步!

母亲的耐心引导和后来的正向反馈,在很大程度上抵消了我内向的性格和不怎么强壮的身体带给我的负面影响和消极情绪,慢慢的,正面的、积极的自我意识就形成了,自信就这样建立起来,也不再受其他小朋友欺负。当时的我并不懂,这就是心理学。

在母亲的循循善诱下,小学时我的综合成绩慢慢从中等上升到班级甚至年级的前10,初中也是如此。因此中考前,我把目标定位在当时成都最好的高中之一——石室中学,结果毫无悬念,我如愿进入到这所历史可以追朔到汉代的学堂,完成了我人生第一次重大突破。

英语学习

也许是我天生对语言的敏感,也许是我的初中班主任教英语的方式很对我胃口,也许是因为难得的大家同一起跑线的机会,几乎在开英语课的第一时间,我就对英语产生了浓厚的兴趣。能比其他同学更快更好的学习新知,让我很有成就感。

这种优势延续到高中,当时我们学校除了有交换学生和不定期的外教,还有个大学英语四级考试的试点。我很自然地拿到了四级证书,英语能力也上了个台阶。

对英语这门课,真要说有什么秘诀,恐怕最大的秘诀就是学习用英语思考和写作。当你能够用英语在脑子里把一件事或者要表达的一个意思想清楚,并且更进一步,能够用英文把它转述给别人,那你学好英语也就是顺理成章的事。

处世哲学

观察周围的环境,学习身边的榜样,踏踏实实地积累,安安静静地爆发。这是我在学生时代沉淀下来的处世哲学。

有个细节至今记忆犹新:石室中学离我家很远,要骑车去上学,一路上会经过很多红绿灯。有人总是冲得很快,但往往累得气喘吁吁还是赶不上绿灯。我则提前很久就观察红绿灯的规律及周围交通情况,不紧不慢地调整自己速率,不用费多大劲,该加速的时候加速,明知赶不上的时候就放慢节奏。

现在回想,那就是一种“顺势而为”,而这个“势”,既是来自外部,也是由自己的“为”所创造和加强。同样是在骑车上学的路上,我领会到了规则、秩序和条理的重要。

人生机会

谁都有失意的时候,我也不例外。高二下半学期,学校来了一个美国大学的访问团,除了交流学习,还招生。直接上美国大学的机会,当时并不常遇到,我也想去试试。当我将这个想法婉转的告诉家里,感受到前所未有的失落,这次他们不支持我了。后来才知道,家里没有什么存款能够支撑我这样做。经过这件事,我明白了一个道理,父母再爱你,再肯付出,也有一个极限,人生的路,要靠自己去努力打拼。

某个机会错过了,还会有别的机会。一流的高中,自然机会也比别的学校更多。正在高三苦读的时候,北外的招生团,来到我们学校,经过笔试和面试,我被他们提前录取了!

我的大学

1997年,一切就像做梦,北京外国语大学,就这样进入到我的生活。

专业内外

在北外,我主修的是匈牙利语专业,和我同班的,大都是来自全国各地重点高中的“尖子生”。

延续中学时代对外语的学习心得,没过多久,我就成了班级里专业成绩最好的。但这种单纯的专业学习的追求带来的满足感并不长久。很快我就开始怀疑,这里是不是我该待的地方,这条路是不是我该走的路。

意识到自己走了弯路,我便盘算着怎么让自己的大学生活过得更加充实。我开始考大学英语六级,参加各类英语选修课,报班学德语,等等。总而言之,能抓住的各种学习机会,都尽量不放过。

由于同时进行的学习内容较多,也较杂,我开始慢慢摸索出一套自己的学习方法:对于每样要学的科目,都坚持记笔记,有时甚至接近于抄书。这看似枯燥而无聊的动作,整个知识体系,就在不知不觉中巩固和形成了,变成你大脑的一部分。

现在回想,在大学时代我开始成型的知识体系中,特别有营养有价值的,是经济学,它让我更清楚的认识到经济社会的内在规律,这成为今后步入社会的重要辅助。

经济学教给我的两个最为重要的概念,是比较优势和机会成本。我后来很多看似随意的选择,很大程度上也是受到这些基本的经济学概念和相关思维训练的影响。

峰回路转

大四这一年,我被选派前往匈牙利首都布达佩斯进修。和我同寝的两个匈牙利大学生,都是计算机专业的,和他们朝夕相处的生活,给我的意识里注入了一组强烈明晰的信号:我也能学计算机!

冰冻三尺非一日之寒,冥冥中,父亲在计算机前专注工作的形象带给我的影响,一直都在。

就这样,兜了一大圈,我重新把兴趣规整收拢,全身心的投入到计算机领域。当我告诉家人我准备放弃匈牙利语这个专业和相关的工作机会时,他们虽然表现出惊讶和不理解,但更多的是默默的支持。

父母对我的尊重,一方面让我更早的独立,尤其在心理上脱离对父母的依赖;另一方面也让我对身边的人和事有更多的宽容,每个人都有选择自己生活方式的权力。

我的工作

万事开头难

我的第一份工作,是在一家做综合布线的网络工程公司,他们也兼做一些监控软件。由于不是计算机专业科班出身,我只能从工程部的工程助理做起,帮着跑售前、技术支持等等,后来慢慢得到肯定,转入开发部,写一些简单的Java代码。

在这里,我学到了在公司环境中,什么是职业素质,如何专业的应对用户和老板的要求,以及处理电话、传真、邮件、文案等等这些最基本的办公技能。

在这家公司,我还遇到了将与我相伴终身的女人,一个美丽大方、善解人意的上海姑娘。和她相识不到半年,我们就结婚了,那是在2002年。

结婚以后,我们一起做了一个重大的战略决定:举家迁回成都。

继续转型

通过在第一家公司的锻炼,我深刻的意识到,要做我想做的软件开发的工作,我还必须学习更多的东西,于是回到成都后,我开始拼命的自学相关知识,看各种书籍,同时在CSDN论坛上汲取养分。

从外语转计算机,这在外人看来有些不可思议。不管是否有家庭背景和高中理科的基础,计算机还是会牵涉到方方面面的专业知识,需要大量的学习。这个时候父亲“遗传”给我的条理和大学期间大量的自学经历发挥了作用,让我得以稳步的扩大自己的知识面,加上我对计算机本身的兴趣,整个过程并不觉得艰苦,也不觉得枯燥乏味。

另一个起到关键作用的因素,不是别的,正是外语。计算机相关的资料,国内是无论如何也比不上国外来的多来的全,质量也差一大截。我的英语优势在这里得到了充分的体现,包罗万象的专业知识,原汁原味的被我吸收,而我也像是婴儿般的渴求着这些养分:高等数学、离散数学、操作系统、编译原理、各种编程语言、类库、框架、平台、过程、方法论等等。

英语不光是让我能够直接阅读原版资料,它其实也是思维的载体,通过英语阅读,用英语整理思路,记录笔记,一方面是培养自己的思维习惯,另一方面也确实让我对知识的整体把握更加全面和深入。

真正的程序员

没过多久,我的第二个offer来了,新加坡电脑集团(SCS)在成都的研发中心。这是我第一份自己认可的真正意义上的程序员的工作,因此格外用心。在这里,我结识了现在的上司和老板,还有许许多多从事软件开发这个行当的人。

在SCS成都,我们主要做新加坡的外包项目,用到的主要技术跟平台是JSP、Struts、EJB、WebSphere和Oracle,团队规模更是达到数十人。回想起来,我的运气真的很好,当时的这支团队人才济济,项目的完成情况也一直不错,我在这个阶段得到了相当的锻炼,职位也从开发工程师一路走到组长和项目经理。这是我参加工作以后最开心、最有成就感的一个时期。后来我一直使用的“老高”这个称呼,即诞生在这里。

我在SCS学到一个重要的观念,就是员工和公司,在很大程度上是一体的,你为公司打工,不是简单的为拿薪水,也是为了公司和自己的发展。正是基于这个观念,在SCS做的第一个项目中,我主动申请给新入职的同事培训Java,没错,非科班毕业的我给科班毕业的新员工培训Java。这件事收到了很好的效果,无论对公司、团队、项目还是我个人。

在SCS的经历当中,很重要的一件事,是我开始全面的接触Linux。我用它来搭建我们的持续集成环境,开始学习基本的命令行工具,如awk、find、grep、sed、vi、xargs等等,和各种配置文件。这是一次让我大开眼界的旅程,我深深的被UNIX系的操作系统和它们背后的哲学所吸引,而我对简单和条理的偏爱,对美的追求,在UNIX上产生了强烈的化学反应。这是为真正的程序员而准备的操作系统。

就这样,我完成了我作为程序员的“成人礼”。

乘胜追击

回顾我的这次转型,在一开始,我的专业是我的软肋、劣势,我不断的补充计算机专业知识的同时,此消彼长,慢慢的,我的专业不再是劣势,反到成了我的优势。很多计算机专业的同学,不光专业上没有下足功夫,外语更是被忽略,而我相对来说,除了能和他们一样做开发,还具备和新加坡总部直接沟通与对话的条件,这在我的职业生涯中,从门外汉一步一步的做到管理,是相当重要的一环。

这是一个信息爆炸的时代,读书、看博、学习新技术最大的成本,是时间成本。回想从前,我应该是看过不少的书了,书读的越多,越是对什么样的书值得读、应该怎样读,有更好的把握。如果你拿到一本书,鼓起勇气试了三遍还看不下去,那就别看;如果你接触到一门新的编程语言,有些理念和设计很符合你的审美,也能带来效率上的提升,或者思路上的开拓,但同时也有其他一些设计理念比较难以消化,那就先从那些你用得到、对你有帮助的部分下手,不必追求面面俱到,也不必照单全收。你会发现,一切都会变得简单和有趣。

随着在SCS的成长,我也开始了另一个长期的习惯:写博客,记录工作、学习、生活的点点滴滴。这其实是我记笔记的延续,在这个信息爆炸的时代,快速学习消化的能力是必不可少的,通过写博客,我能够快速的把有意思的细节和想法整理并记录下来,强化它们在我大脑里的印迹。所以,与其说博客是写给他人读,不如说博客是敦促自己学习、记录和整理。

正如天下没有不散的筵席,在SCS的这段美好时光,也有终结的那一天。我不愿死等它的到来,正好这个时候,一些先期离职的同事来到上海,准备开创一片新天地,正在招兵买马。还等什么呢,爱人的故乡在召唤。

尘埃落定

2006年,辗转大半个中国,我终于定居在了上海。家很小,但是很温馨,我喜欢这样的精致和温馨。

我离开成都后不久,SCS被NCS收购。某种意义上说,现在的工作是SCS的延续,不同的是,我们已是一支独立的创业团队,不再是外包,也不再是一个项目一套技术一帮人,我们有自己的产品。经过2年的时间,我们付出了比一般的团队更多的努力,将产品从无到有带到了市场上。

我的上司,也就是公司的前任技术总监,是一个英文很好,密切关注技术走向,同时很有想法、很有魄力的人。在他的引导下,我也慢慢培养出了自己在公司环境中的大局观、技术嗅觉和管理能力,逐步承担起越来越多的技术管理工作。

认清自己的处境,找到学习的榜样,踏实的积累,安静的爆发。这已经成为习惯,成为我的一部分。

进入到管理岗位,我并没有和编程渐行渐远,相反,我将更多的精力投入到对新技术的了解、学习和摸索当中,不断的吸收新鲜知识,不断的从新知识中发现能够提高团队效率、促进团队建设和发展的新思路,并亲自操刀带到团队当中。其中比较有代表性的引入包括:用JRuby和Groovy替代传统的ANT脚本;在Linux环境进行自动化构建和多环境同时发布;采用Hibernate和iBatis混合的数据库访问方式寻求代码量和性能控制的平衡;通过Scala引入函数式编程的思想,提高代码质量;在一些周边模块的开发上,大胆采用非传统技术如Grails和wxPython,等等。这些新的技术和方法,一方面提高了团队的效率和竞争力,另一方面,也让团队对技术始终保持着必要的新鲜感和活力。

2008年,这支创业团队遭受到空前的打击,大量核心的开发和测试工程师相继离开,情形让我想起在SCS最后的日子。但留下来的人不甘心就此放弃之前的所有努力,硬是撑了下来,将产品继续完善。如今,我们已并入到丰益旗下的丰益咨询集团(WCS),而我,是这个创业团队的技术负责人。

回想我参加工作的这些年,遇到很多职场中的人,总是和所在的公司、团队融不到一起。他们似乎缺少一种信念和坚持,总在抱怨公司这也没有那也没有,不停的寻找伟大的公司和团队,却很少去思考怎样把自己所在的公司和团队做成伟大的公司和团队,从而成就自己的梦想。似乎什么东西都要公司准备好,自己只是进来写代码,或者只愿意做自己舒适区里那几样东西。也许他们要说,个人的能力有限,我自己还顾不过来呢,怎么可能去改变环境?其实很多事,并非他们想象的那样一成不变。事在人为,找准发力点,耐心的积蓄能量,你的努力和坚持,总会带来积极和正面的变化,也会为你收获你所追求的东西。

两年前的秋天,我的儿子降生,给我的家庭带来了无尽的欢乐。看着小家伙一天天的长大,希望我可以做一个合格的父亲,就像我的父辈那样,为他预留出足够的成长空间,给他毫无保留的爱与支持。也许,他的身上,也注定继承了他父亲那份简单、从容、快乐和坚持。一想到这儿,我的心里就暖暖的。

结语

从表面上看,编程是人和计算机的对话,其实,在更多的时候,编程是我们通过编程语言,通过计算机,和周遭世界的对话。人的一生,也是一场对话,心灵和世界的对话。

境由心生,你的世界是你心灵的写照:你的心有多大,你的世界就有多大;你自己简单、从容,你的世界也会变得简单和从容;你相信条理,相信美,你的世界也会变得有条理,变得更美。

大道至简,看似遥远和难以达成的目标,都有简单的路通向那里,你需要做的,就是追随自己的内心,不轻易否定周围的环境,不轻易否定自己的过去和现在,一步一个脚印,踏踏实实的前进。人生的意义不在于目的地而是过程,这里是故事发生的地方,这里是人生的精彩所在。