第一篇:程序员十年总结
程序员十年总结
展望未来,总结过去
10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告
走过的路,回忆起来是那么曲折,把自己的一些心得体会分享给程序员兄弟姐妹们,虽然时代在变化,但是很可能你也会走我已经做过的10年的路程,有些心得体会你可以借鉴一下,觉得说得有道理的你就接纳,觉得说得没道理的,你就抛弃,以下是我发自内心的,给大家的忠告,特别是针对那些小弟弟妹妹们。
1、自己的户口档案、养老保险、医疗保险、住房公积金一定要保管好
由于程序员行业每年跳槽一次,我不隐瞒大家,我至少换过5个以上的单位,这期间跳来跳去,甚至是城市都换过3个。还好户口没丢掉,其他都已经是乱了,好几个城市里,都有交过三金,甚至是一个程序的2个区里交的都有,那些东西,10年后,会变得很重要。你买房子若有公积金,可以取出来,贷款利率也会比较低一些,有孩子了,还需要上学,生病了还需要医疗保险。
特别是买房子时,你要商业贷款与公积金贷款的利率差别还是很大,有可能会有10万的差距。你平时都注意这些,会给你带来的损失会最小,例如每个月缴纳300元的公积金,公司也缴纳300元,你一个月能存下来600元,一年就是7200元,10年就是72000元。我以前都忽视了这些,到我需要买房子时,公积金里可能只有几千元,10年很快就过去了,结果我没能存下来多少公积金,医疗保险,养老金等更别提了,都已经稀里糊涂了,这些损失10年累加起来,是很庞大的数字,大家要注意,跳槽换工作时也要保护好自身的利益,现在房价很贵,你可能是跟我一样,大山里出来打拼的娃子,家里也没有丰厚的积蓄,只有靠自己拼搏,买房子是人生的一件大事,等你到了10年,才想到这个事情,已经晚了,特别是孩子要上学,上幼儿园等,需要户口啥的都要齐全。
2、不要轻易换笔记本电脑,不要跟潮流,不要买过多的电子产品,不要过于频繁的更换手机
这方面我的经验教训也是惨痛的。我大概前后购买过5-6个笔记本,以前的都是1万多元一台,最近买的是一台是1万多给女朋友的,自己买了一台是7500元左右,手机大概换过接近10个了,这些钱加起来也足够有10万以上了,你可能一不小心就购买了这些电子产品,但是时间长了,你一回过头来想想,你为什么赚得也不少,但是为什么还是那么穷,是因为你购买这些电子产品花费了过多的金钱了,平时笔记本啥的贵重物品要保护好,我一个同事不小心丢了2台笔记本电脑,接近2万的损失啊,你净赚2万,不是那么容易的,这个窟窿不是开玩笑的,我曾经也被人偷了一个崭新的
笔记本,损失1.5万左右,更糟糕的是最新的代码也丢被偷了。
3、这年代外语、学历、职称、驾驶证还是蛮重要的
想找高薪,外资企业是正确的选择,在同样的打工里,外资企业的收入普遍是高的,我就想不明白,我们的赚钱能力怎么就比不过人家了,社会不断发展,将来可能去外国就像串门一样了,也说不定的,外语好将来的就业机会也会更多更广一些。
学历并不代表啥,但是学历也是敲门砖,例如有300个应聘者,那至少重点本科以下的,统统不看了,因为实在是来不及看了,你再厉害也被挡在机会的门外了,同样有时候你想改行什么的,职称也很重要,最起码评个中级职称,说不定还有机会能进入大学或者政府部门还是有可能性。
若有充裕的时间,应该把驾驶证考了,因为你越到后面越忙与工作家庭,没机会学车了也说不定的,平时也别光顾拼命工作,工作10年后你才发现,原来身边的人都至少硕士学历了,你被社会自动淘汰了,我现在就有这个感觉,虽然我带过很多硕士,他们的就业机会比我还好,经常能进入名牌企业,我也一直进不去。
4、不要谈过多的女朋友,谈女朋友要看准,下手要稳准狠
我谈过2个女朋友,平均每个女朋友身上的开支前后大概会有10万左右,还好我不用谈第3个女朋友了,若投资失误,那也是很残忍的,谈女朋友也会消耗很多时间精力、还会消耗很多金钱,实话的讲的确是这样的,人家女孩子也值钱啊,凭什么就那么轻易的跟你啊,我跟第一个朋友分手时,我的生活至少是倒退了3-4年,一切从零开始,一切从头开始,我劝大家谈女朋友是人生最大的一笔买卖,投资失误会有惨痛的后果,不仅仅是金钱上的损失,更会有精神、心灵上的沉重打击,大家要学会珍惜女朋友,要学会哄好女朋友,让老婆开心每一天,虽然鱼儿上钩了,不用再下鱼饵了,偶尔也别忘记放点米,这个鱼要是脱钩了,那不是开玩笑的。
5、工作不要更换得太过于频繁,选好了行业方向最好别更换太频繁
换工作,换行业方向,就像熊掰苞米一样的道理,有时候是丢了芝麻捡西瓜,有时候是丢了西瓜捡芝麻,这个道理我就不多讲了,大家都应该能明白的。
6、要对身边的人好,要得到老板的信任、同事的认可及支持、珍惜良好的工作环境
有个朋友的QQ名字很有意思,“只爱陌生人”,陌生人是很有意思,但是最关键时刻,还是需要靠非陌生人,你每天跟同事一起生活,要维系好身边的人。你的成功与失败,往往是你身边的30-40个人决定的。你就是世界首富,他身边也是那么不超过100个人的在左右着他的生活,当你工作10年了,没一个老板信任你,没几个要好的同事朋友,那你惨了,你在这个世界上已经是很孤单了,你的收入,其实大多是来自这些身边的朋友给你介绍的生意,不大会网上掉几个馅饼的。
现在你身边的人有可能在不久的将来,给你提供很多好机会。
7、钱很重要,但是生活质量比钱还重要,工作是很重要,但是家人比工作还重要
钱不是万能的,但是没钱是万万不能的。钱赚了,身体夸了,全送给医院了,钱赚了,身心疲惫了,人活着为了啥?不就为了开开心心生活嘛?工作重要,但是失去了家人的爱,失去了女朋友,失去了老婆孩子,那这个工作有啥用了?工作很容易就换了,家人是换不了的,老婆不是想换就换的,孩子不是想换就换的,连自己的家庭都不负责的人,怎么可能对公司负责呢?我一直是这个观念,来面试时觉得工作更重要的,我们一般不录取的,那太假了,或者
太不懂事了。
8、工作累了,也别太贪玩,有时候还是需要多想想如何才能赚钱
时间一晃就过去了,工作累了是可以适当放松,但是别太贪玩,10年很容易就过去了,10年后你要买房子,要娶老婆,要买车子,要生娃娃,身体也会变得脆弱一些,需要良好的生活习惯,也经不起通宵了,通宵一次,你要低迷好几天才能缓过劲儿来,跟20刚出头完全不一样了,用钱的地方多了去了,父母也会变得更老一些,可能也需要你的照顾,整个家子都指望你赚钱,别到了这个时候,你才意识到赚钱是那么的重要,更何况现在城市的房价,动不动就是100万,加上按揭的利息,你很可能需要支付150万。还可能需要装修,买车子。可能你身上的压力是200万。别觉得谈钱就俗,你要学会赚钱,要有个需要赚钱的良好意识,当然你出身富裕家庭,就不用考虑这些因素了。
9、每天一点点进步,每月一点点积累,要敬业要爱业,我们给别人提供的也是服务
总有一天,你也会有累的时候,你也会有老的时候,这时候,你要靠啥呢?就要靠你平时的积累,你10年的积累,可以打倒很多
竞争对手,他们再厉害,再怎么样,也很难抵得过你10年的积累,特别是后面5-10年的积累,成果会很明显,前面的1-5年,算是做软件的入门吧,除非你有高人指点,那可能2-3年就可以修成正果,软件在将来还是会值钱的,以为生活会越来越智能化,越来越数字化,软件的需求还是很有前途,最起码未来的10-20年里不用太担心失业问题了。
10、对程序员来讲,开发思想、架构、代码就是财富,别老丢弃你的劳动成果,要学会保护你的劳动成果
我大概7-8年前的代码都在手上,经常改进来改进去,维护来维护去,在一定的程度上,让我生活轻松了不少,因为我不用什么都从头来过,我只要痛苦一次,以后就要反复重复利用,软件的价值在于重复利用,而不是每个东西,都从头开发,那永远也是辛苦的程序员,这个生活质量就别提了,不管自己的代码丑还是拿不出手,要学会精心维护,每天改进一点点,每个月一个小进步,每年一个大进步,多年的积累是宝贵的,这个早晚也会给你带来丰厚的收益。
11、当程序员要防止原地踏步,不是工作年限长了,经验就丰富了,能力就强了,年纪越大工作越难找。
我有一个朋友跟我开玩笑,工作5年的人,可能能力差距会很大,为什么呢?因为第一年他们干的事情都是一样的,都写程序了,2个人可能由于价值观不一样,5年后差距会很大,甚至是大到无法追赶的程度,为啥?因为还有机会的因素在里面,有的人干了5年,还是在原地踏步,天天只会写那些添加、删除、修改的代码。那你得注意了,需要不断的提高自己,才是硬道理。例如你会SQLServer,那要试着学习Oracle,你是做C/S的,那得需要提高到B/S的,你是做单机软件的,那得需要提高到网络软件,你只关注自己的工作的,需要学会管理,关心他人的工作。你是当程序员的,要试着提高当项目经理、部门经理,公司的总监等等,人有野心有目标才会不断进步,最俗的为了多赚钱,提高工作职位工作岗位,工作单位,也是可以理解的。
年纪越大工作越难找,例如3-4千的工作是随便找找,玩一样,但是你30过后,最起码要找月薪上1万的工作,这样的工作是机会也少,一般小公司也给不起,还得找个好公司才可以,好公司又不是天天招聘人,天天缺好的工作岗位,说不好听点儿,小公司的老板才赚多少啊?他来钱也很不容易的,小池塘就不好容得下大鲨鱼了。
12、当创业的收入比打工还少时,那就别创业,要找比自己能力强的人创业,你不会吃亏。
创业的收入,比打工还少,那就是瞎扯蛋,恶搞。创业的真正意思并不是要你去吃苦没钱赚,那是忽悠无知的人的。当你创业时的收入,比打工还多,那你可以考虑创业,没有工资什么的,股份啥的,都是瞎扯蛋。
不要跟自己能力还弱的人一起创业,那损失最大的,很可能就是你,要创业,也要找比自己强的人一起创业,最起码赚不到钱,还能学到不少。不会有过多的损失。别热血一沸腾就创业了,创业了,也别烧自己的钱,家人的钱,那是很不抗烧的,没几下几十万就烧干了。
其实打工,也是创业的开始,每个月都能拿到钱,还可以学到知识,什么公司的股份都是空话,没几个小公司能成功,开起来了也走不了3年就分家了,都忽悠小孩子玩的,除非真的有科技含量或者是客户资源的,否则股份是一文钱不值的,就算创业每个月也按时拿工资才是硬道理。
13、未来的生活节奏会更快,生活压力会更大,竞争会更激烈,社会服务体系会更完善。
在未来,我们享受良好的服务的!
第二篇:关于程序员总结
经过一年的辛勤付出,回望过去一年无论是思想境界,还是在工作能力上都得到进一步提高,并取得了一定的工作成绩,来总结过去的一年,展望充满期望的下一年吧。但是拿起笔的时候却发现不知道写什么,下面是关于程序员总结3篇,仅供参考,欢迎大家阅读。程序员总结 篇1
回首过去,展望未来还是10个小时就变成20xx年了,回首这一年的工作,有硕果累累的喜悦,有工作当中的艰辛,也有遇到困难和挫折时的惆怅。在项目可开发的过程中,难题一个接一个的出现,自信心不止一次的受到过打击,虽然自己早就知道,要做到符合公司的要求,做一名合格的程序员,这些是远远不够的。每天我都会不断勉励自己,好好学,以后会好的。在此同时,公司也给了我很多学习的机会,这是我对以后的编程之路又有了信心。在担任公司程序员一职已经有一年多的时间,在这一年时间里,我学到了很多东西。每个人都是在不断的总结中成长,不断的是审视中完善自己。在这一年里自己也是在总结、审视中脚踏实地完成好自己的本职工作,现将这一年的工作总结如下:思想方面严格按照一个程序员应有的素养来约束自己,爱岗敬业,具有强烈的责任岗和事业心,积极主动认真的学习专业知识,工作态度端正,听从公司的安排,积极配合客户完善数字化校园系统。工作方面热爱自己的本职工作,能够正确认真的对待每一项工作,工作投入,热心为大家服务,认真遵守劳动纪律,按时上下班,有效利用工作时间,坚守岗位,需要加班完成工作的要按时加班加点,保证工作能够按时完成。在这一年多的时间里面,我本着把工作做的更好这样一个目标,主动了解公司的开发项目流程,请教他们开发技术上的问题。
1在这一年多的时间里面,我参与的都是团队合作的项目,无论是自己还是同事,我们都将就团队精神。在信任自己和他人的基础上,思想统一,行动一致,这样的团队一定会攻无不克战无不胜。我们的很多工作是一起完成的,在这个过程中,大家互相提醒和补充,大大提高了工作效率,所有的工作中沟通是最重要的,一定要把信息处理的及时,有效和清晰。
2每一个项目在开始着手的第一步,一定要和客户把需求沟通清除,只要了解项目的需求,才有可能真正做好一个项目。我们需要向客户提出,要求客户提供所有涉及该项目的资料,每次与客户见面都需要熟悉业务与程序的程序员随时记录需求。
3工作中,将任务详细化,详细到每个页面,甚至是一个页面中的图片什么时候做好,做好到什么程度,这样把工作进度有计划有方向的定下来,做事很有效率。
4每天的工作小结真的很重要,这让我们每天都有计划的知道自己干了什么,不是漫无目的的工作,所以我们应该养成,日记、周记、月记、年记的工作习惯。
5工作并不是一成不变的,也许有一天你要去其他岗位帮忙,所以同事之间的技术要相互学习,也许有一天,公司需要你发挥其他的技能帮忙,所以相互学习也是很重要的。工作教训在公司工作的期间,我也发现了自己离一个符合公司要求的程序员还有很多差距,主要体现在工作技能与工作经验的不够,也是我以后要在工作中不断磨练和提高自己的地方。仔细总结一下,自己在工作中主要有以下方面做的不够好:
1.工作的条理性不够清晰,要分清主次和轻重缓急。在开发时间很仓促的情况下,事情多了,就一定要有详细而主次分明的计划,哪需要立即完成,哪些可以缓缓加班完成,在这方面还有很大的优化空间。
2.对流程、业务需求不够熟悉。在工作中,发现因为流程或业务需求的问题而不知道如何下手的情况有点多,包括错误与缺漏还有当时设计考虑不到位的地方,对于这块的控制力度显然不够,平时总是在开发,但说到底对业务很熟悉才是项目很好完成的前提。
3.缺乏工作经验。
4.学习的知识不够广泛。一个项目中,涉及的技术往往有很多种,知识多了,就会灵活变通,以后我也会加强这方面的学习。
要提高工作主动性,做事干脆果断,不拖泥带水。工作要注重实效、注重结果,一切工作围绕着目标完成。要提高大局观,是否能让其他人的工作更顺畅作为衡量工作的标尺。把握一切机会提高专业能力,加强平时知识总结工作。精细化工作方式的思考和实践。虚心请教比我做的优秀的其他同事,向他们学习技术或经验。其实作为一名员工,所有的地方都是需要学习的,多听、多看、多想、多做、多沟通,向每一个员工学习他们身上的优秀工作习惯,丰富的专业技能,配合着实际工作不断的进步,不论在什么环境下,我都相信这两点:一是:三人行必有我师二是:天道酬勤我的想法1提问的技巧作为一个新人来说,不懂就要问。在这里我觉得,如果是单纯技术上的问题,如果可以google到的,我认为就可以自己消化掉。问的问题一定要先google,然后带着自己的想法,去问一些有经验的人,收获会更大。曾经的我,埋头写代码,那时候很怕上司知道自己这不会,那不会。所以拼命的掩盖自己不会的东西,自己查资料,下班了问同学,上论坛发问。但是由于逻辑和现实需求不一样,所以结果不理想。如果那时候,我把自己不理解的地方和上司谈,也许会很快的就能完成这个任务,而不是返工。
程序员总结 篇2一年的时间,每当自己在总结它的时候,感觉是那么的短暂—弹指一挥间.而也就是在这一挥间,承载着太多太多,有收获与成就,有失败与不足.回头看看20xx年的足迹,伴随着自己一年的是学习与坚持.20xx年伊始是通过分销资源计划系统(DRP)拉开序幕.此次项目是一个相对比较完整的Java Web项目,从最基础的业务介绍,到需求分析,数据库分析与设计,页面设计,代码编写….直到整个项目的完成,通过这个项目学到了很多新的知识,同时对很多已经学过的知识进行很好的摩擦和补充.因为在其中还穿插着其他的内容,所以用了有半年左右的时间.具体总结可以参见博客:DRP项目总结.从4月初到5月末,准备并进行软件设计师的考试.这是我第二次参加软件设计师考试.通过两次考试的对比可以明显的发现产生在自己身上的一些改变和进步.具体可见无经历,不成熟—软件设计师考试后总结
但是最终的考试结果是没有通过,和第一次一样,差两分.虽然成绩的结果没有通过,但是通过这次软件设计师的复习考试,很给力的给自己补充了计算机基础方面的知识,同时也解了自己很多的疑惑,真正的学到了很多的知识.回顾自己整个的复习过程,收获是很大的,不仅仅是计算机基础,更是一种面对失败的心态收获.而这种心态将会在自己未来的路上会起很大的作用.后半年进入SSH项目的实践和学习.SSH为struts+spring+hibernate的一个集成框架,是目前较流行的一种轻量级Web应用程序开源框架。
Struts就是一个MVC的架构,在控制器,视图和模型方面都有其特定的组件,在SSH框架中,更多的是利用了Controller这个组件。
Spring实现了反转控制(Inversion ofControl)和面向方面编程(Achievement-OrientedProgramming)。Spring框架的能实现应用的分层架构,在应用中要使用的对象可以被一个简单的XML文件连在一起,这个XML文件含有到像事务管理器、对象工厂、包含业务逻辑的服务对象、和数据存取对象这些对象的引用。
Hibernate是一种ORM映射工具,它不仅提供了从Java类到数据表之间的映射,也提供了数据查询和恢复机制。相对于使用JDBC和SQL来手工操作数据库,使用Hibernate,可以大大减少操作数据库的工作量。
通过对SSH框架的学习,认识到框架给我们开发所带来的便利,更重要的是在框架形成的过程中所包含的原理和思想.收获都在一篇篇的博客中.大概在十月和十一月的时候准备第三次软件设计师考试.吸取教训,总结经验,摆正心态,认真跟八期一起讨论和学习,这一次不仅仅是自己学习和通过考试,同时跟颖杰一起组织并带领八期一同复习和学习,这本身也是个锻炼和学习.当时也对自己考完后进行了一个总结:详见软考总结.以上是自己计算机方面的主线.相对于计算机这条线而言,另外一个贯穿始终的是英语学习ShortBrain这条线.算算从开始进行ShortBrain到现在已经有两年左右的时间了.而今年将会是一个关键的年份,关键是从听到说的突破,从沉默期中开始爆发.今年这一年也是英语中探索和收获比较大的一年,发现了更多符合ShortBrain思想的资料,收集各种资料,数据和文档.因为是在探索着前进,中间也走了不少的弯路,其中一个什么时候开始说就在今年进行了三次以上的探索,在一次次的探索中积累了经验,通过对比自己一次次开口说的录音,发现的确是随风潜入夜,润物细无声.对于两年前的我,我的英语听力和口语能力有了很大的提高.这种提高通过看自己以前的记录会发现非常的明显.这种提高也是在正确的理念下的积累中所收获的.英语习得的核心是像小孩一样去习得英语,是通过小孩的学习的过程逐渐的建立去英语思维,在原有的母语思维的基础之上建立第二思维.而在学习的过程中最切记的是急功近利,这是很多人进行ShortBrain时候所出现很多问题的根源.环境在整个学习的过程中也显的尤为重要.如何培养英语环境是我接下来的主要任务之一.相信在接下来的一年定会有所突破.路漫漫其修远兮,吾将上下而求索.
程序员总结 篇3光阴如梭,一年的工作转瞬即将成为历史,伴随着新年钟声的临近,我们依依惜别硕果累累的年,满怀热情的迎来即将到来的20xx年。在这年终之际,现对这一年的时间里所作的工作汇报如下:
1、xx项目的编码工作
从了解xx项目的背景、及计划安排,熟悉正义公司制度及业务流程,再到熟悉新能开发模式,之后我根据需求调研报告,从基本的数据库创建,到编码,完成了销售部、生产部、采购部、质检部四个模块的基本单据的制单、审核、选单、查询、打印等系列的编码工作;完成了正义项目的模块测试及流程测试。
通过这段时间的努力,使我个人的耐心、细心程度及对工作的合理安排得到了锻炼,学会了在繁忙之中找条理,危难之中找希望。同时自己也有一些不足之处,一些细节地方技术上还不太成熟,还需加以学习与钻研。
2、xx项目的实施工作
从十一月初开始进行xx项目的实施,每天早起赶在企业上班前赶到企业进行xx的实施。实施期间主要是软件的安装实施及对企业的xx系统的使用人员进行软件使用培训;纪录客户使用过程中出现的问题,晚上下班后加班加点将每天的小错误及客户变更修改完毕。
通过这项工作,使我原本欠缺的业务能力得到了很大的提高,并学到了很多与客户交流的技巧及业务上的知识,更加明晰了xx系统的流程。但离一个成功程序开发人员的标准还差得很远,在今后工作中,定会多多注意,加以改善。
3、帮助和使用手册文档的编写
帮助的编写使我熟悉了Dream eweaver和Fire works的使用,为后期的OA开发也奠定一定的基础,使用说明的编写,使我更加加深了项目开发的整体思路与技术要点,总结了前期开发和实施中碰到的问题,并又一次的对软件整体进行了测试,对暴露出的小BUG进行了最后的修改。
4、利用工作之余的休息时间加强学习
平时注意收集有关PB方面的资料文件,提高自己的处理新问题和解决新问题的能力,并加强学习Java及OA方面的知识(现转为学习.net),为后期的工作打好基础。
以上为本人粗略的个人工作小结,请领导审阅,如工作上有不到之处,请领导不吝指出,以便本人及时改正,从而能更好地工作。展望临近的年,我会更加努力、工作上认真负责,再接再厉,更上一层楼。相信自己会完成新的任务,能迎接新的挑战。
第三篇:一个老程序员的十年回顾
一个老程序员的十年回顾
发布时间: 2012-02-05 18:30 阅读: 3149 次 全屏阅读 [收藏]
目录
上篇艰难人生
一、第一次考研的失败
二、“土包子”的北京之行
下篇学习人生:主要是我学习计算机技术的经历与感触,时间跨度大约是从1994~1996年;中篇实践人生:主要是我的技术实践经历:在公司打工,开发软件,毕业求职与教书生涯,时间跨度是1999~2003。
上篇艰难人生
从此(决定考研)迈上了一条对我来说到目前为止最难走的路,是一个人生的炼狱。
一、第一次考研的失败
决定考研之后,我就去买了相关资料,取出尘封己久差点当废纸卖掉的大学课本,又开始了学生生涯。
考哪儿的大学?是我首先要考虑的问题。当时还有另一个高中同学也准备考研,也是计算机,他报了广西师范大学的研究生。
父母则劝我也考广西师大或我的母校广西大学的研究生,说那好考得多,也可以托人走走关系。但我这人很犟,我在西大混了4年,什么也没学到,我还去那儿干什么?我想起了高中时的梦想,决定直接考北京的高校。当然,北大清华是想都不敢想的,社会上工作几年,我毕竟清楚自己几斤几两,但北京几十所高校,难道一所也不行?我不能再听父母的话了,我要走自己的路,自己的命运自己负责,于是我坚持要考北京的学校。
知道这件事的朋友都对我表示惊奇,工作了4年,学校里的知识都忘得差不多了,还想直接考北京的学校,难度之大,相信不少人都认为我成功的希望很渺茫。事实证明,他们的看法是对的,但不全对,因为世上本就没有绝对的事情。
这时,我还在一家私营公司里打工,于是,白天上班,晚上就挑灯夜战,每晚不到12点不休息。
经过半年的复习,我参加了1997年元月的全国研究生入学考试,成绩出来,我专业课没问题,但数学才得了44分,毫无疑问,名落孙山。
这是一个打击,但对我并没有太大的影响。
这时,我小时候住在隔壁的阿姨来到桂林,她说她女儿(我小时的玩伴,也姓杨)去年就考研了,但也同样没过,她原先在北京服装学院读本科,毕业分回广西柳州一个国企里,工作一年之后考研,没考上之后,她就把工作给辞了,专门跑到北京同学家中复习一年。97年考研她成功了。
得知这个消息,对我是个很大的鼓励。我想,她一个比我小的女孩都能成功,我为什么不行?我想办法与她联系上了,在后来的考研岁月中,她给了我极大的帮助,帮我买资料,帮我问成绩,写信给我,鼓励我坚持下去……
受人滴水之恩,当涌泉以报。
世上的人大都只会“锦上添花”,但只有“雪中送炭”才是最宝贵的。她就是我的“雪中送炭”人,她研究生毕业后嫁到青岛去了,断了音讯,但我心中永远记住了她的帮助。我决定,从今往后,如果我有能力帮助别人的,就一定要帮助人。这世界充满了太多不好的东西,我应该努力往其中添一点好的东西,哪怕显得多么微不足道。
二、“土包子”的北京之行
1.中关村印象
刚好,1997年我大哥在北京中央美院进修美术,我决定明年继续考研,于是辞去了在一家私营电脑公司的工作,于6月底来到了北京,住进了大哥的宿舍。6月到7月,我在北航学计算机维修,7月参加陈文灯老师的考研班,一直呆到9月中旬,我才回到桂林。
中央美院当时搬到了北京西北角的西八间房,我和大哥一起住在学生宿舍中。认识了不少来自全国各地的搞美术的大哥同学,我很喜欢和他们这些搞艺术的人在一起,看他们色彩斑斓,形象逼真的油画,和设计精巧的一些手工作品,是一种美的体验。与我们工科人相比,他们是另一种思维方式。
7月份,大哥要回桂林了。在回桂林前,我帮他和他的同学们去中关村电子市场一口气买了三台电脑,当时最红火的电子市场是中关村电子市场,就是现在北大太平洋电脑商场所在的地方。那时电子市场里熙熙攘攘,如此的红火,是我在广西所从未见到的也从未想到的。在大街上随处可见抱着台打印机,拎着个扫描仪的人,把电脑配件当成白菜一样卖,这就是我对闻名全国的“中关村电子一条街”的最初印象。
我到了中关村,见到了那些我非常熟悉的公司:北大方正,金山WPS,江民科技……,见到了北京书堆积如山的书店,感叹这里真是一个知识的海洋,觉得亲身感受到了中国IT业的脉博。
大哥回去后,我一个人留在北京,骑着辆破自行车逛了中国最有名的大学:北大和清华,北大风景如画的未名湖上处处荷叶飘香,清华平平展展的草坪展示一种平实坦荡的心胸。一墙之隔,校园内外,就是两种不同气氛,无名无状,却让我这个二十多岁没出过广西的土包子感受深刻。
2.“疯狂”的考研班
我参加的是暑期文登学校的考研班。中央财经大学那栋破败不堪的学四楼里,住满了来自全国各地的学生,和我住在一起的,一个是湖北的,一个是东北的,一个四川的,为了同一个目的,大家从天南地北聚到了一起,我当时真感到了一种“家”的感觉,原来这世界有这么多同路人,我不过是中国十几万考生中一名不起眼的“老生”罢了,但还不算是“范进”。
考研班的日子是“疯狂学习”的日子。
记得我们需要到北方交通大学的大礼堂去听人大老师索爱群的政治课,一千多人的大礼堂被挤得满满的,连过道上都坐了人。在老师的讲台前堆满了各式各样的录音机,足有一百多部,来自全国各地的莘荠学子拿着一瓶矿泉水,在北京最热的7月,挥汗如雨地在记笔记!这段日子,我用去了7个笔记本!这种气氛,我以前在广西是从未见过的。我本来以为我已经够努力勤奋的了,到北京考研班一看,根本就不算什么。
陈文灯老师教的数学给我留下了最为深刻的印象,他上课不用讲稿,所有的例题全都记在他的脑里,随手就可以写出来,丝毫不差,还总结出一整套解题方法,让我大开眼界。我是见着了,原来一个人对本职工作可以精熟到这种地步!后面我还会谈到另一位老教授对职业可贵可敬的敬业精神,不敬业,就不是一个合格的劳动者。
我一直呆到身上没钱了才离开北京。这三个月花完了我工作几年的所有积蓄,却对我的影响是巨大的,中国什么地方最适合学习?最适合学计算机?在我看来,只有北京!
我下定决心,一定要到北京来学习计算机技术。
3.差点跳楼的致命打击
9月中旬我回到了桂林,开始准备第二年的考研。
但生活是不讲情面的,我想当然地认为经过了北京名师的指点,我去年就是数学没过,今年应该没问题了,但事实并不如此。
1998年的数学试题,突然有了一次很大的变动,这次数学考试特别难,题量还特别大,全国及格率仅7%,平均分为30多分。我现在将这次考试试题称之为“变态”的题目,出题的那帮呆在空调房里的教授们挖空心思出出来的题目,可把我给害惨了。我自认为心理素质够强了,但因为这场考试关系命运太大,在考场上我的手都是抖的,几乎晕倒,一道道的大题空在那儿做不出来,都象是在不断地讥笑我不自量力,又象是一张张面无血色的血盆大口,一张口就把我给吞下去了,连骨头渣子都不吐。
考完数学,我就知道我今年没戏了。原来一个考场有几十位考生,考完数学之后只剩下不到三分之一的人。我坚持着把后面的课目考完。在那种明知无望但仅凭一种信念支撑着要坚持到底的时刻,我真不知道当时是怎么挨完后面的专业课考试的。
3月,成绩下来了,我的数学成绩让我差点去跳漓江了---13分!我从小学习勤奋努力,从没拿过这么低的分数。真是破纪录!当时真是灰心到了极点,准备放弃考研,到广东打工,找个地方浪迹天涯,自生自灭去,实在没脸在家呆了。
这个时候,我大哥劝住了我:你都考了两次了,我看来你就是数学差,其它课你都过线了,专业课还都是80多分,为什么不继续努力?集中精力把数学搞好就可以了。你现在放弃,就前功尽弃!
我这人笨,从小学学东西就慢,这是一大弱点。但上天是公平的,他给你一个弱点的同时,也一定提供了让你克服这个弱点的方法。
我笨,但我好强,但我勤奋,但我坚持,人一之,我十之,笨鸟先飞,古已有之,古人可以做到,我为什么就不能做到?这事就这么收场?我不服,不甘心!于是,我下定决心再拼一次。
我现在没有工作,也不想再去找工作了,住在家中,就与堆积如山的书干上了。在关键时刻,年迈的父母无条件地支持了我,他们默默地承担了一切,让我有饭吃,给我一个安静的环境,让我去实现我的梦想。
我深深感受到父母的爱是多么的无条件!我一个二十五六的大小伙子,呆在家中吃闲饭,还让父母为我的前途操心,那种心灵的煎熬,现在想起来都有种想哭的感觉。男儿有泪不轻弹,只因未到伤心处!在此,我要深情地对我的父母说:儿子绝不会忘记你们的恩情,唯望两老保重身体,一定要等到看到我过上好日子的时光。
4.反思,走自己的路!
考研失败,我反复想,为什么我听了陈文灯传授的做题秘诀,反而考得更差了?别人为什么用陈老师的方法考出了好成绩?看来,每个人的具体情况不同,不存在可以让人暴长功力的“武林密笈”,从这件事中我学到,决不能迷信权威,迷信理论。后来我对许多现象与潮流如CMM热、设计模式、软件工程等理论都持有不同的看法,认为把西方的东西原样照搬是行不通的,不经过自己的大脑独立地思索,不经过实践的检验,不要相信任何东西!
从98年到99年1月,我断绝了一切外部联系,把自己关在了家中。我父母的工作单位是一个疗养院,全院加起来也就一两百号人,后山就是一个森林公园,空气清新,林木繁茂,大院里还有一个小山(是真山,不是假山,桂林的这样象竹笋似的山多了),山上修了个亭子,平时少有人来,真是一个闭门修行的好地方。
我每天到小山亭子上去学英语、背政治,桂林四季长青,我周围是青山绿竹,微风一过,树叶沙沙做响,我就在这里学起了战国时的苏秦。从春学到夏,再从夏学到冬,苦苦学了一年,这一年里,使我的心志得到了极大的锻炼,困难更加难以击倒我。后来我境况转好,生活中很多人觉得受不了的挫折,在我看来都不过是小菜一碟罢了。
桂林多奇山,秀美苍翠,风景四季如画。每当我学累的时候,总是看着这美丽的风景,赞叹祖国江山如画,感触人生之渺小,命运之无常!
大哥从北京带回了一台电脑,奔腾166、4.2G的昆腾大脚硬盘,当时不错的配置,把它送给了我用。我渴望了多久的东西终于到手了,我终于可以无限制地使用计算机了!我把电脑放在床前,伴它入眠。
我有时半夜会突然惊醒,想着目前的困境,浑身会出一身冷汗。电脑沉默不语,在一旁安静地陪着我。我看着那蓝幽幽的屏幕,心情非常复杂。
有了电脑也难过,我得抑制住自己强烈地想探索软件技术的欲望,强制自己把主要精力放在考研上。
整个考研英语大纲有5300多个单词,为了背下它们,我用VB编了一个背单词的小软件,每次可以分别显示中文或英文,并可以区分哪些单词没记住,下次复习。所有单词我都是用键盘一个字母一个字母地敲入的,每天早上一起床,先对着电脑背它半个小时。到考研结束,我一看,数据库中已有了两千多个单词。
这一年以来,我真是玩命,什么考研理论我都不信了,我就托人买了国家教委出的几本考试分析,就专门研究考研试题,我要找出适合我自己的方法来。
考研数学考试分析500多页的书,被我翻来覆去地将历年考试试题做了三遍。党的十五大报告我至少背了一百多遍,我称之为背“语录”,真称得上是“倒背如流”,考政治时我把大段大段的十五大报告文字抄上去,居然得了75分!
发黄的本科高等数学和概率与数理统计,以及蓝色封皮的线性代数课本,都被我翻得不成样子。我觉得我就是基础太差,在这种基础之上,讲什么做题方法都是空中楼阁,一定要抓住“三基”(基本知识、基本方法与基本原理)。但我不得不悲哀地指出,我这些努力并未使我的数学能力有所提高,数学并不是这样学的,数学思维绝不是这样培养的。怎样学数学?得去问华罗庚与陈景润等数学大师!我至今数学还是不行。也希望有这方面经验的人能够教我,让我补上数学这一课。
生活总算给了我一次微笑。1999年考研,我数学得了60分,终于迈进了大学的门槛,可以打起背包上北京了。
我这人比较笨,不善于找到达到目标的最佳路线,但凭着牛劲钻下去,硬给我钻出了一条路。这条路能走通还带有一些侥幸的色彩,大家想必比我聪明得多,一定能找到更好的路,用更经济更聪明的办法达到目的,这是一种大智慧,是我所没有的。
这段经历对我个人的思想品质的影响是深远的。为什么这么说?为了考政治,我深入全面地了解了中国近现代史,我去盗版碟市场买了不少存有历史资料的光盘,从多方面来看中国历史,凡电视中有关历史的节目,我必看。我在这里尤其想说的是一个巨著——《毛泽东选集》!经历过文革的每个家庭,哪家没有毛选?我家就有不止一套。毛泽东选集一到四卷,发黄的书被我在这段时间通读了一遍。其中的经典文章更是被我看了一遍又一遍,赶上金庸的《射雕英雄传》了。越读越觉得毛泽东之人真是数百年才出一人的大牛人,他的《湖南农**动考察报告》、《论持久战》等著作,其中体现出来的深刻洞察力与对中国国情的深入把握,其博大的心胸,为国为民的精神真叫我震撼!最终夺了天下,实在是中国社会的必然,当时她集中了多少中国最出色最优秀的人才,再加上毛泽东这种不世出的大牛人领导,老蒋真与他不是一个水准的,想与老毛逐鹿中原,必败无疑!我成了毛泽东的崇拜者,但绝不是盲从者。
说起来大家可能不信,我从毛选中得到了许多精神上的营养,更加乐观了。毛选,真是中国人巨大的精神财富!近年来有不少愤青指着毛泽东晚年的失误全盘否定毛泽东,在我看来真是狂妄无知,他们有几个真正了解毛泽东?有几个真正客观地看过毛选?有几个有资格对毛泽东做出评价? 把他们放回毛泽东生存的那个民族危亡的时代,他们还会有这么多屁放?!说不定最先当汉奸的就是他们。呵呵,不好意思,说粗话了。
闲话少说,回到正题。
回顾这段经历,我只能说是“具有中国特色的考研之路”。我感叹,中国的考试就是扼杀人性的东西,高考与考研尤其如此。我要是用这种精力去学计算机,一年半的时间,还有什么技术学不到手?但我没办法,现实逼着我去考这种我并不想考的试。中国考试之难我看全世界也不多见,我想,每年全国还有那么多的学生要参加这种考试,大量的人力物力与年青人的精力和时间都耗费在考试上了,而考试的内容与实际脱离那么远,真的有助于人才的脱颖而出?我看反倒是形成了一种应试教育,扼杀了年青人本来所具有的创造性,中国现在为什么出不了大师级的人物,应该反思中国的教育制度。
下篇-实践人生
一、希特勒地堡与CIH病毒
1999年4月,我来到北京参加研究生复试。复试完了之后就不回去了,我拿着一张光盘,里面刻着我用VB和Authorware 3.5编的一个Cool 3D的教学软件,到处参加招聘会,开始了在北京的打工生涯。
说句实话,我心中真是一点底也没有。北京人才济济,我一个三流大学的毕业生,又不是计算机专业的,有人要我吗?
我在北京无依无靠,没有任何一个亲戚在北京,住成了大问题。北京这地方,钱太不经花,生活费用太高,我四处寻找便宜的地方住。后来,我在北京化工大学对面的招待所中租了个床位,每晚20元,地下室。这个招待所的地下室非常大,每天回去的时候,都要走过长长的曲曲折折的通道,加上那昏黄的灯泡,每次我都有走进了希特勒地堡的感觉。地下室里潮湿阴暗,不见天日。地下室里人员很杂,什么人都有,永远没有一种安全的感觉,所幸的是我也是个穷光蛋,光脚的还怕穿鞋的?别人能呆我也能呆,唯一让我担心的是钱,没钱,在北京连流落街头都不够格,立马被收容去昌平筛沙。呵呵,我没这种经历,这是当时住一块的一个外地要考北京中医药大学的博士生说的(我俩居然住到了一个屋里,大家都没钱,只能挤地下室,只是他老兄晚上打呼,我可真受了不少罪)。
日子一天天过去,袋里的钱一天天少了,但工作还是没着落,心中越来越慌,除去学费,来京时父母给我2000元,大哥资助我的1000元就是我当时的全部资金(3000元在北京能呆多久?!)。我当时订了个计划,留下500元保底,打死都不能动,要靠它作路费回家的。我当时说,一定得找到一家公司,再少的钱都干,只要有口饭吃,有张床让我睡我就满足了。
我一共应聘了四五家公司,最具传奇色彩的是到西单附近一家公司的应聘经历。那时,我带去了我的作品,公司项目经理要看,于是我给他们演示,很奇怪,程序一打开就死机,一连两台电脑都一样,末了,两台电脑都启动不起来了。用瑞星一查,CIH病毒——那天正是4月26日!于是,CIH破坏了电脑主板的同时,也无情地摧毁了我的就业机会。还算老板可怜我,没要我赔。其实我当时快到山穷水尽的地步了,真要我出钱,我可能连家都回不了啦。陈盈豪(CIH病毒的作者),你小子这么的聪明做什么不行,偏要去做病毒,害人害已,弄得我连个饭碗也找不到,晚上回“希特勒地堡”,把这小子骂了无数次!
总算天无绝人之路,在我数着最后还剩余600元钱的时候,终于有一家公司要我了,做中小学教育软件,月薪1600。干了两星期,又给我在公司的仓库挪开货物,搭了个床位,我就在那住下了,庆幸再也不用到“希特勒地堡”里当冲锋队员了。每天下班后,我就睡在林立的大纸箱之中,如果来个地震,呵呵,我就埋在纸箱中了,休想爬得出来!
我干得非常努力,第一个月工资开出来,扣掉个人所得税,我拿了1500多元。你们不知道我拿到第一笔工资的感觉!这钱在很多人眼里简直不算钱,但对于一个没工作近两年,工作也一个月收入不到200的穷小子而言,就象陈佩斯小品中所演的:“我王老五活了一辈子,还从没见过这么多钱啊!”。好笑吗?我一点也不觉得好笑。我只是心酸,我到了28岁才可以用自己的知识与技能养活自己,再不用依靠父母和兄长的资助,才真正完全用自己的力量在社会上站起来,一个没有经济自立能力的人,只能是个不成熟的人,一个躺在父母身上的人,不是一个真正的男子汉!我当这样的孬种当了28年!
我找到工作后向家里写过一封长信,信中讲了我对父母平时不好意思说的很多心里话,当时,我父亲说,母亲接到信都哭了。我刚拿到工资,马上打了个电话回家里告诉母亲,以缓解他们的焦虑,毕竟儿行千里母担心啊!父母有退休金,一再表示不需要我赡养,而我再这样不要脸下去,我还是人吗?我就是从那时候开始,下定决心,从今往后,再不向家中要一分钱!今后三年读书和生活的费用我一定要用自己的劳动来获取。
金钱带给我的激动就是在那段时间,温饱问题解决之后,金钱对我的诱惑就再没有了,哪怕让我一个月赚一万,给套房子给我,也不可能再给我带来幸福的感觉了,钱是重要的,但不能成为它的奴隶,家中不需要我负担,我一个人有吃有喝,干着我喜欢的工作,足矣!
我在那公司一直干到九月学校开学为止。我走的那一天,公司居然还开了个欢送宴会,老板封了500元的封包给我。我真是感动。我大学毕业后在社会上挣扎求生,得到的大都是冷眼与蔑视,社会终于认可了我的价值,我不是一个只知道吃饭的废物!
1999年9月9日上午9点,在这个最多9字的时刻,我到学校报道来了,放下行李,我坐在分配给我的床上,心中终于踏实下来。
现在,我在北京终于有一张属于我的床了,一张真正属于我的床了,终于有个地方可以让我安稳地睡觉了。没有这段经历,我怎么体验到“安居乐业”这一个词的真实含义!个人如此,国家要做到,中国要做到,更难!
二、编程生涯
读研两年半的时间,我四处打工,这两年半我至少在七八家公司做过,编了十几万行代码,为自己赚了一台电脑,两部手机(丢了一部),还有读研期间的所有费用,实现了我的目标:没向家里要一分钱。
我水平不高,但在打工过程中,发现许多中国软件公司的水平更菜!
2000年暑假,我参加一个商品软件的开发,搬到了北大燕北园的一个宿舍,在那儿搞封闭式开发。在这个项目采用VB6开发,主力程序员除我之处,还有一个华北电力大学的研究生。大家都没开发商品软件的经验,没经过正式的设计,就匆忙编码了。我曾经想采用分层的系统架构,但遭到另一位程序员的反对,争吵没有结果,老板也不能做决定,结果各行其是。现在看起来,那时真是太菜了,任何一本软件工程书都会指出这种做法是不对的。
我们直接就热火朝天的干了起来,那位华北电力大学的老兄,真让我佩服,他可以在一个sub过程中写上2000行代码!我觉得奇怪,为何他能写这么多的代码?一看,顿时我晕倒,他居然将每个控件的left, top, width等属性都用代码来设定!想想这样的程序,调试时光单步执行就需要按多少次F8键!
我们在电脑旁边搭了个行军床,每天都是干到早上6点才睡,12点吃中饭,然后又是一个通宵。当时整个工程只有一个类模块,被我用于封装访问数据库的ADO数据引擎,这是整个工程中唯一一处用到了最简单的面向对象技术的地方。然后,我写了近十个bas公用模块,每个模块代码规模都有一两千行,还有十几个窗体,每个窗体中都塞满了事件驱动的VB代码,整个软件应该有10万行代码,我一个人在此期间至少就写了3万多行VB代码。程序的主处理流程我甚至用ADO与DAO写了两套!
现在想起来,我们当时根本就不知道面向对象为何物,更不理解许多对软件开发至关重要的理论,就凭着一种热情。在这段痛苦的开发经历中,我不仅精熟了VB,而且从中学到了很多。现在再开发同样功能的东西。我至少可以砍掉2/3的代码。怎么学都不如从失败中学得多。
后来我总结VB程序员的三个境界:
(1)所有代码都只放在窗体文件中的,属于菜鸟级,他们只会从面板上拖控件,设置属性,然后再给事件编码。
(2)工程中有bas模块的,属于中间级,他们已意识到有大量的代码是重复出现的,应该将其抽取出来作为公用模块。
(3)工程中有cls模块的,属于高手,他们已掌握了面向对象的思想,并能应用这种思想来解决实际问题。
正是这次开发经历,促使我反思:到底如何开发软件?我个人可以用VB完成各种各样的功能,为什么凑在一起就会那么困难?更正一个bug为何那么难?为什么一个看似简单的软件,要拖半年的时间还看不到结束的日子?
九月,研究生要开题,我自拟了个课题:软件体系结构设计。我决心弄明白,好软件到底是怎么做出来的。
我放下了VB,开始研究C++,原来学过VC,但没学会,就直接从C++ Builder入手。Borland公司的VCL类库让我大为叹服,很快就迷上了它,为此连带学了Delphi,并参与了一个Delphi项目。给我真正震撼的是《设计模式》这本书,看了才知道,原来好软件是这么设计出来的!在此,我强烈推荐所有有一定编程经验的程序员一定要看这本书!
一边学习理论,一边可没忘记我没经济来源,于是又四处打工,接一些小项目与小模块来赚些生活费,国内一家横跨家电与软件的著名公司是我打工期间去过的最大的公司。但无论什么公司,都给我一种感觉——烂!公司中充满了对员工的剥削与不尊重,对软件开发这一事物的错误认识,管理混乱。
我没机会去外企,技术水平不到,别人不要我 ?,但我所见到的软件公司,我敢说没一家能做出世界一流的软件!
我上的研究生课程也让我失望,整个就是本科教育的再版。经过高考与考研两次重大考试,我对考试已是深恶痛绝,但读研期间仍要考试,而且是闭卷!我就不知道我去背那些条文对我的研究与学习有何帮助?2000年7月当我考完最后一门,终于大松一口气,我终于摆脱了考试的压迫,可以在剩余的一年半中真正搜索我渴望已久的软件技术了。这年,我29岁。
悲哀吗?一个中国的程序员要到29岁才可以真正自由地学习想学的东西!
我开始研究面向对象理论,看了大量的书,每天都在实验室学习到深夜12点,天天上网,CSDN成了我最常去的网站。
随着我对软件技术的了解越多,就越深刻地感到国内与国外技术水平的差异是如此的巨大,巨大得甚至有让人绝望的感觉。同时,在北京这个中国软件人才最集中的地方,我也见到了许多牛人,一个清华的本科学生,做程序员可以拿到一个月12000元的工资,一个北大的计算机系研究生,一毕业就到外企,一个月一万多收入,每年发16个月工资!干了两年就开了自己的公司。我看到了一个北方交大的本科生作品,在半年的业余时间里,用Delphi写了十几万行代码,他甚至在代码中嵌入汇编,自行编写数据存取引擎读写Foxpro,速度超快!软件中有一个计算公式解析模块,他用编译原理理论居然做了一个小型的公式解析器,就象C++编译器检查C++程序一样,不仅可以判断是否公式正确,而且给出的出错信息还相当准确!其基本功之扎实,水平之高让我望尘莫及!中国优秀的人才真还是不少的!在精英集聚的北京,面对着博大精深的软件科学,我深感自身的渺小。
但我毕竟是靠自己奋斗出来的,我并不自卑,这世界需要牛人,同样需要大批合格的劳动者,我成为不了牛人,但我作一名程序员是合格的。
时间过得飞快,一年半根本就不算时间,马上就要毕业了,学习的成绩如何,要到社会上去竞争了,让社会考场来决定你是否及格。
三、毕业求职
98级的研究生是IT业最后辉煌的回光反照。当时,各大公司都发了疯似的要人,象华为,当时是来者不拒。计算机专业的研究生是一抢而光,本科生也供不应求。2001年毕业的我的师兄师姐们,平均每个人手头都至少有两三个offer,谈的工资没有低于每月6000的,许多人去了外企,工资在8000~10000每月的也有。真是毕业生的黄金时间。
但好景不常在,911事件我看来好象成了分水岭,911之后,整个IT业急刹车,就业形势急转直下,各大公司都在消化去年吃得过饱的胃口,我形容是大家都吃坏了胃,再也不可能有我师兄师姐们的风光了。虽然时间相隔仅大半年。
从10月开始,11月和12月,我几乎是在招聘会与公共汽车上渡过的,北京东南西北地去面试,上午在上地,下午可能就要跑到朝阳区,疲于奔命。
在找工作过程中,我良好的心理素质与丰富的编程经验起到了很大的作用,并没有遇到很大的困难,就先后有几家公司表示要我。
其中我想说的有两家公司。
一家是中国台湾公司,应该说他们做得是不错的,但我非常反感他们那种自认为高于大陆人的那种优越感,而且待遇也不高。面试之后,回来感觉很不好。
我想:我们大陆确实是不如中国台湾发达,难怪别人看不起我们,这世界势利得很,社会如此,国家亦然。但我中华960万平方公里的国土,13亿人口,难道要依靠一个小小的岛屿来撑门面?难道除了中国台湾公司,我就无处可去了?虽然改变不了什么,但我决定绝不去台资和日资的公司工作(日本人我更不喜欢,但我认为他们做事实在优秀,我们一定要向日本人学习)!在这种公司呆着,不爽!同时,我们的确也得争气些,这世界只尊重强者。
另一家是个很不错的民族软件企业,想要我,其老总专门找我去面谈了一次,希望我能到他的公司工作。这位老总白手起家,能在五六年的时间内由几个人发展到300多人,当时,是中国这个领域软件市场占有率最高的公司,我非常佩服,他为人也很好,并表示可以给我每月比其他研究生多加1000元工资,而且希望锻炼一两年之后我能够带领一个团队来开发产品,并负担我毕业所需交纳的各种费用。在就业不景气的2002年,对我一个30岁的技术水平有限的老程序员如此看重,真叫我感动。虽然我最后还是没去,但我仍然对这个公司充满了好感。一个软件企业最重要的是什么?是对人的尊重,没有这点,可以断定,这个公司长不大。
我为什么没去软件公司?放弃有可能在几年之后年薪突破10万的收入?是因为我已有了更想做的事,我想当老师!
我自己是从自学的路上走过来的,其中的艰辛历历在目,无人指点,我走了多少弯路?中国还有多少是象我这样的年轻人无人指点的?我幸运能爬出来了,因为我至少还能有饭吃,比我条件更差的,比如农村的孩子,可能就被生活的压力所淹没了。我个人的力量很微弱,技术也有限,但我自认为至少是一名合格的程序员,如果能培养出一大批达到我的水平的学生,他们毕业后成为合格的程序员,中国软件的根基就会更扎实,如果更能有一批远远超过我水平的学生出来,中国软件就有希望了。软件是什么?软件以人为本!
人生追求什么?金钱?我很缺钱,但不可能把金钱作为我的目标,我希望我能够成为一个对社会有所贡献的人,能够获得心灵的充实,于是,我选择了留校。
四、对教育的反思与教书生涯
2002年下半年,我参加了北京高校青年教师岗前培训。一位杜教授的两堂课让我印象深刻,其中两句话让我深深震动:
第一句话:我是一个教书匠,教书匠好啊,好就好在“匠心独运”!
第二句话:做什么工作都要达到变魔术的境界!
是的,作为一名教师,就必须起到一个传声筒与放大器的作用,将人类最聪明的人探索世界所得到的知识予以拓宽发展,以便让更多的人能够掌握这些知识并进而应用于实践,从而推动人类的不断进步。
作为一名计算机专业的教师,就要努力把先进的计算机技术以尽可能高的效率传授给广大的学生,引导他们直接面对真实的软件世界,而不是向他们硬灌各种各样的理论知识,强迫他们去死记硬背以应付考试。
我是一个小人物,才低学浅,但我真的认为高校计算机教育存在严重的问题。我在打工期间的开发经历,以及阅读国外相关资料的时候,发现学校中教的和社会上用的差得太远!都已经是什么时代了,许多大学还设立Foxpro课程,难道就不能直接用现代主流的数据库如Oracle,SQL Server,哪怕是Access也好,来讲授数据库知识?还有所谓的计算机等级考试,呵呵,过了三级学生的我见过不少,但他们真正对软件,对计算机又理解多少?
在中国甚至于升职称也要考计算机,我看了一本职称计算机考试教材,里面几乎原样照搬计算机原理课程中的相关章节,弄得我给搞艺术的大嫂讲了一个小时的二进制与八进制、十六进制的转换方法,她还是弄不太清。我都泄气了,对啊,他们搞艺术的,有必要去分清二进制的10与十进制的2有何分别吗?他们八辈子也用不上。但是考试用得上,呵呵,又是中国特色。
拿C++来说,我讲过C++课,许多的国内教材对C++语法下了大功夫,却对体现了C++精华的STL只字不提,对代码背后所体现的软件开发思想与方法更是视而不见,我用C++也编过不少程序了,说句实话,我用到的特性不到C++的三分之一!于是就出现了这种怪现象,许多学生考试可以拿八九十分,给他一个简单的实际问题他却不知如何下手!
还有UML,现在好象很火的样子,我们读研时就开了这门课,讲句实话,当时这门课我就没听懂,可后来我尝试着用C++用面向对象的方法来编程序,然后,由代码倒推回UML类图,一下子就明白了,原来UML只不过是一种描述面向对象系统的符号罢了,如果学生没进行过真正的OOP,那就是为了学UML而学UML,根本就本末倒置。
还有软件工程,我的感觉,一个人如果没写过一万行以上的程序,他看软件工程书就同看政治书差不多,每句都对,呵呵,就不知道为什么对。我完成了那个几万行的VB程序之后,再回过头看看理论,真是句句是真理!每个理论背后都是大量实践经验的总结。
回想我做软件的体会,我发现所有的知识都是一个完整的体系,根本就无法区分哪些知识是本科的,哪些知识是研究生课程。于是,一种想法产生了,我主讲程序语言类的课程,那我就直接以真实的软件开发过程为主线,实践中需要什么我就讲什么。讲C++,我就抛开了指定的教材,C++我讲了STL,我讲了OOAD,两者我都讲了用Rose进行双向工程,引导学生去学UML,一开始就用UML去描述自己开发的程序,何必浪费大量的时间去学结构化的编程方法?
我现在简直成了面向对象技术的布道者,我下学期即将开设OOAD基础选修课,从实际项目中抽取典型的案例,讲UML,讲Rose,讲设计模式,讲软件体系结构,例子代码横跨C++和.NET下的开发语言(C#和VB.NET),这对于我一个技术水平有限公司的董事长而言,实在有点不自量力,我鼻子上才插上几根葱,就想装大象?但我想,如果我能成功地激发出哪怕1%的学生的兴趣,能引导他们走向我认为是正确的方向,能启发他们思考,能直接面向真实的软件开发活动而不是学校的考试,就是我的成绩。我现在正在看引进的原版书籍——《设计模式解析》,时时击节赞叹!《设计模式》经典但难懂难用,而《解析》一书的两位作者既有丰富的从业经验,又对OOAD进行了深入的思索,真知灼见时时展露于书中,我现在刚看了这本书的80%,基本上可以用一个成语来描述这部书:深入浅出!
要做到深入浅出谈何容易!只有同时具备技术专家与文学作家素质的人才能做到!
反观我们国内的大量教材,还有大量的垃圾论文(包括硕士、博士的,本科的就算了,我看绝大部分根本不能称之为论文),全都是“浅入深出”,作者自己都未必明白,就东拼西凑,摆出个样子吓人。本来完全可以用大白话三言两语讲清楚让人明白的道理,有人专门要绕一大圈,专挑用高深的数学公式来表达,唯恐别人容易理解,显得他水平不高!呵呵,什么东西一沾上“数学”,立马身价百倍。我就听过一个北师大的一个在读博士说过:如果一篇博士论文中没有一个数学公式,根本就不算是博士论文。这句话对不对,大家可以多思索。我数学不好,没资格讨论数学,我的直觉:数学是工具,但如果为了发表论文等目的而故弄玄虚,为数学而数学,是不合道理的。中国的学术水平与现状,大家都心知肚明,不用我废话了。
现在每年都毕业大批的计算机专业学生,可其中真正具备扎实根基的可以很快胜任工作的我看只有5%(95%的学生不要扁我,不同意就当我在说胡话,我很瘦的,一扁就没了?)。多年以来,我国高校计算机教育是按照计算机科学研究者来培养的,可事实上,有多少学生能从事计算机方面研究的能力?我看应分流,80%的学生按工程师方向来培养,20%的学生按研究者方向来培养,而且应大幅减少必修课的数量,计算机领域太深太广,样样都想教给学生,反而成了夹生饭,一个想从事硬件设计的学生和一个想从事软件开发的学生,能给他们一样的饭吃吗?学校应提供各种条件和资源去引导学生,激发学生的创造性与主动探索性,让他们去尝试,去发现自己的长处,最终找到最适合自己的发展方向。不这样做,中国软件后继乏人,没希望。
五、实践第一
2002年下半年,我和一个朋友去了北京郊区的一家杂志社,看到的情形让我震惊:在信息产业最发达的北京,这家杂志社还用人工查对杂志订单和款单,看着那按省来登记的几大本厚厚的客户登记本,工作人员需要手工来在其中查找相应的信息。这样的工作效率,这样的行业信息化水平!北京如此,全国又如何?
从这件事上,我看到了中国软件业的另一方面。一方面我们没有核心技术,另一方面,已有的技术又根本没推广没用好。追踪世界先进水平,对于我等这种水平的人来说,确实勉为其难,但将已有的技术用于解决实际问题,却是我们可以做的。如果中国各行各业都真正能通过进行信息化而提高生产效益,那中国不就从根本上强大起来了吗(象印度,IT一枝独秀,其他行业没有起色,我称之为跛足的国家,绝不能成为世界强国)?在扎实的社会基础之上,软件业不就有了更大的市场与发展潜力?中国许多行业的信息化水平非常低,而且中国地域广大,发展非常不平衡,有些地方信息化水平甚至为0!努力推动行业信息化,是我们这一代软件开发者的责任!而追赶国外先进水平,恐怕就不是一代两代程序员可以达到目标的,需要长期的努力。作为一名软件开发者,只能脚踏实地,哪怕你只做一个小小的MIS产品,也要尽力把它做好来。
于是,我开始了期刊发行系统的开发,这完全是自发的,没有任何资金投入,只有一种热情在支撑。我开始选择C++ Builder开发,做了几个月,完成了第一个版本,但我发现,我找不到足够水平的C++程序员进行合作开发,而且整个一个exe文件,在体系结构设计上虽采用了分层分块的设计方案,但却是源代码级别的,要拆分成COM组件难度太大,不是一个人能完成的,于是中途流产。
2003年3月,我开始系统地学习.NET,我吃惊地发现,我原来想在C++中实现的许多功能,比如对象串行化为XML,在.NET中已有现成的类可用,.NET更把OO的功用发挥到了极致,它的混合语言开发,它的反射机制,它的新的自识别的软件组件,以及强大好用的开发环境Visual Studio,都让我惊叹微软对开发者遇到的困难的深入把握,相比用C++开发,至少可以提高1/3的开发效率。于是一个新的想法产生了,我要把以前的产品用.NET重写,利用.NET强大的组件模型,将设计模式理论推广应用到组件级别,通过XML和反射机制建立一套可动态装配的软件生产流水线,实现象Dell直销PC那样的软件动态装配直销。只要建立好灵活可不断重构的系统架构,配以对业务领域的深入分析,逐步建立功能强大的业务组件仓库,就可以实现软件系统的动态装配。说干就干,我用VB.NET重写了原先用C++编写的系统,将原先的一个exe变为十几个dll,而且这些dll还会随着发展而不断地分裂,也有可能重新组合,利用refractoring(重构)不断进化,最终形成一整套完备的行业软件组件库。做软件关键因素是变化,只有适应变化的系统才是有生命力的。
我用两个月的时间大体上弄清了.NET平台下的主要类库,然后又用两个月的时间再次重新实现了期刊发行系统的C++版本的全部功能,到8月份我写这篇文章之时,第一个产品里程碑已经完成。同样的,除了需求是由另一个合作者去搜集的之外,几乎又是全部由我一个人包揽了所有的系统设计及编码工作!
毫无疑问,我自觉得新系统要比老系统可维护性强得多,真正实现了彻底的全组件化系统开发,计划再有一个月的界面美化,改正bug,引用多线程提高运行效率,优化系统结构,就可以提供给用户试用了。市场如何,难说难测。
在开发过程中,我再次感到巨大的挑战,不光是技术上的,更是管理上的。人才是我最头痛的问题,没有一流的人才,哪来一流的产品?我们找不到足够水平的程序员一起合作(牛人哪屑于做这样一个小儿科的产品?)我们要走的路还很长。也许我们开发的产品是失败的,但我从来就没指望能用这赚钱,我只是尽一个软件开发者的责任而己,成败已不重要!人生不尝试,怎能体现人活着的价值?
刚好我编的程序告一段落。于是就crazy地敲键盘,一鼓作气地把下篇写完了。心中有好多话一次就说个痛快。
看得越多,想得越多,我就越困惑,人啊,你活着到底是为了什么?又整天忙忙碌碌地追求些什么?我这十年,……我都不知道怎么说了!
大家自己看吧!
结束语 永无止境的软件之路
一、辛酸与苦辣
做软件开发很苦的,技术进步如此神速,每个软件开发者都得不断地学习以跟上发展的步伐。有时我常想,何苦呢?我现在在大学中混,怎么样不能混下去?为什么要做这些吃力不讨好的事?我投了十年的时间去学习电脑,却最终发现自己不过中人之资,离顶峰远之又远。古语云:三十而立。我今年32了,仍是孤身一人,看看周围的同学,他们的小孩都差不多上小学了!许多都有了自己的房子和车子,而我到现在才开始申报中级职称,还挤在集体宿舍中,望着北京高昂的房价而叹息。现在社会越来越功利了,看着象我这样的穷光蛋,看着由于长期面对电脑缺少锻炼而瘦弱的身躯,又有哪个女孩愿意嫁过来受苦?
软件人的生活很苦,压力很大,我认为是拿青春赌明天。就是在这种恶劣的开发环境中,还有许多业外人士指手划脚说程序员如何如何,还有太多的公司只顾压榨程序员的劳动,缺乏对程序员基本的尊重,怎不叫人寒心?
“三十而衰”,这句本不应该流行的话居然成了中国软件人员的流行语。中国程序员的悲哀!
二、无止境的追求
人类已进入信息时代,计算机技术几乎每隔半年就有一次大的变化,我现在又面临着这样的抉择:今后的路如何走?
北大的教师聘任制度的改革一石激起千层浪,说明了中国高校的改革势在必行。我是欢迎这种变化的,虽然到时我可能会下岗。但人生中总会遇到各种各样的挑战,只要你不倒下爬不起来,就有希望。
我想我必须再次让自己有个提升,要从小事做起,但做小事则绝不能成为最终的目标,也许,不远的将来,我会走出国门,到世界软件技术最发达的地区去汲取丰富的养份。今后的路怎么走,我还在摸索之中。
三、人生无悔
人生年华如水,时光无情。在过去的岁月中,我尽了自己的力,回顾往事,我可以说:过去的事只有遗憾,却没有后悔。如果给我再一次选择职业的机会,我还会再次选择软件!
再过10年,到2013年的时候,我也许会再次写一篇人生的十年回顾,到那时中国的软件会如何?中国软件的明天靠你我这些普通人去扎扎实实地去工作来支撑!少发些牢骚,多做些实事,中国软件才会有光辉的明天。你我共勉!
一个老程序员的心理话
完成于 2003-8-3 北京
2003-8-3中午14:33,在我的弹指神功之下,我写完了这近两三万字的个人自诉。一点也不累,回想过去的种种感触,仍然身在其中。
楼上一位兄弟说想看我的爱情故事,但人生不是小说,没有什么浪漫的,我只能让你失望了,我是孤单地在人生之路上走着,我就是这样的一个带着点悲剧色彩的人。
如果有人能有这上中下三篇文章耐心看完,我会谢谢你。如果有人能指点我,我感激你。
好了,我去休息了,生活是一天天过的,不是吗?
第四篇:一个老程序员的十年回顾
目录
上篇艰难人生
一、第一次考研的失败
二、“土包子”的北京之行
下篇学习人生:主要是我学习计算机技术的经历与感触,时间跨度大约是从1994~1996年;中篇实践人生:主要是我的技术实践经历:在公司打工,开发软件,毕业求职与教书生涯,时间跨度是1999~2003。
上篇艰难人生
从此(决定考研)迈上了一条对我来说到目前为止最难走的路,是一个人生的炼狱。
一、第一次考研的失败
决定考研之后,我就去买了相关资料,取出尘封己久差点当废纸卖掉的大学课本,又开始了学生生涯。
考哪儿的大学?是我首先要考虑的问题。当时还有另一个高中同学也准备考研,也是计算机,他报了广西师范大学的研究生。
父母则劝我也考广西师大或我的母校广西大学的研究生,说那好考得多,也可以托人走走关系。但我这人很犟,我在西大混了4年,什么也没学到,我还去那儿干什么?我想起了高中时的梦想,决定直接考北京的高校。当然,北大清华是想都不敢想的,社会上工作几年,我毕竟清楚自己几斤几两,但北京几十所高校,难道一所也不行?我不能再听父母的话了,我要走自己的路,自己的命运自己负责,于是我坚持要考北京的学校。
知道这件事的朋友都对我表示惊奇,工作了4年,学校里的知识都忘得差不多了,还想直接考北京的学校,难度之大,相信不少人都认为我成功的希望很渺茫。事实证明,他们的看法是对的,但不全对,因为世上本就没有绝对的事情。
这时,我还在一家私营公司里打工,于是,白天上班,晚上就挑灯夜战,每晚不到12点不休息。
经过半年的复习,我参加了1997年元月的全国研究生入学考试,成绩出来,我专业课没问题,但数学才得了44分,毫无疑问,名落孙山。
这是一个打击,但对我并没有太大的影响。
这时,我小时候住在隔壁的阿姨来到桂林,她说她女儿(我小时的玩伴,也姓杨)去年就考研了,但也同样没过,她原先在北京服装学院读本科,毕业分回广西柳州一个国企里,工作一年之后考研,没考上之后,她就把工作给辞了,专门跑到北京同学家中复习一年。97年考研她成功了。
得知这个消息,对我是个很大的鼓励。我想,她一个比我小的女孩都能成功,我为什么不行?我想办法与她联系上了,在后来的考研岁月中,她给了我极大的帮助,帮我买资料,帮我问成绩,写信给我,鼓励我坚持下去„„
受人滴水之恩,当涌泉以报。
世上的人大都只会“锦上添花”,但只有“雪中送炭”才是最宝贵的。她就是我的“雪中送炭”人,她研究生毕业后嫁到青岛去了,断了音讯,但我心中永远记住了她的帮助。我决定,从今往后,如果我有能力帮助别人的,就一定要帮助人。这世界充满了太多不好的东西,我应该努力往其中添一点好的东西,哪怕显得多么微不足道。
二、“土包子”的北京之行
1.中关村印象
刚好,1997年我大哥在北京中央美院进修美术,我决定明年继续考研,于是辞去了在一家私营电脑公司的工作,于6月底来到了北京,住进了大哥的宿舍。6月到7月,我在北航学计算机维修,7月参加陈文灯老师的考研班,一直呆到9月中旬,我才回到桂林。
中央美院当时搬到了北京西北角的西八间房,我和大哥一起住在学生宿舍中。认识了不少来自全国各地的搞美术的大哥同学,我很喜欢和他们这些搞艺术的人在一起,看他们色彩斑斓,形象逼真的油画,和设计精巧的一些手工作品,是一种美的体验。与我们工科人相比,他们是另一种思维方式。
7月份,大哥要回桂林了。在回桂林前,我帮他和他的同学们去中关村电子市场一口气买了三台电脑,当时最红火的电子市场是中关村电子市场,就是现在北大太平洋电脑商场所在的地方。那时电子市场里熙熙攘攘,如此的红火,是我在广西所从未见到的也从未想到的。在大街上随处可见抱着台打印机,拎着个扫描仪的人,把电脑配件当成白菜一样卖,这就是我对闻名全国的“中关村电子一条街”的最初印象。
我到了中关村,见到了那些我非常熟悉的公司:北大方正,金山WPS,江民科技„„,见到了北京书堆积如山的书店,感叹这里真是一个知识的海洋,觉得亲身感受到了中国IT业的脉博。
大哥回去后,我一个人留在北京,骑着辆破自行车逛了中国最有名的大学:北大和清华,北大风景如画的未名湖上处处荷叶飘香,清华平平展展的草坪展示一种平实坦荡的心胸。一墙之隔,校园内外,就是两种不同气氛,无名无状,却让我这个二十多岁没出过广西的土包子感受深刻。
2.“疯狂”的考研班
我参加的是暑期文登学校的考研班。中央财经大学那栋破败不堪的学四楼里,住满了来自全国各地的学生,和我住在一起的,一个是湖北的,一个是东北的,一个四川的,为了同一个目的,大家从天南地北聚到了一起,我当时真感到了一种“家”的感觉,原来这世界有这么多同路人,我不过是中国十几万考生中一名不起眼的“老生”罢了,但还不算是“范进”。
考研班的日子是“疯狂学习”的日子。
记得我们需要到北方交通大学的大礼堂去听人大老师索爱群的政治课,一千多人的大礼堂被挤得满满的,连过道上都坐了人。在老师的讲台前堆满了各式各样的录音机,足有一百多部,来自全国各地的莘荠学子拿着一瓶矿泉水,在北京最热的7月,挥汗如雨地在记笔记!这段日子,我用去了7个笔记本!这种气氛,我以前在广西是从未见过的。我本来以为我已经够努力勤奋的了,到北京考研班一看,根本就不算什么。
陈文灯老师教的数学给我留下了最为深刻的印象,他上课不用讲稿,所有的例题全都记在他的脑里,随手就可以写出来,丝毫不差,还总结出一整套解题方法,让我大开眼界。我是见着了,原来一个人对本职工作可以精熟到这种地步!后面我还会谈到另一位老教授对职业可贵可敬的敬业精神,不敬业,就不是一个合格的劳动者。
我一直呆到身上没钱了才离开北京。这三个月花完了我工作几年的所有积蓄,却对我的影响是巨大的,中国什么地方最适合学习?最适合学计算机?在我看来,只有北京!
我下定决心,一定要到北京来学习计算机技术。
3.差点跳楼的致命打击
9月中旬我回到了桂林,开始准备第二年的考研。
但生活是不讲情面的,我想当然地认为经过了北京名师的指点,我去年就是数学没过,今年应该没问题了,但事实并不如此。
1998年的数学试题,突然有了一次很大的变动,这次数学考试特别难,题量还特别大,全国及格率仅7%,平均分为30多分。我现在将这次考试试题称之为“变态”的题目,出题的那帮呆在空调房里的教授们挖空心思出出来的题目,可把我给害惨了。我自认为心理素质够强了,但因为这场考试关系命运太大,在考场上我的手都是抖的,几乎晕倒,一道道的大题空在那儿做不出来,都象是在不断地讥笑我不自量力,又象是一张张面无血色的血盆大口,一张口就把我给吞下去了,连骨头渣子都不吐。
考完数学,我就知道我今年没戏了。原来一个考场有几十位考生,考完数学之后只剩下不到三分之一的人。我坚持着把后面的课目考完。在那种明知无望但仅凭一种信念支撑着要坚持到底的时刻,我真不知道当时是怎么挨完后面的专业课考试的。
3月,成绩下来了,我的数学成绩让我差点去跳漓江了---13分!我从小学习勤奋努力,从没拿过这么低的分数。真是破纪录!当时真是灰心到了极点,准备放弃考研,到广东打工,找个地方浪迹天涯,自生自灭去,实在没脸在家呆了。
这个时候,我大哥劝住了我:你都考了两次了,我看来你就是数学差,其它课你都过线了,专业课还都是80多分,为什么不继续努力?集中精力把数学搞好就可以了。你现在放弃,就前功尽弃!
我这人笨,从小学学东西就慢,这是一大弱点。但上天是公平的,他给你一个弱点的同时,也一定提供了让你克服这个弱点的方法。
我笨,但我好强,但我勤奋,但我坚持,人一之,我十之,笨鸟先飞,古已有之,古人可以做到,我为什么就不能做到?这事就这么收场?我不服,不甘心!于是,我下定决心再拼一次。
我现在没有工作,也不想再去找工作了,住在家中,就与堆积如山的书干上了。在关键时刻,年迈的父母无条件地支持了我,他们默默地承担了一切,让我有饭吃,给我一个安静的环境,让我去实现我的梦想。
我深深感受到父母的爱是多么的无条件!我一个二十五六的大小伙子,呆在家中吃闲饭,还让父母为我的前途操心,那种心灵的煎熬,现在想起来都有种想哭的感觉。男儿有泪不轻弹,只因未到伤心处!在此,我要深情地对我的父母说:儿子绝不会忘记你们的恩情,唯望两老保重身体,一定要等到看到我过上好日子的时光。
4.反思,走自己的路!
考研失败,我反复想,为什么我听了陈文灯传授的做题秘诀,反而考得更差了?别人为什么用陈老师的方法考出了好成绩?看来,每个人的具体情况不同,不存在可以让人暴长功力的“武林密笈”,从这件事中我学到,决不能迷信权威,迷信理论。后来我对许多现象与潮流如CMM热、设计模式、软件工程等理论都持有不同的看法,认为把西方的东西原样照搬是行不通的,不经过自己的大脑独立地思索,不经过实践的检验,不要相信任何东西!
从98年到99年1月,我断绝了一切外部联系,把自己关在了家中。我父母的工作单位是一个疗养院,全院加起来也就一两百号人,后山就是一个森林公园,空气清新,林木繁茂,大院里还有一个小山(是真山,不是假山,桂林的这样象竹笋似的山多了),山上修了个亭子,平时少有人来,真是一个闭门修行的好地方。
我每天到小山亭子上去学英语、背政治,桂林四季长青,我周围是青山绿竹,微风一过,树叶沙沙做响,我就在这里学起了战国时的苏秦。从春学到夏,再从夏学到冬,苦苦学了一年,这一年里,使我的心志得到了极大的锻炼,困难更加难以击倒我。后来我境况转好,生活中很多人觉得受不了的挫折,在我看来都不过是小菜一碟罢了。
桂林多奇山,秀美苍翠,风景四季如画。每当我学累的时候,总是看着这美丽的风景,赞叹祖国江山如画,感触人生之渺小,命运之无常!
大哥从北京带回了一台电脑,奔腾166、4.2G的昆腾大脚硬盘,当时不错的配置,把它送给了我用。我渴望了多久的东西终于到手了,我终于可以无限制地使用计算机了!我把电脑放在床前,伴它入眠。
我有时半夜会突然惊醒,想着目前的困境,浑身会出一身冷汗。电脑沉默不语,在一旁安静地陪着我。我看着那蓝幽幽的屏幕,心情非常复杂。
有了电脑也难过,我得抑制住自己强烈地想探索软件技术的欲望,强制自己把主要精力放在考研上。
整个考研英语大纲有5300多个单词,为了背下它们,我用VB编了一个背单词的小软件,每次可以分别显示中文或英文,并可以区分哪些单词没记住,下次复习。所有单词我都是用键盘一个字母一个字母地敲入的,每天早上一起床,先对着电脑背它半个小时。到考研结束,我一看,数据库中已有了两千多个单词。
这一年以来,我真是玩命,什么考研理论我都不信了,我就托人买了国家教委出的几本考试分析,就专门研究考研试题,我要找出适合我自己的方法来。
考研数学考试分析500多页的书,被我翻来覆去地将历年考试试题做了三遍。党的十五大报告我至少背了一百多遍,我称之为背“语录”,真称得上是“倒背如流”,考政治时我把大段大段的十五大报告文字抄上去,居然得了75分!
发黄的本科高等数学和概率与数理统计,以及蓝色封皮的线性代数课本,都被我翻得不成样子。我觉得我就是基础太差,在这种基础之上,讲什么做题方法都是空中楼阁,一定要抓住“三基”(基本知识、基本方法与基本原理)。但我不得不悲哀地指出,我这些努力并未使我的数学能力有所提高,数学并不是这样学的,数学思维绝不是这样培养的。怎样学数学?得去问华罗庚与陈景润等数学大师!我至今数学还是不行。也希望有这方面经验的人能够教我,让我补上数学这一课。
生活总算给了我一次微笑。1999年考研,我数学得了60分,终于迈进了大学的门槛,可以打起背包上北京了。
我这人比较笨,不善于找到达到目标的最佳路线,但凭着牛劲钻下去,硬给我钻出了一条路。这条路能走通还带有一些侥幸的色彩,大家想必比我聪明得多,一定能找到更好的路,用更经济更聪明的办法达到目的,这是一种大智慧,是我所没有的。
这段经历对我个人的思想品质的影响是深远的。为什么这么说?为了考政治,我深入全面地了解了中国近现代史,我去盗版碟市场买了不少存有历史资料的光盘,从多方面来看中国历史,凡电视中有关历史的节目,我必看。我在这里尤其想说的是一个巨著——《毛泽东选集》!经历过文革的每个家庭,哪家没有毛选?我家就有不止一套。毛泽东选集一到四卷,发黄的书被我在这段时间通读了一遍。其中的经典文章更是被我看了一遍又一遍,赶上金庸的《射雕英雄传》了。越读越觉得毛泽东之人真是数百年才出一人的大牛人,他的《湖南农**动考察报告》、《论持久战》等著作,其中体现出来的深刻洞察力与对中国国情的深入把握,其博大的心胸,为国为民的精神真叫我震撼!最终夺了天下,实在是中国社会的必然,当时她集中了多少中国最出色最优秀的人才,再加上毛泽东这种不世出的大牛人领导,老蒋真与他不是一个水准的,想与老毛逐鹿中原,必败无疑!我成了毛泽东的崇拜者,但绝不是盲从者。
说起来大家可能不信,我从毛选中得到了许多精神上的营养,更加乐观了。毛选,真是中国人巨大的精神财富!近年来有不少愤青指着毛泽东晚年的失误全盘否定毛泽东,在我看来真是狂妄无知,他们有几个真正了解毛泽东?有几个真正客观地看过毛选?有几个有资格对毛泽东做出评价? 把他们放回毛泽东生存的那个民族危亡的时代,他们还会有这么多屁放?!说不定最先当汉奸的就是他们。呵呵,不好意思,说粗话了。
闲话少说,回到正题。
回顾这段经历,我只能说是“具有中国特色的考研之路”。我感叹,中国的考试就是扼杀人性的东西,高考与考研尤其如此。我要是用这种精力去学计算机,一年半的时间,还有什么技术学不到手?但我没办法,现实逼着我去考这种我并不想考的试。中国考试之难我看全世界也不多见,我想,每年全国还有那么多的学生要参加这种考试,大量的人力物力与年青人的精力和时间都耗费在考试上了,而考试的内容与实际脱离那么远,真的有助于人才的脱颖而出?我看反倒是形成了一种应试教育,扼杀了年青人本来所具有的创造性,中国现在为什么出不了大师级的人物,应该反思中国的教育制度。
下篇-实践人生
一、希特勒地堡与CIH病毒
1999年4月,我来到北京参加研究生复试。复试完了之后就不回去了,我拿着一张光盘,里面刻着我用VB和Authorware 3.5编的一个Cool 3D的教学软件,到处参加招聘会,开始了在北京的打工生涯。
说句实话,我心中真是一点底也没有。北京人才济济,我一个三流大学的毕业生,又不是计算机专业的,有人要我吗?
我在北京无依无靠,没有任何一个亲戚在北京,住成了大问题。北京这地方,钱太不经花,生活费用太高,我四处寻找便宜的地方住。后来,我在北京化工大学对面的招待所中租了个床位,每晚20元,地下室。这个招待所的地下室非常大,每天回去的时候,都要走过长长的曲曲折折的通道,加上那昏黄的灯泡,每次我都有走进了希特勒地堡的感觉。地下室里潮湿阴暗,不见天日。地下室里人员很杂,什么人都有,永远没有一种安全的感觉,所幸的是我也是个穷光蛋,光脚的还怕穿鞋的?别人能呆我也能呆,唯一让我担心的是钱,没钱,在北京连流落街头都不够格,立马被收容去昌平筛沙。呵呵,我没这种经历,这是当时住一块的一个外地要考北京中医药大学的博士生说的(我俩居然住到了一个屋里,大家都没钱,只能挤地下室,只是他老兄晚上打呼,我可真受了不少罪)。
日子一天天过去,袋里的钱一天天少了,但工作还是没着落,心中越来越慌,除去学费,来京时父母给我2000元,大哥资助我的1000元就是我当时的全部资金(3000元在北京能呆多久?!)。我当时订了个计划,留下500元保底,打死都不能动,要靠它作路费回家的。我当时说,一定得找到一家公司,再少的钱都干,只要有口饭吃,有张床让我睡我就满足了。
我一共应聘了四五家公司,最具传奇色彩的是到西单附近一家公司的应聘经历。那时,我带去了我的作品,公司项目经理要看,于是我给他们演示,很奇怪,程序一打开就死机,一连两台电脑都一样,末了,两台电脑都启动不起来了。用瑞星一查,CIH病毒——那天正是4月26日!于是,CIH破坏了电脑主板的同时,也无情地摧毁了我的就业机会。还算老板可怜我,没要我赔。其实我当时快到山穷水尽的地步了,真要我出钱,我可能连家都回不了啦。陈盈豪(CIH病毒的作者),你小子这么的聪明做什么不行,偏要去做病毒,害人害已,弄得我连个饭碗也找不到,晚上回“希特勒地堡”,把这小子骂了无数次!
总算天无绝人之路,在我数着最后还剩余600元钱的时候,终于有一家公司要我了,做中小学教育软件,月薪1600。干了两星期,又给我在公司的仓库挪开货物,搭了个床位,我就在那住下了,庆幸再也不用到“希特勒地堡”里当冲锋队员了。每天下班后,我就睡在林立的大纸箱之中,如果来个地震,呵呵,我就埋在纸箱中了,休想爬得出来!
我干得非常努力,第一个月工资开出来,扣掉个人所得税,我拿了1500多元。你们不知道我拿到第一笔工资的感觉!这钱在很多人眼里简直不算钱,但对于一个没工作近两年,工作也一个月收入不到200的穷小子而言,就象陈佩斯小品中所演的:“我王老五活了一辈子,还从没见过这么多钱啊!”。好笑吗?我一点也不觉得好笑。我只是心酸,我到了28岁才可以用自己的知识与技能养活自己,再不用依靠父母和兄长的资助,才真正完全用自己的力量在社会上站起来,一个没有经济自立能力的人,只能是个不成熟的人,一个躺在父母身上的人,不是一个真正的男子汉!我当这样的孬种当了28年!
我找到工作后向家里写过一封长信,信中讲了我对父母平时不好意思说的很多心里话,当时,我父亲说,母亲接到信都哭了。我刚拿到工资,马上打了个电话回家里告诉母亲,以缓解他们的焦虑,毕竟儿行千里母担心啊!父母有退休金,一再表示不需要我赡养,而我再这样不要脸下去,我还是人吗?我就是从那时候开始,下定决心,从今往后,再不向家中要一分钱!今后三年读书和生活的费用我一定要用自己的劳动来获取。
金钱带给我的激动就是在那段时间,温饱问题解决之后,金钱对我的诱惑就再没有了,哪怕让我一个月赚一万,给套房子给我,也不可能再给我带来幸福的感觉了,钱是重要的,但不能成为它的奴隶,家中不需要我负担,我一个人有吃有喝,干着我喜欢的工作,足矣!
我在那公司一直干到九月学校开学为止。我走的那一天,公司居然还开了个欢送宴会,老板封了500元的封包给我。我真是感动。我大学毕业后在社会上挣扎求生,得到的大都是冷眼与蔑视,社会终于认可了我的价值,我不是一个只知道吃饭的废物!
1999年9月9日上午9点,在这个最多9字的时刻,我到学校报道来了,放下行李,我坐在分配给我的床上,心中终于踏实下来。
现在,我在北京终于有一张属于我的床了,一张真正属于我的床了,终于有个地方可以让我安稳地睡觉了。没有这段经历,我怎么体验到“安居乐业”这一个词的真实含义!个人如此,国家要做到,中国要做到,更难!
二、编程生涯
读研两年半的时间,我四处打工,这两年半我至少在七八家公司做过,编了十几万行代码,为自己赚了一台电脑,两部手机(丢了一部),还有读研期间的所有费用,实现了我的目标:没向家里要一分钱。
我水平不高,但在打工过程中,发现许多中国软件公司的水平更菜!
2000年暑假,我参加一个商品软件的开发,搬到了北大燕北园的一个宿舍,在那儿搞封闭式开发。在这个项目采用VB6开发,主力程序员除我之处,还有一个华北电力大学的研究生。大家都没开发商品软件的经验,没经过正式的设计,就匆忙编码了。我曾经想采用分层的系统架构,但遭到另一位程序员的反对,争吵没有结果,老板也不能做决定,结果各行其是。现在看起来,那时真是太菜了,任何一本软件工程书都会指出这种做法是不对的。
我们直接就热火朝天的干了起来,那位华北电力大学的老兄,真让我佩服,他可以在一个sub过程中写上2000行代码!我觉得奇怪,为何他能写这么多的代码?一看,顿时我晕倒,他居然将每个控件的left, top, width等属性都用代码来设定!想想这样的程序,调试时光单步执行就需要按多少次F8键!
我们在电脑旁边搭了个行军床,每天都是干到早上6点才睡,12点吃中饭,然后又是一个通宵。当时整个工程只有一个类模块,被我用于封装访问数据库的ADO数据引擎,这是整个工程中唯一一处用到了最简单的面向对象技术的地方。然后,我写了近十个bas公用模块,每个模块代码规模都有一两千行,还有十几个窗体,每个窗体中都塞满了事件驱动的VB代码,整个软件应该有10万行代码,我一个人在此期间至少就写了3万多行VB代码。程序的主处理流程我甚至用ADO与DAO写了两套!
现在想起来,我们当时根本就不知道面向对象为何物,更不理解许多对软件开发至关重要的理论,就凭着一种热情。在这段痛苦的开发经历中,我不仅精熟了VB,而且从中学到了很多。现在再开发同样功能的东西。我至少可以砍掉2/3的代码。怎么学都不如从失败中学得多。
后来我总结VB程序员的三个境界:
(1)所有代码都只放在窗体文件中的,属于菜鸟级,他们只会从面板上拖控件,设置属性,然后再给事件编码。
(2)工程中有bas模块的,属于中间级,他们已意识到有大量的代码是重复出现的,应该将其抽取出来作为公用模块。
(3)工程中有cls模块的,属于高手,他们已掌握了面向对象的思想,并能应用这种思想来解决实际问题。
正是这次开发经历,促使我反思:到底如何开发软件?我个人可以用VB完成各种各样的功能,为什么凑在一起就会那么困难?更正一个bug为何那么难?为什么一个看似简单的软件,要拖半年的时间还看不到结束的日子?
九月,研究生要开题,我自拟了个课题:软件体系结构设计。我决心弄明白,好软件到底是怎么做出来的。
我放下了VB,开始研究C++,原来学过VC,但没学会,就直接从C++ Builder入手。Borland公司的VCL类库让我大为叹服,很快就迷上了它,为此连带学了Delphi,并参与了一个Delphi项目。给我真正震撼的是《设计模式》这本书,看了才知道,原来好软件是这么设计出来的!在此,我强烈推荐所有有一定编程经验的程序员一定要看这本书!
一边学习理论,一边可没忘记我没经济来源,于是又四处打工,接一些小项目与小模块来赚些生活费,国内一家横跨家电与软件的著名公司是我打工期间去过的最大的公司。但无论什么公司,都给我一种感觉——烂!公司中充满了对员工的剥削与不尊重,对软件开发这一事物的错误认识,管理混乱。
我没机会去外企,技术水平不到,别人不要我 ?,但我所见到的软件公司,我敢说没一家能做出世界一流的软件!
我上的研究生课程也让我失望,整个就是本科教育的再版。经过高考与考研两次重大考试,我对考试已是深恶痛绝,但读研期间仍要考试,而且是闭卷!我就不知道我去背那些条文对我的研究与学习有何帮助?2000年7月当我考完最后一门,终于大松一口气,我终于摆脱了考试的压迫,可以在剩余的一年半中真正搜索我渴望已久的软件技术了。这年,我29岁。
悲哀吗?一个中国的程序员要到29岁才可以真正自由地学习想学的东西!
我开始研究面向对象理论,看了大量的书,每天都在实验室学习到深夜12点,天天上网,CSDN成了我最常去的网站。
随着我对软件技术的了解越多,就越深刻地感到国内与国外技术水平的差异是如此的巨大,巨大得甚至有让人绝望的感觉。同时,在北京这个中国软件人才最集中的地方,我也见到了许多牛人,一个清华的本科学生,做程序员可以拿到一个月12000元的工资,一个北大的计算机系研究生,一毕业就到外企,一个月一万多收入,每年发16个月工资!干了两年就开了自己的公司。我看到了一个北方交大的本科生作品,在半年的业余时间里,用Delphi写了十几万行代码,他甚至在代码中嵌入汇编,自行编写数据存取引擎读写Foxpro,速度超快!软件中有一个计算公式解析模块,他用编译原理理论居然做了一个小型的公式解析器,就象C++编译器检查C++程序一样,不仅可以判断是否公式正确,而且给出的出错信息还相当准确!其基本功之扎实,水平之高让我望尘莫及!中国优秀的人才真还是不少的!在精英集聚的北京,面对着博大精深的软件科学,我深感自身的渺小。
但我毕竟是靠自己奋斗出来的,我并不自卑,这世界需要牛人,同样需要大批合格的劳动者,我成为不了牛人,但我作一名程序员是合格的。
时间过得飞快,一年半根本就不算时间,马上就要毕业了,学习的成绩如何,要到社会上去竞争了,让社会考场来决定你是否及格。
三、毕业求职
98级的研究生是IT业最后辉煌的回光反照。当时,各大公司都发了疯似的要人,象华为,当时是来者不拒。计算机专业的研究生是一抢而光,本科生也供不应求。2001年毕业的我的师兄师姐们,平均每个人手头都至少有两三个offer,谈的工资没有低于每月6000的,许多人去了外企,工资在8000~10000每月的也有。真是毕业生的黄金时间。
但好景不常在,911事件我看来好象成了分水岭,911之后,整个IT业急刹车,就业形势急转直下,各大公司都在消化去年吃得过饱的胃口,我形容是大家都吃坏了胃,再也不可能有我师兄师姐们的风光了。虽然时间相隔仅大半年。
从10月开始,11月和12月,我几乎是在招聘会与公共汽车上渡过的,北京东南西北地去面试,上午在上地,下午可能就要跑到朝阳区,疲于奔命。
在找工作过程中,我良好的心理素质与丰富的编程经验起到了很大的作用,并没有遇到很大的困难,就先后有几家公司表示要我。
其中我想说的有两家公司。
一家是中国台湾公司,应该说他们做得是不错的,但我非常反感他们那种自认为高于大陆人的那种优越感,而且待遇也不高。面试之后,回来感觉很不好。
我想:我们大陆确实是不如中国台湾发达,难怪别人看不起我们,这世界势利得很,社会如此,国家亦然。但我中华960万平方公里的国土,13亿人口,难道要依靠一个小小的岛屿来撑门面?难道除了中国台湾公司,我就无处可去了?虽然改变不了什么,但我决定绝不去台资和日资的公司工作(日本人我更不喜欢,但我认为他们做事实在优秀,我们一定要向日本人学习)!在这种公司呆着,不爽!同时,我们的确也得争气些,这世界只尊重强者。
另一家是个很不错的民族软件企业,想要我,其老总专门找我去面谈了一次,希望我能到他的公司工作。这位老总白手起家,能在五六年的时间内由几个人发展到300多人,当时,是中国这个领域软件市场占有率最高的公司,我非常佩服,他为人也很好,并表示可以给我每月比其他研究生多加1000元工资,而且希望锻炼一两年之后我能够带领一个团队来开发产品,并负担我毕业所需交纳的各种费用。在就业不景气的2002年,对我一个30岁的技术水平有限的老程序员如此看重,真叫我感动。虽然我最后还是没去,但我仍然对这个公司充满了好感。一个软件企业最重要的是什么?是对人的尊重,没有这点,可以断定,这个公司长不大。
我为什么没去软件公司?放弃有可能在几年之后年薪突破10万的收入?是因为我已有了更想做的事,我想当老师!
我自己是从自学的路上走过来的,其中的艰辛历历在目,无人指点,我走了多少弯路?中国还有多少是象我这样的年轻人无人指点的?我幸运能爬出来了,因为我至少还能有饭吃,比我条件更差的,比如农村的孩子,可能就被生活的压力所淹没了。我个人的力量很微弱,技术也有限,但我自认为至少是一名合格的程序员,如果能培养出一大批达到我的水平的学生,他们毕业后成为合格的程序员,中国软件的根基就会更扎实,如果更能有一批远远超过我水平的学生出来,中国软件就有希望了。软件是什么?软件以人为本!
人生追求什么?金钱?我很缺钱,但不可能把金钱作为我的目标,我希望我能够成为一个对社会有所贡献的人,能够获得心灵的充实,于是,我选择了留校。
四、对教育的反思与教书生涯
2002年下半年,我参加了北京高校青年教师岗前培训。一位杜教授的两堂课让我印象深刻,其中两句话让我深深震动:
第一句话:我是一个教书匠,教书匠好啊,好就好在“匠心独运”!
第二句话:做什么工作都要达到变魔术的境界!
是的,作为一名教师,就必须起到一个传声筒与放大器的作用,将人类最聪明的人探索世界所得到的知识予以拓宽发展,以便让更多的人能够掌握这些知识并进而应用于实践,从而推动人类的不断进步。
作为一名计算机专业的教师,就要努力把先进的计算机技术以尽可能高的效率传授给广大的学生,引导他们直接面对真实的软件世界,而不是向他们硬灌各种各样的理论知识,强迫他们去死记硬背以应付考试。
我是一个小人物,才低学浅,但我真的认为高校计算机教育存在严重的问题。我在打工期间的开发经历,以及阅读国外相关资料的时候,发现学校中教的和社会上用的差得太远!都已经是什么时代了,许多大学还设立Foxpro课程,难道就不能直接用现代主流的数据库如Oracle,SQL Server,哪怕是Access也好,来讲授数据库知识?还有所谓的计算机等级考试,呵呵,过了三级学生的我见过不少,但他们真正对软件,对计算机又理解多少?
在中国甚至于升职称也要考计算机,我看了一本职称计算机考试教材,里面几乎原样照搬计算机原理课程中的相关章节,弄得我给搞艺术的大嫂讲了一个小时的二进制与八进制、十六进制的转换方法,她还是弄不太清。我都泄气了,对啊,他们搞艺术的,有必要去分清二进制的10与十进制的2有何分别吗?他们八辈子也用不上。但是考试用得上,呵呵,又是中国特色。
拿C++来说,我讲过C++课,许多的国内教材对C++语法下了大功夫,却对体现了C++精华的STL只字不提,对代码背后所体现的软件开发思想与方法更是视而不见,我用C++也编过不少程序了,说句实话,我用到的特性不到C++的三分之一!于是就出现了这种怪现象,许多学生考试可以拿八九十分,给他一个简单的实际问题他却不知如何下手!
还有UML,现在好象很火的样子,我们读研时就开了这门课,讲句实话,当时这门课我就没听懂,可后来我尝试着用C++用面向对象的方法来编程序,然后,由代码倒推回UML类图,一下子就明白了,原来UML只不过是一种描述面向对象系统的符号罢了,如果学生没进行过真正的OOP,那就是为了学UML而学UML,根本就本末倒置。
还有软件工程,我的感觉,一个人如果没写过一万行以上的程序,他看软件工程书就同看政治书差不多,每句都对,呵呵,就不知道为什么对。我完成了那个几万行的VB程序之后,再回过头看看理论,真是句句是真理!每个理论背后都是大量实践经验的总结。
回想我做软件的体会,我发现所有的知识都是一个完整的体系,根本就无法区分哪些知识是本科的,哪些知识是研究生课程。于是,一种想法产生了,我主讲程序语言类的课程,那我就直接以真实的软件开发过程为主线,实践中需要什么我就讲什么。讲C++,我就抛开了指定的教材,C++我讲了STL,我讲了OOAD,两者我都讲了用Rose进行双向工程,引导学生去学UML,一开始就用UML去描述自己开发的程序,何必浪费大量的时间去学结构化的编程方法?
我现在简直成了面向对象技术的布道者,我下学期即将开设OOAD基础选修课,从实际项目中抽取典型的案例,讲UML,讲Rose,讲设计模式,讲软件体系结构,例子代码横跨C++和.NET下的开发语言(C#和VB.NET),这对于我一个技术水平有限公司的董事长而言,实在有点不自量力,我鼻子上才插上几根葱,就想装大象?但我想,如果我能成功地激发出哪怕1%的学生的兴趣,能引导他们走向我认为是正确的方向,能启发他们思考,能直接面向真实的软件开发活动而不是学校的考试,就是我的成绩。我现在正在看引进的原版书籍——《设计模式解析》,时时击节赞叹!《设计模式》经典但难懂难用,而《解析》一书的两位作者既有丰富的从业经验,又对OOAD进行了深入的思索,真知灼见时时展露于书中,我现在刚看了这本书的80%,基本上可以用一个成语来描述这部书:深入浅出!
要做到深入浅出谈何容易!只有同时具备技术专家与文学作家素质的人才能做到!
反观我们国内的大量教材,还有大量的垃圾论文(包括硕士、博士的,本科的就算了,我看绝大部分根本不能称之为论文),全都是“浅入深出”,作者自己都未必明白,就东拼西凑,摆出个样子吓人。本来完全可以用大白话三言两语讲清楚让人明白的道理,有人专门要绕一大圈,专挑用高深的数学公式来表达,唯恐别人容易理解,显得他水平不高!呵呵,什么东西一沾上“数学”,立马身价百倍。我就听过一个北师大的一个在读博士说过:如果一篇博士论文中没有一个数学公式,根本就不算是博士论文。这句话对不对,大家可以多思索。我数学不好,没资格讨论数学,我的直觉:数学是工具,但如果为了发表论文等目的而故弄玄虚,为数学而数学,是不合道理的。中国的学术水平与现状,大家都心知肚明,不用我废话了。
现在每年都毕业大批的计算机专业学生,可其中真正具备扎实根基的可以很快胜任工作的我看只有5%(95%的学生不要扁我,不同意就当我在说胡话,我很瘦的,一扁就没了?)。多年以来,我国高校计算机教育是按照计算机科学研究者来培养的,可事实上,有多少学生能从事计算机方面研究的能力?我看应分流,80%的学生按工程师方向来培养,20%的学生按研究者方向来培养,而且应大幅减少必修课的数量,计算机领域太深太广,样样都想教给学生,反而成了夹生饭,一个想从事硬件设计的学生和一个想从事软件开发的学生,能给他们一样的饭吃吗?学校应提供各种条件和资源去引导学生,激发学生的创造性与主动探索性,让他们去尝试,去发现自己的长处,最终找到最适合自己的发展方向。不这样做,中国软件后继乏人,没希望。
五、实践第一
2002年下半年,我和一个朋友去了北京郊区的一家杂志社,看到的情形让我震惊:在信息产业最发达的北京,这家杂志社还用人工查对杂志订单和款单,看着那按省来登记的几大本厚厚的客户登记本,工作人员需要手工来在其中查找相应的信息。这样的工作效率,这样的行业信息化水平!北京如此,全国又如何?
从这件事上,我看到了中国软件业的另一方面。一方面我们没有核心技术,另一方面,已有的技术又根本没推广没用好。追踪世界先进水平,对于我等这种水平的人来说,确实勉为其难,但将已有的技术用于解决实际问题,却是我们可以做的。如果中国各行各业都真正能通过进行信息化而提高生产效益,那中国不就从根本上强大起来了吗(象印度,IT一枝独秀,其他行业没有起色,我称之为跛足的国家,绝不能成为世界强国)?在扎实的社会基础之上,软件业不就有了更大的市场与发展潜力?中国许多行业的信息化水平非常低,而且中国地域广大,发展非常不平衡,有些地方信息化水平甚至为0!努力推动行业信息化,是我们这一代软件开发者的责任!而追赶国外先进水平,恐怕就不是一代两代程序员可以达到目标的,需要长期的努力。作为一名软件开发者,只能脚踏实地,哪怕你只做一个小小的MIS产品,也要尽力把它做好来。
于是,我开始了期刊发行系统的开发,这完全是自发的,没有任何资金投入,只有一种热情在支撑。我开始选择C++ Builder开发,做了几个月,完成了第一个版本,但我发现,我找不到足够水平的C++程序员进行合作开发,而且整个一个exe文件,在体系结构设计上虽采用了分层分块的设计方案,但却是源代码级别的,要拆分成COM组件难度太大,不是一个人能完成的,于是中途流产。
2003年3月,我开始系统地学习.NET,我吃惊地发现,我原来想在C++中实现的许多功能,比如对象串行化为XML,在.NET中已有现成的类可用,.NET更把OO的功用发挥到了极致,它的混合语言开发,它的反射机制,它的新的自识别的软件组件,以及强大好用的开发环境Visual Studio,都让我惊叹微软对开发者遇到的困难的深入把握,相比用C++开发,至少可以提高1/3的开发效率。于是一个新的想法产生了,我要把以前的产品用.NET重写,利用.NET强大的组件模型,将设计模式理论推广应用到组件级别,通过XML和反射机制建立一套可动态装配的软件生产流水线,实现象Dell直销PC那样的软件动态装配直销。只要建立好灵活可不断重构的系统架构,配以对业务领域的深入分析,逐步建立功能强大的业务组件仓库,就可以实现软件系统的动态装配。说干就干,我用VB.NET重写了原先用C++编写的系统,将原先的一个exe变为十几个dll,而且这些dll还会随着发展而不断地分裂,也有可能重新组合,利用refractoring(重构)不断进化,最终形成一整套完备的行业软件组件库。做软件关键因素是变化,只有适应变化的系统才是有生命力的。
我用两个月的时间大体上弄清了.NET平台下的主要类库,然后又用两个月的时间再次重新实现了期刊发行系统的C++版本的全部功能,到8月份我写这篇文章之时,第一个产品里程碑已经完成。同样的,除了需求是由另一个合作者去搜集的之外,几乎又是全部由我一个人包揽了所有的系统设计及编码工作!
毫无疑问,我自觉得新系统要比老系统可维护性强得多,真正实现了彻底的全组件化系统开发,计划再有一个月的界面美化,改正bug,引用多线程提高运行效率,优化系统结构,就可以提供给用户试用了。市场如何,难说难测。
在开发过程中,我再次感到巨大的挑战,不光是技术上的,更是管理上的。人才是我最头痛的问题,没有一流的人才,哪来一流的产品?我们找不到足够水平的程序员一起合作(牛人哪屑于做这样一个小儿科的产品?)我们要走的路还很长。也许我们开发的产品是失败的,但我从来就没指望能用这赚钱,我只是尽一个软件开发者的责任而己,成败已不重要!人生不尝试,怎能体现人活着的价值?
刚好我编的程序告一段落。于是就crazy地敲键盘,一鼓作气地把下篇写完了。心中有好多话一次就说个痛快。
看得越多,想得越多,我就越困惑,人啊,你活着到底是为了什么?又整天忙忙碌碌地追求些什么?我这十年,„„我都不知道怎么说了!
大家自己看吧!
结束语 永无止境的软件之路
一、辛酸与苦辣
做软件开发很苦的,技术进步如此神速,每个软件开发者都得不断地学习以跟上发展的步伐。有时我常想,何苦呢?我现在在大学中混,怎么样不能混下去?为什么要做这些吃力不讨好的事?我投了十年的时间去学习电脑,却最终发现自己不过中人之资,离顶峰远之又远。古语云:三十而立。我今年32了,仍是孤身一人,看看周围的同学,他们的小孩都差不多上小学了!许多都有了自己的房子和车子,而我到现在才开始申报中级职称,还挤在集体宿舍中,望着北京高昂的房价而叹息。现在社会越来越功利了,看着象我这样的穷光蛋,看着由于长期面对电脑缺少锻炼而瘦弱的身躯,又有哪个女孩愿意嫁过来受苦?
软件人的生活很苦,压力很大,我认为是拿青春赌明天。就是在这种恶劣的开发环境中,还有许多业外人士指手划脚说程序员如何如何,还有太多的公司只顾压榨程序员的劳动,缺乏对程序员基本的尊重,怎不叫人寒心?
“三十而衰”,这句本不应该流行的话居然成了中国软件人员的流行语。中国程序员的悲哀!
二、无止境的追求
人类已进入信息时代,计算机技术几乎每隔半年就有一次大的变化,我现在又面临着这样的抉择:今后的路如何走?
北大的教师聘任制度的改革一石激起千层浪,说明了中国高校的改革势在必行。我是欢迎这种变化的,虽然到时我可能会下岗。但人生中总会遇到各种各样的挑战,只要你不倒下爬不起来,就有希望。
我想我必须再次让自己有个提升,要从小事做起,但做小事则绝不能成为最终的目标,也许,不远的将来,我会走出国门,到世界软件技术最发达的地区去汲取丰富的养份。今后的路怎么走,我还在摸索之中。
三、人生无悔
人生年华如水,时光无情。在过去的岁月中,我尽了自己的力,回顾往事,我可以说:过去的事只有遗憾,却没有后悔。如果给我再一次选择职业的机会,我还会再次选择软件!
再过10年,到2013年的时候,我也许会再次写一篇人生的十年回顾,到那时中国的软件会如何?中国软件的明天靠你我这些普通人去扎扎实实地去工作来支撑!少发些牢骚,多做些实事,中国软件才会有光辉的明天。你我共勉!
一个老程序员的心理话
完成于 2003-8-3 北京
2003-8-3中午14:33,在我的弹指神功之下,我写完了这近两三万字的个人自诉。一点也不累,回想过去的种种感触,仍然身在其中。
楼上一位兄弟说想看我的爱情故事,但人生不是小说,没有什么浪漫的,我只能让你失望了,我是孤单地在人生之路上走着,我就是这样的一个带着点悲剧色彩的人。
如果有人能有这上中下三篇文章耐心看完,我会谢谢你。如果有人能指点我,我感激你。
好了,我去休息了,生活是一天天过的,不是吗?
第五篇:程序员总结最新
总结是对自身社会实践进行回顾的产物,它以自身工作实践为材料。是回顾过去,对前一段时间里的工作进行反思,但目的还是为了做好下一阶段的工作。下面就是小编给大家带来的程序员总结最新范文5篇,希望能帮助到大家!
程序员总结最新范文5篇一
来公司担任程序员一职已一年多时间,在这一年时间里,我学到了很多东西。每个人都是在不断的总结中成长,在不断的审视中完善自己。在这一年里自己也是在总结、审视中脚踏实地地完成好本职工作,现将这一年的工作总结如下:
一、思想方面
严格按照一个程序员应有的素养要约束自已,爱岗敬业,具有强烈的责任感和事业心,积极主动认真的学习专业知识,工作态度端正,认真负责,听从公司的安排,积极配合xx完善ERP系统,任劳任怨。
二、工作方面
热爱自己的本职工作,能够正确认真的对待每一项工作,工作投入,热心为大家服务,认真遵守劳动纪律,按时上下班,有效利用工作时间,坚守岗位,需要加班完成工作按时加班加点,保证工作能按时完成。在这一年里,我本着把工作做的更好这样一个目标,开拓创新意识,积极圆满的完成了以下本职工作:
配合xx开发并完善SRM系统
独自开发xxSAP日志维护系统
三、存在不足
一公司领导以及部门领导同事的帮助和指教,使我的工作有了很大提高,当然我还存在着很多不足之处,处理问题思路简单,不够成熟,工作中容易产生急躁情绪,需要更深入学习专业知识,提高自己的工作水平。
程序员总结最新范文5篇二
时间一晃而过,转眼间到公司已经一年多了。这是我人生中弥足珍贵的一段经历。在这段时间里各级领导在工作上给予了我极大的帮助,在生活上给予了我极大的关心,让我充分感受到了领导们“海纳百川”的胸襟,感受到了xx人“不经历风雨,怎能见彩虹”的豪气。在对公司各级领导肃然起敬的同时,也为我有机会成为公司的一份子而自豪。在这一年多的时间里,在领导和同事们的悉心关怀和指导下,通过自身的努力,各方面均取得了一定的进步,现将我的工作情况作如下汇报。
一、通过培训学习和日常工作积累使我对xxxx公司有了一定的新的认识
在x月中旬我来到了xxxx公司信息科技有限公司参加招聘,经过几轮面试和笔试,终于能够有幸加入了xxxx公司这个大家庭,在我进入公司时我拿到的第一份资料就是公司介绍和新员工入职说明,当时只是觉得公司很正规,很强大。在和部门领导以及项目经理交流后,感觉公司很亲切,很温馨。对其它方面就不太知道了,特别是对视频监控几乎一无所知。通过三个月的亲身体会,对智能交通和公司有了一定了解。公司的理念在平时的工作以及项目开发时体现的淋漓尽致,本人对公司的理念非常认同。公司发展不忘回报社会的壮举,令人敬佩。公司以人为本、尊重人才的思想在实际工作中贯彻,这是xxxx公司能发展壮大的重要原因。在十年左右的时间实现跨越发展的确很不容易,在智能交通行业深入发展是xxxx公司的雄心壮志,也是凝聚人才的核心动力。现在公司在视频监控以及安防行业起到了举足轻重的地位,今后还将更加辉煌。
二、遵守各项规章制度,认真工作,使自己素养不断得到提高
爱岗敬业的职业道德素质是每一项工作顺利开展并最终取得成功的保障。在这一年多的时间里,我能遵守公司的各项规章制度,兢兢业业做好本职业工作,一年来从未迟到早退,用满腔热情积极、认真地完成好每一项任务,认真履行岗位职责,平时生活中团结同事、不断提升自己的团队合作精神。一本《细节决定成败》让我豪情万丈,一种积极豁达的心态、一种良好的习惯、一份计划并按时完成竟是如此重要,并最终决定一个的人成败。这本书让我对自己的人生有了进一步的认识,渴望有所突破的我,将会在以后的工作和生活中时时提醒自己,以便自己以后的人生道路越走越精彩。
三、认真学习岗位职能,工作能力得到了一定的提高
根据目前工作分工,我的主要工作任务是
(1)参与公司软件项目的开发与测试;
(2)负责xx省xx联合指挥中心软件系统的维护工作。通过完成上述工作,使我认识到一个称职的开发人员应当具有良好的语言表达能力、扎实的技术能力、较强的逻辑处理能力、灵活的应变问题能力、有效的对外联系能力。在参与项目开发的过程中,发现很多看似简单的工作,其实里面还有很多技巧。
四、不足和需改进方面
虽然加入公司这个大家庭已经一年有余,对开发技术掌握的还不是很深,对发现问题的处理还不是很全面,对分工的工作还没有形成系统的计划。随着对公司和工作的进一步熟悉,我也希望能够在今后的工作中更加迅速的提升自己的业务能力以及技术能力,我觉得多做一些工作更能体现自己的人生价值。“业精于勤而荒于嬉”,在以后的工作中我要不断学习业务知识,通过多看、多问、多学、多练来不断的提高自己的各项业务技能。学无止境,时代的发展瞬息万变,各种学科知识日新月异。我将坚持不懈地努力学习各种知识,并用于指导实践。
在今后工作中,要努力做好开发人员的本职工作,把自己的工作创造性做好做扎实,为项目的开发以及公司的发展贡献自己的力量。
程序员总结最新范文5篇三
来公司担任程序员一职已一年多时间,在这一年时间里,我学到了很多东西。每个人都是在不断的总结中成长,在不断的审视中完善自己。在这一年里自己也是在总结、审视中脚踏实地地完成好本职工作,现将这一年的工作总结如下:
一、思想方面:
严格按照一个程序员应有的素养要约束自已,爱岗敬业,具有强烈的责任感和事业心,积极主动认真的学习专业知识,工作态度端正,认真负责,听从公司的安排,积极配合全友家私完善ERP系统,任劳任怨。
二、工作方面:
热爱自己的本职工作,能够正确认真的对待每一项工作,工作投入,热心为大家服务,认真遵守劳动纪律,按时上下班,有效利用工作时间,坚守岗位,需要加班完成工作按时加班加点,保证工作能按时完成。在这半年里,我本着把工作做的更好这样一个目标,开拓创新意识,积极圆满的完成了以下本职工作:
配合全友家私开发并完善SRM系统
独自开发全友家私SAP日志维护系统
三、存在不足:
一公司领导以及部门领导同事的帮助和指教,使我的工作有了很大提高,当然我还存在着很多不足之处,处理问题思路简单,不够成熟,工作中容易产生急躁情绪,需要更深入学习专业知识,提高自己的工作水平。
程序员总结最新范文5篇四
我是一名程序员,在过去的一年里,软件研发部团结协作,以及在公司这充满奋斗的环境下,我以严肃认真的工作态度和百折不饶的精神,努力的完成了公司的各项工作,在软件研发、团队协作和个人成长上也取得了一定的成绩。在公司一年的工作已经结束,特向公司总结汇报如下:
一、软件研发
根据公司的安排,项目的需要。在自身的努力、x经理的帮组,团队的合作下,克服重重技术困难,增长了工作经验,收获丰盈:
1、xx开发
以前我在其他公司也做过一些开发,但是底层和架构与页面样式我都是没有涉及到的。通过这一年在本公司的的这些项目程序中的锻炼,我成长了,我学会了很多很多。
首先,面向对象语言的收获。对于当前编程的主流思想是对象,任何事物都可以用对象来表示。以前理解这些话很费解都是从表面上理解,没有从深入的体会,通过这次xx项目的深入,不管是数据还是外部一些条件我们都可以抽象成对象,都可以用对象来表示,具体可以用语言中的类方等。xx如此,c#如此java也同样如此。
其次,具备独立完成知识方面的能力。以前没有做过vb的东西,加上这次深入的做,这次涉及到的领域也非常广,常用的重要的都有涉及,并且还补充xml,java实际操作中空白的部分。通过这一年的开发,在方面我能胜任这方面的工作,能独立完成这方面的工作。
再次,方面存在一些不足。LocALhOST通过这次软件的开发,也发现自己的不足,如基础知识掌握不牢,缺乏编程整体思想。这些都是需要在工作中完善和改进的。
2、数据库开发
数据库是伴随着项目以来用的最多最平凡的技术。以前对数据库只是会一些简单常用的操作,经过这一年项目的实战,对数据库的操作增加了一些丰富的经验。为以后的工作和经验的积累都奠定了坚实的基础。同时在项目中还用到了oracel与access数据库,这是我的收获。
优点:能熟练的运用数据库技术进行开发。特别是对sql数据库的操作,经过这么长时间的积累,基本上能合理的设计和新建数据库,同时在数据结构上也加强了对数据库的理解。通过项目的实践现在能熟练使用和编写多种sql语句。还掌握了一些关于数据库优化sql语句优化的方法,能进行一些简单的优化。
缺点:数据是一门比较先进的技术,并不是你会写一些sql语句,能建几个数据库你就是数据库工程师。要成为一个好的数据库管理员是要经过长时间的工作积累。针对自己的不足,在以后的工作和学习中多接触,多运用新的知识点。充实自己的经验和知识储备。
二、团队协作
上面的成功与收获,除了自身努力外,以及公司的支持。是这个团队铸造了我。我们这个团队也是因为有了我们这些拼搏协作的队员,使得它成为一个具有务实、拼搏、创新精神的团队。我与软件研发小组是一个整体,这里的团队总结也就是我在这个团队中的收获。
务实:公司下发的任务,下发的工作,件件都是用心去做的。我们这个团队中没有一个人在工作的时候做了工作以外的事情,都是实实在在的做跟工作相关对公司有益的事情。相信在伍经理的带领下现在是这样,以后同样也是这样。
拼搏:公司给的每一个任务不管它多难,如果工作没有完成我们会晚上加班,也要尽可能的完成当天的工作。如果工作实在忙,为了赶进度我们放弃周末休息时间也要尽可能的使项目提前。
创新:现在我们开始项目的时候都会进行研讨,一般都会进行一个效率和逻辑的分析与讨论,保证程序正确的前提尽可能的提高程序的效率。
互助:我们小组内只要任何一个人出现技术或其它的问题,我们都会彼此都会尽可能的去帮助他。不会因为某一个人而拖住整个项目滞后。
交流:我们在项目中会及时沟通自己的收获,特别是一些针对性的技术问题。这样可以省了很多重复研究的时间,这是一笔很可观的时间。
在交流中只要我会的,我懂的,我不会去吝啬。我会积极的去与你交流,我的团队名言“人强团则强,人弱团则削”。
三、个人成长
通过公司这快一年的锻炼与学习我真的进步了很多,不管从技术上还是做事上,都不像以前那样了。我在公司学到的懂得的使我飞速成长。
技术上:不管从语言上还是做事的逻辑上都得到了很大的的提高。现在在软件小组里面自己能独立完成一部分工作,承担自己的责任。
程序员总结最新范文5篇五
从我x月x日进入公司到现在已经过去一年了,从一名刚刚结束实习的学生到一名独立的开发人员,角色改变了,职责也改变了。虽然已经预计了工作之中会有很多困难,可是在实际的项目开发中,自己所遇到远远不止自己想象之中的那么简单、单纯。在开发过程中,难题一个接一个的出现,要做到满足公司的产品需求,成为一名合格的程序开发人员,这个过程还很漫长。每天我都在勉励自己,要好好学,好好做,以后会好的。在此同时我衷心感谢公司给我提供了学习的机会和平台,这也使我对以后的日子多了些许的信心。
一、工作回顾
在我进入公司的这一年里,我陆续接触了公司的gps平台,智能手表定位,xx铁路局车站消防综合管理系统,xx金融款箱管理系统,xx保卫处的管理系统,指挥中心的视频监控系统,并在这期间为xxxx制作了一个展示型企业网站。在刚进入公司的那段时间里,我从没有接触过网络摄像机,对于网络摄像机根本没有任何概念,在公司的培养下我逐渐熟悉了各种摄像机,现在拿到xx的摄像机开发包,可以很熟练的进行二次开发。在工作之余,我也在努力的学习,和别人交流,学习先进的开发技术,请教别人开发技术问题。
二、主要问题
1.由于开始对业务需求不是很熟悉,所以在写需求分析与了解所要开发的过程中多次出现因为需求的原因,而不断修改、返工的情况。在同xx金融交流的时候,这个问题多次困扰着我,对方的需求不明,每次交流的过程中都在变更需求,从而导致了效率比较低的问题。
2.在开发中,用到很多我所不知道或很多我知道但不太熟悉的领域,在这个领域内,我需要不断的学习。
3.在工作阶段,有时比较偏向自己的工作方便,忽略了其他同事的工作上的量与难易。有的功能自己怎么方便怎么写,如今公司在不断壮大,我们部门人员在不断的增加,这样是不利于多人合作的。
4.工作的条理性不够清晰,要分清主次和轻重缓急;在开发时间很仓促的情况下,事情多了,就一定要有详实而主次分明的计划,哪些需要立即完成,哪些可以缓缓加班完成,在这方面还有很大的优化空间。
5.学习的知识不够广泛;一个项目中,涉及的技术往往有多种,知识多了,就会灵活变通,以后我会加强这方面的学习。
三、工作心得
1.每一个项目在开始着手的第一步,一定要和客户把需求沟通清楚,只有了解了项目的需求,才有可能真正做好一个项目。我们需要向客户提出要求客户提供所有涉及该项目的资料,每次与客户见面都需要熟悉业务与程序的最少一至两个程序员随时记录需求。
2.工作中,有一个无论是技术,还是经验都比较让人肯定的前辈带领,将任务详细化,详细到,每个页面、甚至是一个页面中的图片什么时候做好,做到什么程度,这样把工作进度有计划有方向的赞定下来,做事很有效率。和xx,xx等人合作时候一定注意要多项工作同步进行,保证每个子模块都能同步运行。
3.每天的工作小结真的很重要,这让我们每天都有计划的知道自己干了什么,不是漫无目的的工作,所以我们应该养成,日记、周记、月记、年记的工作习惯。
4.工作并不是一成不变的,也许有一天你要去其他岗位帮忙,所以同事之间的技术要互相学习,也许有一天,公司需要你发挥其他的技能帮忙,所以互相学习也是很重要的。自己的工作不能仅仅局限于编程。