我工作这几年 -- 读“有多少人像这样这样苦苦挣扎”有感
看到“x73242”发布的《有多少人像这样这样苦苦挣扎》,想起自己走过的这几年,有感而发。
《有多少人像这样这样苦苦挣扎》原文如下:
搞程序有段时日了,渐渐的发现这个行业的现实。本人和身边的大多数人大多都是做java web,没多少技术含量,忙倒是挺忙,在开源或是自己公司开发的成熟的框架上把一个又一个不太复杂需求变成页面、业务逻辑代码、sql语句。这样的产出一个个项目,或者就是在一个项目上折腾来折腾去,改来改去。而做出来的东西吧,没几个人用,或者压根就卖不出去,也不用考虑性能高访问量安全等等问题,而且碰到复杂的问题自然有几个专门管疑难杂症的人解决,不用你操心,这样的工作工资不会高一般2-5k,老板是不会给你加薪的,一般都是招应届生,应届一两年后成了老员工走了再招应届生,周而复始。做久了也就业务熟了多会了几样web技术,并没有什么创造性或研究性的东西,反正是重复劳动,公司更愿意要年轻的。跳槽后发现其实也差不多是这样,不过从一个火坑跳到另一个火坑重复劳动的做着web。望着论坛上别人说起的高薪流口水,想做什么改变却发现自己还是爬不出这怪圈。一般都是做个几年后除了做到管理的别的就转行干别的去了。哎悲剧啊,不知道有多少人像这样呢?
-----------------------------------------------------------------------------------------------------------
我是06年毕业的,在大学时对C++非常感兴趣,工作被分配到部门后,被要求转做Java,非常不愿意,也找老大提过换部门,但老大答复不可能,没有办法,既来之,则安之,暂时无法改变现状,只好安心做一段时间Java。
大学期间我虽然也学了一点Java,但对WEB开发一无所知,所以只能从头学起,从HTML到JavaScript、再到Java,JSP,只要是WEB开发相关的东西,我都去学,还记得那会经常周六去加班学习项目组的代码,所有后台代码只要有源码的我都仔细研究过,特别是那些有些技术含量的,我都会让自己去搞透,当时我们项目组的WEB框架也是MVC框架的,但完全是公司内部的代码,没有用到开源的东西。有一个周六去看代码,当时花了一整天的时间搞懂了翻页组件(基于JSP的自定义标签实现)的原理和代码,兴奋了很久。
06年那会,Struts很火的,现在已经看不到了。页面框架完全是我们组内的一个同事自己实现的,基于JavaScript、XML实现的,我之前对WEB一无所知,所以当时对他十分崇拜,只要是他写的代码,我都会花很多时间去研究透。在我进公司两个月左右,我对他搞的那套框架和他写的代码已经基本搞透。在我进公司两个半月左右,部门新起了一个项目,他主动要求去了。由于我经常向他请教阅读他代码时出现的疑问,所以他对我印象还不错,加之那套代码我也基于搞明白了,所以他那套代码全部交给了我来维护。
由于刚进部门时我有表现出不想做Java的情绪,当时项目组的老成员对我很不认可,后来我踏实地做事,逐渐还是得到了他们的认可,特别是那位老员工的离去后他的代码我基本都能搞定,后来项目组的老员工还是改变了对我的偏见。我转正时,PM给了我一个A。我那会也认识到其实搞WEB开发还是有很多东西可以学的,自己的心态也调整了过来。
当时我花了很多时间来研究代码和写代码,当时借了本《Java 2 核心技术》,我记得书上的很多示例我都自己一行一行敲进去编译运行,看最终结果与书上说的是否一致,那些示例代码我都保存了下来,对我以后的工作也有不少帮助。
平时我会花很多时间去看书,《Effective Java》、《深入Java虚拟机》这些书我都买了,一有时间我就看,《深入Java虚拟机》那本书基本上看不太懂,但有时间我还是会翻翻。做Java,还要学习设计模式,我已经不记得这是谁告诉的,但当时我还是那么做了,设计模式相关的电子资料我也找了好多,有时间就翻下,并尝试在自己的代码中使用一些简单的模式,印象中单例模式我好像用得最多,哈哈。
慢慢地我也学了不少东西,当时感觉自己每天都在进步。那会我在页面方面提升得特别快,当时有些老员工也会问我一些页面开发相关的问题,慢慢地我在项目组也有了点地位。我们组还有另外一个比较牛的人,项目组中的一些疑难问题基本上都是他搞,当时他在项目组说的技术相关的其他人都认同,但我有时就会和他争论,并说出我的观点,虽然多半被大家否定,但还是有少部分意见会被采纳,后来再有问题他有时也会找我讨论。如果你想被别人认可,至少你得在某一方面在小范围内做到最好。
06年底,部门组织年终活动,我得到了“最佳新人奖”和“最快进步奖”,那天晚上我激动了很久。去给部门领导敬酒时,部门领导说的一句话我现在还记得很清楚:“你的工资多少现在来看不重要,重要的是你周围的人对你的认可”。可能各位看客觉得我的领导在忽悠我,但我从未那么看,那位领导的那句话也给我很大的学习动力。
07年初,我那位很牛的同事被调动去做一个新项目,领导答应他可以自己选人和他一起做,我有幸被他选中。这个新项目的具体工作其实就是搭建一套全新的WEB框架,不过领导提了一些特殊的要求。我分配的具体工作就是搭建一套页面框架,同时实现权限管理,权限控制要能控制到按钮级别。那段时间我花了太多精力在上面,为了实现树型结构我自己花了两天时间来写JS代码,那段时间有时做梦都在想有些技术细节该怎么实现。总的来说,那些代码质量比较高,我自己测试完后,框架部分测试部没有提过一个问题单,到现在有些项目还在用我们当时实现的框架。
做完那个项目后,有天我突然觉得我想通了面向对象设计中为什么要有接口,应该也算种顿悟吧,:)
我工作第一年期间,很多天到了晚上六点我会准时头昏,大脑累得不行。现在来看,当时的付出是值得的。
2010年写在ITEye的文章,现在工作相对空闲了,再回来整理下:http://zhao3546.iteye.com/admin/blogs/799082
相关链接: