三年之痒。求安慰,打击也无妨!

3年之痒。。。求安慰,打击也无妨!!
08年6月2号进我目前的公司,已经快3年半了,前不久在ITEYE刚看到一篇关于工作3年容易浮躁的帖子,真是深有同感啊!

这次打算写的比较多,先把我的不足与弱点写清楚,不让各位筒子浪费时间看下去了。

教育经验:
2001年大专毕业,非计算机专业,2006-2007年间,进一培训机构脱产学习开发技术,主修JAVA
在2008年6月前唯一和程序开发稍微有关的工作也就是在某银行做了一年的客户数据维护。

开发工作经验:
开发工作经验更简单了 2008.6.2号至今,在上海的一家短信公司担任程序开发,后升职到技术部经理(虽然开发人员最多的时候也不超过3个)

很多人也许看不下去了,现在计算机本科才是工作的敲门砖,一个只有大专的人来说,确实机会很少,如果你或者你们公司HR认为学历是衡量一切能力标准的准绳,又或者你觉得超过30岁已经没多少生产力了的,下面的你也无需看下去了。


但是你如果看下去,也不枉我写这么多了,真心感谢你,不管你是出于打击我还是鼓励我。

下面简单介绍下我3年多来的工作点滴,算不上简历:下面的图是我主要的工作项目放在SVN上的截图(SVN服务器是我架设在公司服务器上的)
三年之痒。求安慰,打击也无妨!

第一阶段:
boss和JianzhouSMSWServer是我进公司就有的2个java项目,项目代码是采用外包的,(在我进公司前,公司只有一个VB开发,我进公司后2个月离职)。
boss是一个主要客户代理商充值管理和客户短信维护平台,没用到任何框架,使用jdbc,mysql,tomcat,现在看来没任何技术可言,但对于一个刚入门的我还是帮助我打下点基础。
JianzhouSMSWServer,基于axis的WEBSERVICE项目,tomcat,mysql,主要是对客户提交到服务器的短信进行处理后提交到各大手机运营商。JianzhouSMSWServer也是我3年来比较重要的工作内容,包括对该项目做并发的安全处理,流速限制,权限控制和各种短信运营商通道的不断接入,添加BlazeDS通讯,以及在客户个性化上的诸多改进。
在这阶段,熟练使用几大手机运营商的各种短信接入协议,CMPP,SMGP,SGIP等,webservice方面也从无到有,熟练使用几大ws框架,包括axis,axis2,xfire等。
操作系统在这一阶段也是由Linus转入win2003,转换原因是因为是老板有次看到我xp上测试了JianzhouSMSWServer,就马上让我放弃Linus,因为他时常也会登录服务器看看。当然实际运用下来在Linus上使用效果确实非2003可比,比如在并发效率上,这里不作深谈。


(第二阶段开始,下面所有的项目代码都是本人单独做需求分析,架构,码代码)
第二阶段:
我把这一阶段做为我在java上的高速成长期(只针对本人而言,对其他大牛而言这速度可能不值一提)。
这一段时间做的项目Jzdb2,JzSsm,TaskSend,Jzweb.
JzSsm是一个通过计算机的COM端口连接发送设备向移动和联通运营商提交短信,我这上面深入掌握的有多线程并发,以及均衡负载等。
TaskSend与JzSsm配套使用,JzSsm负责分配任务的程序,TaskSend就是生产机上的实际发送,本项目主要掌握的有smslib接口,包括普通短信和彩信。
Jzweb是我一个比较喜欢的项目,项目用到了目前主流框架,SPRING,HIBERNATE,STRUTS2,还有mysql,apache,tomcat,ehcache,这是一个WEB项目,通过让网民免费发短信来吸引客户注册,注册后有更多的互动,比如竞猜,游戏等等,还有广告主的积分管理与报表。这个项目之所以说我喜欢,是因为我倾注了比较多的尽力,在使用jquery前,用户操作基本都要页面跳转,但是到后来用户基本从登录到结束基本都不需要页面跳转,基本都做了无刷新,几乎等于重构项目。这一项目我对3大框架和jquery的掌握有了长足的进步,对我下一阶段熟练使用奠定了基础。

第三阶段:
Jzdb2是一个对7500万数据的维护系统,这个项目我比较深入掌握了mysql,包括数据分区和高性能海量数据的处理上 ,对使用jquery做无刷新翻页查询能熟练使用。
由于公司的发展需求,公司一直使用的老客户端VB开发,已经无法满足当前的客户需求,需要一个崭新的客户端,在几大富客户端的选择下,我选择了FLEX,我到现在还是为我选择感到欣喜,因为FLEX不仅什么都能做,而且更好的与JAVA服务器的交互真是java程序员的不二选择。
Jianzhou2011就是公司新桌面客户端,下面是界面截图
三年之痒。求安慰,打击也无妨!
Jianzhou2011使用的flex4,actionscript3,blazeds,虽然是我新学的东西,但是多学一门好的语音不是什么坏事,具体功能可看图片。
Jzcrm是一个由flex4,spring,hibernate,spring security开发的web引用,主要是公司内部的客户管理,员工管理,工单审批等ERP功能,基本都把我以前掌握的技术框架都巩固了一般,能更加熟练使用。
Jz-Info,还是flex4,spring,hibernate,spring security,主要是向客户发布主流媒体的财经信息,个人觉得的此项目亮点是使用了BlazeDS的流机制,通过服务器向登录的客户端主动推送消息,以及springSecurity3的熟练掌握,后该项目因公司政策的转变而中途夭折。
VideoJob,是一个FLEX4开发的页面聊天室网站,视频服务器使用adobe的fms4,使用到了fms4中最新的P2P技术,多用户视频带宽消耗极小。后因一些资源问题,公司放弃后续开发。

在这三个阶段里,工作当然不仅仅这些,其他的我就不多说了。因为公司长期主搞开发的也就我一个,基本什么都要会,ASP ,.net,php,我当然不敢说都会,但是因为公司API接口的需要,我多少还是掌握了一点。

数据库方面,几大数据库都在工作中用过,主用的还是mysql和mssql,当然还有微型数据库SQLITE(个人觉得也不是很微啊,几百万的数据也大的吓人)

这3个阶段的JAVA和FLEX代码量我计算了下,去除空行和注释,JAVA代码行将近10万,都是我一笔一笔码出来的。期间也读过一些数据,有重构方面的,有源码研读方面的,也有FLEX和AS3方面的,看过util的源码,TOMCAT7的源码也看过一小部分(说实话,非我所能完全理解掌握)

第四阶段:
好吧,也许你会说到衰退期了,嗯,我承认,如果一直在一个封闭的环境中,我的技术一定会衰退,岁月也不饶人。
所以我必须寻求突破。

也许你认为我做的也不过这点,但是我要说的是,这些项目都是我从头做到尾,数据库设计,需求采集,需求分析,项目架构,写代码,测试,上线,维护。我相信很多公司这些工作都是分工的。比如说一个WEB项目的维护一块,又包括网络推广,反盗链,搜索引擎优化,上线用户压力的均衡等等很多事情。
我也面试过很多开发人员,他们很多都做过大量的项目,但是最多也不过是拿到几个接口去实现功能而已,他就说做过这项目,但项目核心确是一知半解。

自己评价:学习能力强,对开发有着灼热的热情,对任何一项微小的功能实现,都有成就感,这不正是一个标准的程序员需要有的吗~
再次感谢你看完我啰嗦一大篇,欢迎拍砖鼓励,可能,你等的就是我,我等的也可能就是你。。。