明天开始休假,今天也是今年最后一天上班了,工作阶段性的完成了。以后当然还需要再改动,但这之前我要回老家过一个轻松的元旦节了。作为一个程序员,作为一个刚入行不就但满怀憧憬希望的菜鸟,做一下总结对以后的路只会有好处。
这一年从好运开始从坏运气结束,也就是前半年技术薪水各种事情都在走上坡路,而到了下半年虽然技术薪水身体状况也都是在增长,但明显感觉不像上半年那样顺风顺水。我一向不是个运气好的人,或许是因为性格不够主动的原因,很多东西都会与我擦肩而过,机会像暴风骤雨般向我袭来,都被我一一避过。很多时候都悲催的望着身边的同学朋友不断的跳槽和加薪,不断的在群里面述说自己的得意之事。经常也告诉自己刚开始工作,不能太在乎薪水了,应该以学技术为第一要务,应该以锻炼身体和交朋友为重要目标。在一个公司里一定要先稳定下来,趁年轻多吃些苦,多学点核心技术,将来不怕找不到高薪工作。但这些话现在看来是自欺欺人了,薪水比同水平的朋友低了一截,技术似乎也没有多少值得夸耀之处,那么我拿什么来安慰自己呢?
这是我第一个公司,目前没换过。公司整体氛围还是可以的,技术研讨的传统非常浓厚,整个产品开发部牛人还是很多的,和大家熟了之后我就充分发挥了脸皮厚的特长,男的叫哥,女的就叫姐,有什么疑难问题就轮流去问。三四个人,他们在某些领域都有不错的研究,都具备指导我能力,时间长了次数多了,他们也习以为常只要有空肯定是要被我请来解决问题的。从他们解决问题的方式和思路中,我慢慢也学会了很多方法,最近半年来我问的问题逐渐少了,偶尔会有解决不了的难题,问到他们身上,他们也大都要犯好大难。很奇怪,有时候自己怎么想也想不通想不到的问题,只要把他们请来,我的思路立马就开阔了。情景大抵如此:他们坐在我的电脑前,我站着恭聆指教。在他们了解情况和尝试解决办法时,我提一提自己的想法,说说之前未解决的其他原因和产生的现象,于是突然间我就想到了,原来这般这般就可以解决该问题了。总体来说这个问题他们没给我实质性的帮助,我自己想到了这个问题的解决办法,但让我自己来想恐怕还要好久。有时候甚至于直接卡壳,大脑短路,无法继续下去。老鸟告诉我,形成了思维定势,自己很难有所突破,停下来,想一想,或者去放松一下,再来解决这个问题,思路就来了。这个我深以为然,但项目紧的时候,都是争分夺秒,谁能闲下来去阳台转转?都是一坐半天 ,来水都懒得去接,尽管饮水机就在五步远的地方。
去年和同事们不太熟,话说的不多,问题问的也少,不似今年。今年年初开始,一直都跟几个人形成稳定的吃饭阵营,每天中午必然是我们几个一起吃饭,除非有人出差不在。在饭桌上大家少谈工作,多说新闻和娱乐,这样大家的关系就拉近了很多,熟了之后我的话就开始多起来,不时的讲个笑话说个段子,大家一乐我也挺高兴。一年来,好像大家都习惯了我的大嘴,有一次我去外地出差一个半月,回来之后就有人说,你不在的这些日子,大家吃饭都没劲了,少了太多的热闹了。看来我虽然很贫,但还没招人讨厌,这样很好。我想可能因为我的真实和真诚,虽然我很喜欢扯淡很喜欢讲段子,也可以说很喜欢装逼,但都是明着装来着,绝对不会玩虚伪。即使我再装逼,那也是大家一眼就能看出来的,纯粹是娱乐需要,只是为了嘴贫而已。人际关系自认为做的还不错,最起码没有树敌,和大多数同事的关系都很好,比以前主动了些,这应该算得上是种进步吧。
年初开始一直忙着做部门的一个项目管理系统,这个系统是我接触的第一个正式的开发任务,这个系统曾让我无比纠结,新接触的freemarker还不会用,整个项目都是使用freemarker写成的模板,而我根本无法了解是什么意思,整个项目无法把握,开发就无从下手。项目的框架是struts2+spring+ibatis,数据库是oracle,这些技术我都有接触,用起来并不困难。但是项目组中就三个人而已,所以一旦分配了某个模块,就要从需求到设计到编码到测试一个人来做完,还有很多未能确定的任务要先建雏形。这样就给我带来了较大的压力,一边学一边做,每天下班之后都再多做一个半小时。慢慢的上手了,两个模块做完整个项目的结构都在我脑中了。这期间我看了代码重构和设计模式这两本书,虽然没读完,却吸收了不少有用的思想。现学现卖,直接用到了项目的编码中,把以前很长的方法分割开来,把乱七八糟的命名重新改成有意义易懂的名称,把注释加的合乎规范。后来证明这个改变给我带来多么大的影响,无论需求再怎么变动,我的代码都只少量修改即可,很少再出现头大的情况。这个项目持续了近五个月之久,我参与了四个完整模块的开发工作,这个项目对我的技术提高有了至关重要的帮助,让我对框架的理解对数据库的开发都有了质的提高。项目临近结束时我就踌躇满志,觉得软件行业真没有不可为之事。现在想想当然很幼稚了,当你觉得自己学到东西时候,才是真正需要学习的时候。这个项目的结构十分漂亮,很多模板写的都十分巧妙,代码的复用率极高,可扩展性也很好。看到这样的项目,真觉得架构师和设计师像神一般的存在,我的心离他们也更近了一步。这里提一提项目经理,女,年龄不详,估计25-30岁,性格豪爽,工作十分努力,技术扎实丰富,在开发中给了我很大的帮助,绝对的女中豪杰。
4月底,经理给我介绍了一个人,这个人是其他组的项目经理,大概技术十分牛,以前没接触过,暂且称之为Y。告诉我有一个门户系统需要我来做,使用内容管理系统来做。说实话,这几个字连在一起我还是第一次听到,可能有人觉得很好笑,作为IT专业的人居然连内容管理系统都不知道,大家尽情笑吧,当时我真不知道。既然连名字都没听过,更别提是用来干什么的了,一头雾水,蛋都疼了。使用一个产品jeecms,这是一个公司开源产品,网上公开源代码开放论坛指导,但如果用来做商业网站就必须得到授权,授权费用4800RMB。回头说我对这个项目的了解,那三天真似人间地狱一般,那几天要搬家,晚上很晚才回去,回去后先得打开电脑继续看该系统。看完11点多了,还要收拾搬家的箱子。白天Y要问我系统理解的情况,我说理解一部分了,但还不会用。Y很明显对我的回答不满意,懂就是懂不懂就不懂,没有大致懂了,没有懂一半了。我只好说不懂,然后问他,他说我也没用过该系统,但这些东西都是相通的,不就是创建网站,开发定制界面吗?人家既然做成了产品,自然后台都不需要你来做了,只要会html和css就可以建站了。网上似乎也是这么说的,但实际情况根本不是这样,而我也不止懂这些。我熟练使用javascript和jquery,熟练使用freemarker标签,对java后台编程和数据库技术也较有心得。但是就是不懂JeeCMS这家伙是用来干嘛的,这个产品是什么,用来干什么?别告诉我是建站,因为以我当时的水平,不知道建站是怎么回事,更不知道用内容管理系统建站是怎么回事。Y白天每天至少骂我一顿,我在他眼中就是个笨蛋扶不起的阿斗,之前跟同事交流问题没被这么骂过,说实话真不习惯,他的声音大的两个部门都能听见,人人位置侧目,我想当时我的脸色一定是红白交替,但面对比你牛的技术人员还能说什么呢,谁让自己菜呢,挨骂也活该。我的脾气一
向不好,但那时候却从容的忍了下来,当时我就想,我一定要把这玩意搞懂,搞通,让你另眼相看。五一之后出发去了客户那里,才知道,之前做的准备和需求调研都是扯淡。需求要重新调研,项目要重新规划,最重要的是,Y不是项目经理,不知道谁是项目经理,向谁请示向谁汇报谁来监管?都不知道,我的任务就是根据需求做项目,一个菜鸟,孤立无援的状态下完成并不确定的需求。大家想想我当时的状态吧,一个人在外地真的是很寂寞,那段时间尽管吃得好住得好,有电视看有网上还有ipad玩,但一到周末就犯难,不认识一个人不知道去哪里度过,从来没有如此的寂寞过。后来实施部门也来人了,总算有了认识的伴了,慢慢熟了也成为很好的朋友。项目这边需求也慢慢明确了,虽然有很多问题之前没遇到过的,但经过艰难困苦的过程,问题一个个迎刃而解,客户那边也很好说话,有些东西实现不了他们也就不计较了,请我们吃了两顿好吃的,让我感觉很温暖。前后经历了两个月,这样一个现在看来极其简单的项目才算完成。这个项目中我的收获更大,因为从客户接触,需求调研,软件设计,编码发布,实施运维都是我一个人完成的。而且完成了很多数据库和源码的改动,算是真正意义上的二次开发,对springMVC框架的优越性有了很大的了解,对hibernate框架也了解了不少。其他的一些技术在前面的博客里也都涉及到了,最大的好处就是开阔了眼界,让我真正知道了软件是怎么回事,需要考虑的多种因素该如何一一进行调优。暴漏的问题也有不少,比如没有人去交流,造成工作效率低下,没有人监督造成工作散漫不抓紧时间,这都是以后工作中要注意的事情,毕竟这个要靠自觉的.
现在这个项目是从9月份接触的,现在依然未能完工,但基本功能已经上线,需要其他功能的添加和优化。这个项目暂且不介绍了。
做程序员总要有个目标,我想我的目标就是往oracle方向发展,oracle是星球上最好的数据库管理系统,国内也有不少的oracle大师,他们的成功之路十分激励我的心智,觉得这个就是适合我发展的道路。坚持每天学习,即使以后不做dba,也要做一个oracle方面的牛人。