祭奠我逝去的8年码农时光

        2016年的春节马上就要到了,自己也已经在软件行业工作8年多了,很多人都说30岁之前的职业规划基本上是一个探索期,算下来,我已经32岁了,现在的规划应该能决定我未来的人生轨迹,新年来临之际好想安静地回忆一下这八年来的挫折与收获,给自己定一个职业规划,与同龄人共勉,给已经踏入社会马上就将成为主力军的90后们一点参考的价值。

       刚踏入社会的年轻人,由于经历了长达15年的学习生涯,也许不能很快适应社会环境。包括我身边的一些实习生,我觉得他们毫无压力,多半还是乐此不疲地玩着自己的游戏,完全感觉不到压力的存在。其实刚毕业的一年,我们给公司创造不了收益的,主要还是培养自己的学习兴趣,能够尽快熟悉公司产品。千万不要觉得自己大学里多优秀,一年后谁优秀还不一定呢。07年实习的时候,作为211高校的本科生,面试的时候我也带着国家奖学金证书,无锡海外联谊会的奖学金证书,还有学校的一些证书去的,而且我成绩单上数学成绩还是满分呢,我也认为自己够优秀的了。当然了,我也顺利的进入了百丽国际实习。大学里我们学的开发语言都是C++和java,等我进入公司之后,才发现用什么语言是公司定的。百丽国际那时候用的是pb,在那个时候,我是从来没听说过pb的,更别说使用了。我们新去的开发经理没用过pb。就这样,我们两个人开始摸索着使用。不到1年,经济危机来了,再加上开发经理跳槽了,我们公司决定购买软件公司的产品,不再自己开发了。初生牛犊不怕虎,那时候我还跟部门经理去说,我能胜任后面的工作,而且还要求经理给我加工资,完全没感觉到公司都有赶我走的意思了,现在想来,那时候真的太幼稚了,刚刚毕业不到一年怎么可能撑起这么重的担子呢。顺理成章的,我没能留在那家公司。如果时光能回去,我绝对会好好学习,不要求加工资,更不会太自不量力。

       我现在觉得,不管什么样的开发语言,没有两到三年的开发经验,你都不能说是精通。后来我去了上海海事大学内部的一个软件公司工作,还是用pb。自己还成功的完成了现有产品的中英文切换功能。不到一年,我甚至觉得自己的水平已经很高了。毕竟当时用到的东西有限。后来还出了一个小插曲,我们部门经理跟我们说,datawindow执行完retrieve()之后,事物要commit一下,要不然就会死锁。也许有些人不知道pb,我给翻译一下就是,sql语句select完了,要commit。当时我的同事就提出了反对意见。但是我竟然认为经理是对的,理由就是经理的职务高。按照经理的要求,我把所有的retrieve()后面,都给加上了commit.也不知道当时有没有加上注释并且署上我的名字,如果当时真的这么做了,现在想想我真的没脸见那个公司的后辈了。事后同事终于跟我讲明白了,经理是错的。自己也觉得,在这样的环境下,没有成长空间了,就果断离开了那家公司。

       我第三家公司,也就是现在的公司,我一直工作了6年多了,现在也干到技术总监的职务了。其实我真正的成长还是在我现在的公司,也就是从我工作后的第三年开始的。工作第三年是真正成长的开始。前两年,我们可能一直按照别人的思想去工作,因为我们不懂,我们都是在参考别人的代码,我们认为存在即合理,更何况别人的代码运行的很正常。到了第三年,除非自己不想进步,否则,我们肯定开始考虑自己写的代码的合理性了,在这个时候,我们不再是参考别人的代码了,而是按照自己的想法去写代码了。我建议工作三年的同仁们,大家一定要多思考,多去考虑一下系统的非功能性需求,包括健壮性,可扩展性,可维护性,性能等。在这个时候,最好提升一下自己的水平,比方说参加一些考试,通过考试来验证一下自己,顺便提升一下自己的水平。也就是在这个时间段,我考取了软件设计师。这个时候,一定要肯吃苦,肯接受挑战。我还记得,当时我们公司接了卫生部的一个活,要求跟健康卡做接口,当时健康卡要现场制作,接口要现场写,而且时间紧迫,很多人也许就不敢接这样的活了。但是我勇敢的接了,上进心还是要有的。简单的收拾一下,我就从上海飞往了北京。到了现场我才知道,别的公司都已经入场20多天了,而且基本上都调通了,只有一家公司还在探索。留给我的时间已经不多了。后来才知道没调通的那家公司跟我们一样用的是pb。他们甚至已经下了结论,pb根本做不到,因为pb操作不了内存地址。但是我是不服输的,说实话我要是服输了,可能我的工作也没了,本身我们公司就是干医疗软件的,丢人不能丢到卫生部去。经过三天没日没夜的工作,最后我还是把工作完成了。认为不可能完成的那家公司也参考了我的代码,完成了调试。这次经历对我来说真的是一次难得的锻炼机会,有时候你测试N遍都测不出问题来,当真的要用的时候偏偏就出问题。当时我也碰到了,就在准备给陈竺部长看的前30分钟,系统出问题了,当时我们都傻眼了,10月份的北京已经很冷了,调试了5分钟后,我已经汗流浃背了,我们公司的负责人也在一旁不停地催促我。后来还是把问题找到了,发现有同事在某个函数下面更改了全局变量的值。应了那句话,埋下的雷,指不定那天就踩上了。所以大家平时写程序的时候,不仅仅是要实现功能,而且要写的完美,不留任何隐患。

       现在的毕业生基本上都在追逐JAVA,追逐.NET.因为它们流行,没有人想去学习已经陈旧的语言了,因为大家都认为这些语言很快就会被淘汰了。当时也有老同事给我灌输知识说不要用pb了,用pb赚不到钱的,也没有发展空间的。那时候我也信了,我利用空闲时间开始学习java。也想去使用java语言的公司工作。经过朋友介绍我去了春秋航空面试,因为没有java工作经验,只靠书本上看到内容很难体现自己的水平的。那次面试真的很糟糕,我说不出任何java相关的框架,我甚至连MVC都不懂。最失败的一个面试题,回答完我就知道自己没戏了,当时,面试官问我,你平时对数据库的哪些操作比较熟,我不假思索的说了一句;“我擅长解锁!”,这根本就不是一个正常人该回答的问题啊,擅长解锁,说明自己的系统经常锁啊,经常锁,说明自己的系统很烂啊。那次面试很失败,这次打击也令我更加努力的学习java。后来我又去华为面试java,经过六轮面试,我终于过关斩将拿到了华为的offer.但是我最终还是没去成华为。由于家庭的原因,再加上我领导调往我老家山东工作了,经过跟领导的谈心,我追随他回到了我的家乡山东工作。公司没变,只是从上海分公司调往了山东分公司。

       后来,太忙了,我慢慢的放弃了java。我还是比较要强的,我开始考虑考架构师。很多人都告诉我,别做梦了,一个写pb程序的,怎么可能考取架构师呢。你知道什么是面向对象吗?但是我就是不服输,我认为不管是什么语言,只要努力了,肯定能成功,更何况,架构师这么高深的东西又不会考语言,管你用java还是pb呢。经过不懈的努力,2014年我终于拿到了系统架构师证书。说来也是巧合,2015年我们新添了java项目,由于没有招到java人员,我临时客串一下去java项目组工作。由于以前的学习经历再加上这几年的经验积累,我竟然能胜任java这份工作。经过一年的努力,我也做出了不小的成绩。其实语言只是个工具,每种语言的语法是有限的,真正需要的是你的理解能力,你的设计观念,而这些都是长时间的工作中积累下来的。不管是用什么语言,只要你用心了,就会懂得技术的真谛。

       人是需要不断努力的,大数据时代已经来临,我要尽快考取OCP和OCM,不是为了考试而考试,要通过考试来提升自己的知识面与技术水平。当然了,J2EE架构师也是我的奋斗目标。选择了软件行业就不要放弃,选择了技术条线就勇往直前,CTO才是每个技术人的终极目标。与每一个奋斗在这条路上的同仁们共勉,为了终极目标继续加倍的努力。有了目标就有了动力,有了动力就有了激情,有了激情就能快乐的工作。

上一篇:oracle培训第二天


下一篇:springSecurity 密码md5+salt配置