序言:经常在想,当工作10年、15年、20年时,我会是什么样子的?那些我孜孜以求、乐此不疲的东西,我是否应该放弃一些,抽出时间去追求更高的待遇、更好的生活?还是遵循自己的内心哪怕碰南墙也不回头?程序和我的人生会是什么样的关系?虽然对我而言,程序远不是仅仅作为一种谋生手段,但很多深层次的联系我赞时不知怎么言表。只好借用一句:人生入戏,戏如人生;人生如程序,程序如人生。我已深陷其中。趁着休假的空当,写点东西总结同时也是聊以慰藉一下已经逝去的十年程序生涯。
临近毕业,按说我的程序人生该比别人顺利些,自己也是信心满满,不料事实截然相反。
从我踏出校门,参加各种面试开始,我就很不解,为啥面试官们总喜欢问我那些问题:协议、算法、模式UML图、等等,而这些问题跟我平时写程序似乎并无多少关系,我的编程能力可以说完全是自学而来的,虽然自己学的也是计算机专业,但课堂不是我喜欢待的地方,挂科也是偶有发生的事情,理论水平勉强够考试60分。我说,我在大学里做网站为生,写代码无数,曾用jsp仿淘宝(04年,淘宝网还比较简单)做了一个二手货交易网站,被学校的勤工部作为校内交易平台。对面的面试官不屑的说,你连我问的问题都不知道,想必你写的代码也就是堆垃圾罢了。真想抽丫的一嘴巴。越是大公司,越是喜欢问这些问题,不问仿佛就显示不出他们的水平。那时自己不灵光,不知道抱抱佛脚突击下这类问题。敏于行而讷于言,面试时多会吃亏,这些年,一只吃这样的亏。如果是现在,我会回答,给我一分钟时间,我google下再告诉你。是的,google知道,但考察一个程序员,是否更应该考察一些不是能简单google出来的东西。能展示出来的那叫招式,内功深厚与否需要对接几招才知道,要过招,出招就必须和对方的套路一致。对方是下三路,你老出上三路,打半天也对不上一招。说到这里,个人觉得考察面试一个人,应尽量不要站在自己的角度,而要站在对方的角度,依据对方擅长的话题展开来,引导他们展示出他们最拿手的东西。圣人用人如木匠用木,取其所长,去其所短,不拘一格,而不是刻意念叨自己人为设定的那几个标准。如果让我面试,我更愿意考察对方的动手能力和解决问题的能力,用代码说话,这应该是程序员间交流的首选法则。
寝室里几个爱学习的室友都已经有实习机会在手,而我还在四处面试,大公司一个个错过了,小公司也没几个学好的,多是那一套,偶然一机会,碰到了一个让人耳目一新的面试官,他没有像其他人一样让你做题目,而是详细问起了我简历上写到的一些项目的具体细节,没有不屑,更像是和你在探讨,你是怎么实现的?碰到过什么问题?又是怎么解决的?如果现在再重新写,你会做那些改进?问答间还給提了不少意见。完了,直接说,你要也同意,明天就过来实习。我被吸引了,不是公司,而是面试官,因为我想跟他学习更多的东西,所以我没怎么想就答应了。第二天我来了,可是没过一星期,面试官离职了,看来我的希望又一次要落空了。面试官只大我一两岁,后来去了thoughtworks,现在在腾讯任产品经理,兼职敏捷开发讲师,他的情况是我从网上得知的,如今是新浪微博上加V名人,中文名钱安川,英文名叫Moxie,翻译过国内第一个webwork的教程。虽然彼此交集只是一次面试,但对我影响挺大。
实习时,没啥工作任务,就学习各类框架,那时诸如hibernate/spring/webwork等都刚出现不久,小公司接受使用新技术比较快,已经开始用上了。学习方式是自己找资料,做Demo。不用一上来就一头扎具体项目里去,想想实在是幸运。在学校,我用的都是最基础的东西,servlet、jsp、jdbc,不知道框架为何物(还是受限于缺乏网络)。所以没有接触框架前,自己多少做着搭框架的事情,接受了框架,也就很容易猜出来在底层它应该是怎么实现的。实习没有工资,一天7块午饭补贴。
毕业后,正式分到了一个项目组打了阵子零工,熟悉了下开发流程、团队协作、代码管理、调试测试等等,能照样画葫芦,也有很多的不知所以然,毕竟每个公司甚至每个项目经理都有很多自己封装好的东西。如此有两个月左右。再后来,我被抽到了一个新成立的项目组里,那时起,我迎来了最突飞猛进的成长,现在的很多编程习惯及能力都是那时养成的。项目经理叫沈超奇,80年,人一点不超奇,很低调,建筑专业毕业,半道入行,自学成才。当时新成立的项目是搭一个框架,以作为后续十几个子项目的基础。初期就三个人,项目经理、我、还有一个和我一起进来的应届生潘同学,开发地点定在酒店里,封闭式,吃喝拉撒全在酒店里,完了就是写代码。三个人是朝夕相处,工作、讨论、学习,日子过的叫人难忘。项目经理负责设计写核心模块代码,我负责普通后台,潘同学做界面,用的技术全是时下最新的,ajax那时概念都刚提出来,我们已经在用了。也正是那个时候,我们见识到了项目经理的能力和精力是如何惊人,每天早上讨论布置好任务,晚上回顾当天完成情况,我们俩做不好的,项目经理自己通宵帮忙修改,进度丝毫不能落下。这对他是个大考验,因为他要取信于公司领导,取信于客户,要让他们相信,我们能行。潘同学一上来就叫项目经理老大老大叫的很热乎,而我开始都直接叫名字,但是随着彼此了解加深,我也心悦诚服的呼其老大了。因为做的是基础框架,很多东西要封装的足够精巧,这样才方便维护和开放接口,所以那阵子充分认识理解了什么叫抽象封装以及一些模式。项目经理起到了带头模范作用。老大说,要以写if else为耻,我们就使劲的使用多态抽象;老大说,类、函数、变量,命名要有意义,我们就坚决不再使用X1、X2这样的命名;老大说,代码要写可读性强,我们就一个Tab一个空格的开始排版、添加注释;老大还说了,我们工作三个月学的胜过别人一年,我们就再怎么累也不觉得了。那时1600一个月,三个月另奖励了一月工资,而我一分钱都没机会花掉,因为没空出去。
那年过完年,潘同学为了另外一份三千一月的工作走了,临走还非要拉我去,说这边工资实在太低。我选择留了下来,不为别的,走了对老大不公平,花那么大心血培养了我们,都走了他又成光杆司令了,而我也还有很多东西要跟他学习。看的出来,我的选择老大也很感激。有了搭框架的经验,我们开始新的搭框架旅程,而这一次,规模更大,决心也更大。前后投入了近百万,抽调了全公司的精英力量,项目经历了三期,一期选择在了美丽的千岛湖畔封闭开发,而我的位置就靠近窗口,时值春天,每天码字声里湖光相伴,我又度过了充实而又无比惬意的一个半月时间。一期做了个Demo版本,二期开始边做边推广试用,几个点试用下来,积累了很多的改进意见,照此下去,一切都会慢慢完善起来。但管理层首先失去耐心了,一段时间内投入和产出差距太大,就开始削减投入,抽调走了大半人力去做来钱更快的项目,两年下来,人员走的走,抽的抽,又基本只剩下我和老大两人了。而此时,离完善似乎还是遥遥无期。老大过的不如意,而又婚期在即,杭州看了大半年买不起房和车,一急之下去了武汉老婆家那边买房工作去了。这下我成孤家寡人了。公司给我配备了新人继续做,而我也只能自顾自的修改升级,期间有次实施,连着一个人在客户现场奋战了好几个月,需求、二次开发、部署、测试、切换上线,一条龙服务,把这个拖了两年多的项目给收尾了。如此又坚持了一年,公司的技术总监是不停的换,就是没一个懂行的,老喜欢拉我去做别的,有一次我不干,直接闹翻,我的第一份工作历时4年,也就画上了句号。与其说是闹翻走了,不如说是累了,都是一个人在自学自玩,我又不想做管理,自然想到海阔天空,人挪挪容易活。四年工资从1600变到8000,多少也算是一种肯定。
整体来讲,第一份工作,收获有二。一,结识了一个能成为良师益友的项目经理,加速了我的学习进程,使我少走了很多歪路。虽然他一直期望我能步他的后尘,往管理方向转型,可我感觉自己更执着于追求技术上的完善,如此又过去了四年,我的想法还是没变,我的眼里只看得见代码,好看的代码。是否能成为管理者顺势而为,但是技术会是我一生的追求,哪怕以后我不当程序员回家种杨梅了,我也会坐在杨梅树下写我的代码。
二,在合适的时期做了合适的事情。四年来我一直在做框架,做产品,这使得我对代码质量的追求越来越高,我不用在众多项目中疲于奔命,而只需静下心来专心做一件事情。四年间,我掌握的技术非常具有完整性,一点不零散,整一系统;四年来写下的代码也成了代码遗产装进了个人的工具箱,成了个人的试验田,至今我还在不遗余力的完善它,在上面尝试新技术,新开发管理方式。同时我也依据后来工作中的经验,回过头来总结以前项目中一些不如人意的地方,比如过于追求功能的大而全,过于追求灵活性,最终在很多不是必要的功能实现上耗费了大量的资源,好钢没有用在刀刃上。
工作四年,我的全部家当就俩皮箱,一箱拉回了老家,一箱则在辞职后拉着上了北漂之路,到北京是在六月中旬,那叫一个热,去时一前同事在北京望京一带出差,我去了就直奔他那里先蹭几天酒店住,顺便能有足够时间去找房子租。望京的天灰蒙蒙的,望京的大马路是那么的宽,望京的公交站是那么的远,我一下来就有点感觉来错地方了。北京的夏天和南方截然不同,特别容易渴,一天喝水都要喝去二十块钱。头一个月,主要用在了玩和面试工作上了,背着个书包走遍了北京二环内的所有大街胡同。第二个月和同学在上地合租了间房子,开始上班。这次公司是亚信,面试题跟奥数题一样,我答的不错,工资也按我的要求开了,岗位叫BI,中文名叫商务智能,我就进去了。说真的,我每次找工作都不太好找,这次在北京也是,面试了七八家,响应寥寥,还是因为自己不善于说且不重视复习理论,还有这世界伯乐太少。进亚信一周不到,我就后悔了,这叫劳什子BI哟,这不就是变着花样展示各种报表数据嘛,工期还很紧,三天两头加班,也不管是不是你的任务,你做完了就做别人没做完的,反正永远都有事情做。再加上北京的地铁公交那个挤,各种不爽,一起涌来。百日不到,我就打了退堂鼓南下回杭了。
北漂前,想的是行万里路;北漂三月,有苦有累也有收获;北漂后,想明白了自己想要的生活状态。在一条路上走久走远了,偶尔停下来,稍作整顿,或调整下方向,我想这是此次北漂的全部意义。
回到杭州,已是国庆长假,回老家歇了几天后,重新开始了找工作,历时20天,这次面试了近10家公司,收到了8份工作,论工资水平,都兴趣不大。但是生活已经很窘迫,还寄居在同学家中。必须的马上工作了,最后面到了百世物流,第一映像不错,公司装修挺整洁,人看上去都挺和善真诚有朝气,面试官宣扬的物流新理念也挺新颖,唯独这工资开的是最低的。考虑再三,再次由着自己的感觉,决心先进去看看。一晃又快四年了。
在百世期间,没有了以往作为技术尖兵天马行空写代码的爽快,取而代之的是如履薄冰似的沉稳。这源于项目性质的转换,以前做的是开创性的工作,现在换成守成式的维护加升级。以前是攻,现在是守。我所参与的WMS系统客户日渐增多,业务流量越来越大,稍有闪失都有可能导致现场作业缓慢、客户大量投诉等不良影响,由不得半点马虎,只能是慎之又慎。开始做了部分重点模块的代码重构工作,代码看了一遍又一遍,迟迟不敢下手,也正是从那时起,开始特别重视写单元测试,代码不动,测试先行;测试就位,代码再跟上。如此有效保证了代码的健壮性。个人自以为,重视并习惯写单元测试是我来百世技术上的最大收获,从此开辟了写高质量代码的新篇章。以后的工作里,我对自己提交的代码拥有了绝对的信心。
也许正因为我的谨小慎微,不幸被摊上了另外一项工作,维护WMS生产环境数据库,处理日常的补丁脚本,优化性能,消除各种可能的性能隐患,导业务数据。面对数据库,需要的是比维护代码加倍的细心,代码还有单元测试、人工测试等环节去发现纠正问题,而数据一旦弄错了就极有可能万劫不复。相比写代码,这样的工作稍显乏味。真正的勇士,要敢于直面人生的惨淡。我曾经日复一日的调试某大型报表,几月有余,从中参悟如何写出高效的SQL。也曾不断思索,在数据爆炸性增长的过程中,如何让SQL能始终保持高效。还曾蚂蚁搬家似的一点点迁移归档数据。如今,在大数据概念流行的当下,相信这样的经验会有一天能排上用场。
在做好本职工作的同时,这几年里也没忘了写些个人的代码,工作加业余,就像两条腿走路,一个也不能落下。前年幸运的接触到了google code的代码托管功能,极大方便了我维护自己的代码,无论何时何地用什么电脑,只要有网络,我总能方便的检入检出我的代码。去年我又迷上了更便捷快速的github,使用至今。今年我开始努力向界面开发领域进军,力争年内解决掉自己的最后一块短板。我就想做个全能的,可以不用依赖任何人,一个人完成一切自己想要的功能。在讲究团队协作的现在,这有点反其道而行。我自做网站开始,也许我终将以做网站结束。内心深处,我还期盼着做个自由职业者。我不想成为哪个领域的专家,只想写我自己喜欢的代码。
生活中,我是一个保守+实用+简单主义者,我的生活追求简单而规律,早起用毛笔默写道德经或古诗古文半个小时,打会篮球,上班下班,哄娃玩,看会书,写点代码,完了睡觉。如果某个阶段自己脱离了生活轨迹,浪费了时间而无所事成,自己会非常厌恶自己。所以对时间,我是个极度吝惜者。我不会修电脑,也懒得去学,老婆常骂我,我不以为然,花那时间我觉得划不来,非得自己动手修了,我google下十有八九能找到别人手把手教授的视频。我只吸收那些能融入到我潜意识里去的东西,成为自己的本能,不会随着时间的流逝而忘却,比如游泳,比如写作的能力而非记住多少美文,比如审美的能力而不是记住美的具体特征。我生活里小心翼翼,杜绝一切意外发生的可能,极少冒险。但我又很相信自己的直觉,认准的事便不再犹豫,出手果断。我的房间、衣柜、书架、桌面、文件夹,总是整理的井井有条,自身却经常胡子邋遢,衣衫褴褛。
思索程序和人生,我更倾向把它们看成是一整体,写程序的很多习惯都可以在生活的细节中找到缩影,而有些习惯又反过来影响着我生活的方式。也许正应了那句话,一切上升了都归于哲学。程序的哲学亦是人生的哲学,反之亦然,可不是吗?
相关推荐
标题“毕业季——致青春ppt模板.rar”以及描述“毕业了,——致我们逝去的青春ppt模板”指向的是一个与毕业相关的PPT设计资源,主要用于纪念和展示毕业生的青春岁月。这个压缩包很可能是包含了一系列设计精美的PPT...
致青春,毕业纪念册相册ppt模板,遥想起当年怎样怎样,我才发现原来我们已然长大,也有了所谓的曾经,也有了故事可讲。每一个人都有青春,每一个青春都有一个故事,每个故事都有一个遗憾,每个遗憾都有它的青春美。...
PPT模板-致我们终将逝去的青春.dpt
《致我们终将逝去的青春》读后感(精选多篇).pdf
这篇读后感聚焦于辛夷坞的畅销小说《致我们终将逝去的青春》,书中的故事展现了主人公郑微从青涩少女到成熟女性的成长历程,以及她在爱情、友情和亲情中的抉择。辛夷坞的文笔独特,能够深入挖掘人物的内心世界,使得...
致我们即将逝去的青春.doc
《致我们终将逝去的青春》是一部描绘青年人成长历程的小说,它以其深情的笔触,讲述了主人公郑微和陈孝正等人在青春岁月中的喜怒哀乐,展现了青春的美好与无奈。这部作品通过丰富的细节和人物情感的细腻刻画,让我们...
【资源】:这篇内容是高二学生对于阅读《致我们终将逝去的青春》这本书后的感想,其中穿插了作者自身青春经历的分享,尤其是高中时期的美术学习之路。 【正文】: 青春,这个话题总是能引起共鸣,无论是通过书籍、...
《致我们终将逝去的青春》读后感.pdf
【资料】:初中语文文摘中的“情感致青春”主题,常常引发我们对青春岁月的深思。青春,是一段充满激情、梦想与困惑的时期,每个人都有自己独特的青春记忆。电影《致青春》中,王菲的一句“漫长的离别是青春的盛宴”...
很抱歉,根据您提供的信息,“《致我们终将逝去的青春》读后感(精选多篇)2.pdf”是一个关于文学作品读后感的文件,这显然不涉及IT行业的专业知识。标签也未提供任何IT相关的线索。因此,我无法按照您的要求生成IT...
这篇文档虽然名为“致我们即将逝去的青春”,但其实主要探讨的是个人成长与社会期望之间的冲突,以及如何在现实压力下坚持自我和追求梦想。文章指出,青年人常常受到来自家庭和社会的种种期待,如高考、工作、婚姻等...
描述中的“那些年我逝去的青春——我的大学,叙事的形式讲述大学生活点点滴滴”进一步确认了内容的性质,即以故事叙述的方式回顾大学的岁月。这可能涉及到个人的成长变化、重要事件、重要人物,以及对这段时光的感性...
即将逝去的青春.doc
9. 对未来的思考:作者提到自己即将迈入三十岁,意识到青春所剩无几,这引发了对未来的深思,需要更加明智地规划和利用剩下的时光。 10. 感慨与接纳:虽然青春不再,但人生的每个阶段都有其价值。我们需要接受并...
这篇文档虽然名为"致我们即将逝去的青春经典语句.doc",但实际上它包含了一系列关于情感、人生和爱情的深刻洞察。以下是一些关键知识点: 1. **个人痛苦的私密性**:每个人都有自己无法言说的痛苦,他人无法完全...
【观后感】《致我们终将逝去的青春》观后感范文5篇.pdf
被逝去的青春容颜困扰不已.doc
文档的标题和描述并没有直接提供IT相关的内容,它们更像是对青春流逝、个人成长和社会期望的哲学性探讨。不过,我们可以从中提取出一些普遍适用的生活智慧,并尝试将其与IT行业的某些方面联系起来。 在IT行业中,...