程序人生第三年

(一)这三年
在中国,几乎没有多少企业愿意花费大量的资源、财力在技术研发上,所谓的“科技公司”,都喜欢招那种现成能够马上上手的程序员,组成一支十人不到的技术团队,要求在快则3个月,慢则一年的时间内,开发出一套产品。然后产品上市,业务人员推广,公司盈利。运营一段时间后,产品要更新换代了,再去招聘一批新的程序员,依然要求在很短的周期内做成产品来,上市,推广,盈利……周而复始。这就是为什么企业招聘信息上都要求必须有X年以上工作经验。
我所在的公司计划更新换代的时候把我招聘进来的,要求用当时最火的技术就是J2EE。公司主流的产品是用C写的,跟终端的交互是C/S模式,而当时电子商务正在兴起,因此,公司想将原来的产品往电子商务网站发展。我被分配到了开发部的二组——专门开发产品二代的组。刚开始,公司的确接到了几个电子商务有关的项目,然后,我和项目二组的同事们风风火火地大干起来。从可行性研究、需求分析、系统设计,再到编码、调试、发版,项目的每个阶段,我们都积极地参与,把每个项目都看成我们的孩子似的去呵护。等到项目正式上线后,我们内心都充满了自豪感,无比的成就感。
然而好景不长,新项目并没有给公司带来巨大的收益。公司终于意识到,给公司盈利的并不是什么前沿的IT技术,而是用“最前沿的IT技术”为幌子收取的代理费,一个代理就是好几千块钱。一个省发展一万个代理,公司就收入就是几千万,而如果是好几个省呢?那规模不就上亿了。于是,公司果断地砍掉了新的项目,将重心移到了将业务推广到其他省上面了。一时间开发部二组几乎没有事情做了,同期的同事相继离职。公司就撤销了二组。由于我接触过公司原来的产品代码,部门经理把我留下来,一方面去维护已经上线的项目,另一方面给外省推广的业务员提供技术支持。

(二)“跳槽”?
在中国IT界有一个这样的现象:中国虽然有很牛的科技公司,比如:某企鹅,却没有很牛的研发团队。一个IT产品(或互联网产品)从提出概念到发布上市,不能超过一年,否则就算是失败了。一旦出现很火的产品,就有企业竞相去模仿,而模仿一种产品,往往不需要3个月,这样更导致了没有企业愿意投入到技术研发上。产品一旦上线,大多数就公司不大愿意留住程序员了,因此,程序员往往需要频繁跳槽。
我所在的公司的原来的产品是用C语言写的,因为我也会一点C语言,所以,部门经理把我留下来了,也安排我一点C语言的代码的维护。按照公司的发展来看,将来不会再开发新的系统了,以后也只需要技术支持类的工作人员了。有一段时期,我考虑过换工作,就是“跳槽”,但是仔细一想,觉得没有必要为了“跳槽”而“跳槽”。如果换到新公司以后,出现同样的情况怎么办?
经过多番考虑以后,我决定与其频繁换工作,不如花时间提升自己的能力。为此,我在完成自己的工作任务后,还我给自己额外安排了三个任务:
一是:每天上论坛来学习提升自己。
二是:每周写一篇总结,帮助自己巩固知识。
三是:一年内开发出一套在线考试系统。

(三)在线考试系统
需求说明:开发一套在线考试系统,考试内容为软考-程序员。要求:
1、建立题库。包括:后台-试题的增删改查;前端-在线答题、评分、分析等。
2、真题试卷管理。包括:后台-真题试卷的增删改查,真题试卷管理;前端-在线考试、阅卷、自动计算分数等。
3、自动生成试卷功能。包括:从题库中随机获取相应的题目,自动生成试卷。

设计思路和编码会陆续在以后的文章的写出来。