十年前的今天,我在做什么呢?好像在填报志愿吧.不知道,全忘记了.倒是十年前的九月份,我开始接触接触IT这个行业,从一个只会装系统的人转变成一个不仅仅会装系统的人,或者说转变成一个会用不同方法装各种系统的人.
昔日的同窗,校友,师弟们已经成为了这个行业的中坚力量,有自己创业成为知名互联网企业的,有加盟顶级软件公司跑去硅谷的,有成为现今互联网行业优秀的PM(Project Manager & Product Manager),有成为金融行业,运营商的资深技术人员等等.望着这一个个背影,真有点相形见绌的感觉.
大家在这十年深深地挖了一个坑,有的可能还找到了石油,而我好像挖了好多坑,但是每个坑似乎只能种得下一个萝卜,可惜的是一颗萝卜也没有种,也没挖出古物什么的.感受了十年间IT科技的变革,也享受到了科技发展带来的好处.毕竟用上了笔记本,手上的电话也不在是白屏的了,十年前那个128M的U盘现在已经不值得一提,软驱彻底消失,光驱也慢慢开始离开这个市场,那个电老虎阴极管显示屏也变得罕见,更不要说ipad.
十年间,很多不可思议的事情已经成为极其普通的事物.然而十年前比喻成一头挣扎在泥沼里头的巨兽的软件工程项目,到如今仍然没有变化.其实这个应该说是50多年前的比喻,今天依然如此.没有银弹,这一个说法又稳稳当当的保持了十年不变.
ISO,CMMi这些耗费巨资打造的行业标准,依然没有发挥他们应有的作用.导致2000年网络经济泡沫崩溃的各种美轮美奂的概念式投资,10年后又风靡全球.互联网的概念一直被重新定义,然而一堆无畏的年轻人又开始着创造新的泡沫,正如经济危机是具有周期性的一样.网络经济危机也是遵循这个规律,因为说到底网络经济也是资本运作的一种,跳不出经济危机的怪圈.
我感觉从我接触IT这个行业以来,从门户的概念到搜索,到社交网络,到团购到微薄,从网格计算,并行计算,最后到现在的云计算,似乎说来说去的都是那些东西,本质上并没有太大的改变,一两年就出现一个10年的蓝图,出现一个未来的趋势,可是国内这10年都积淀了什么?或者说哪一种计算机文化是从国内推向世界的?盗版就不要提了.
10年了是时候好好再看看一路上那些萝卜大的坑,虽然很惭愧,因为既不专注也不专业,笼统的说就是既不大又不深.
- 第一个坑,C++,学习的第一门计算机语言,当年成绩98,98,可是止步于大一了.因为实在没有途径往深里头挖.竟然在2010年找工作的时候,找到一份在UNIX下开发C++程序的工作,后来一直做了两年,弥补了自己知识构成上的一大缺憾,不过比起那些在互联网工作的朋友来说,我简直连他们的面试都无法通过.忘记提了我的这份工作是通过面试Java,.Net以及C++面试题后获得的,当时本来是应聘移动互联网岗位,后来不知怎地就变成了C++程序员了.
- 第二个坑,Java,在C++的学习过程上遇到瓶颈之后,必须课上的java成为我的又一个新坑。比起非常人性化的VC++6.0,配置Java的开发环境,现在回忆起来还真是一个苦差事,因为一开始那本兰开斯特出的Java Contact,让我苦苦的搞了几个星期,硬是没搞出来.包括后来刘志讲课,我们上实验课程的时候也花了非常多的时间.接触java,让我对这个拥有虚拟机的精美的面向对象语言产生了敬仰,后来变追着看张孝祥的java课程,硬生生的学会了java的语法,没事编个helloworld是不在话下。之后遇到了和C++一样的瓶颈,做点什么好呢.没想到,于是又放弃了.
- 一直到研究生毕业,用.net的经验应聘了淘宝的Java岗位,额那个不算,因为后来拒了淘宝,后来是用.net的技术加上C++应聘上了中兴移动的java岗位.领导很是器重,主力研究山寨机上的java应用和android系统,这时候就要引入第三个坑了,C.在中兴移动除了研究J2ME,Android架构之外,我的很重要的工作是维护C写的手机程序代码,到现在一直记得这个MTK的软件叫维纳斯.值得一赞的就是这个维纳斯在架构上是真不错,代码写得挺优雅,而且还能在这么便宜的硬件上实现仿三星手机的界面功能.离开中兴之后,让我被C摧毁得体无完肤的是XX局的C程序,这是我见过的最XX的程序.
- 第四个坑是网络管理,那时候的大学城,黄泥滚滚,尘土飞扬,好不容易从五山搬去了几台服务器和一些网络设备,建立了一些网络实验室的时候,我又投身到了网管工作.不亦乐乎的装linux,破解windows密码,部署LAMP,开发基于GHOST的远程恢复光碟.B92楼的某一间小房间,成为了我们当时的所谓的办公室,一个独立的不被打搅的看书的地方,一开始有空调,后来连排气扇都没有.感觉似乎网管也不过如此,没有什么挑战.
- 于是出现了第五个坑,在实验室老师的号召下,我们齐齐研究Linux,我被分到研究内核小组,从研究文件系统开始.那一年,大学城的中央空调工程虽然完工了,但是暑假不开放,于是我们便一起安装了4匹的大空调,从那时起,我才认识到一个过得硬的空调牌子,格力.和大一的时候不同,这个暑假是在空调房里度过的,舒服的很.但是连操作系统都木有学的我,真的能看懂这个文件系统么?时间证明了一切,我也没有展示出拥有天才的一面,最后只是学习了一些简单的命令和粗略的文件系统的模型.幸亏有这段的经历,否则那个C++的工作我是干不了的,更不用说后面还要写脚本,安装脚本什么的.这个坑遇到的最大的瓶颈就是,不懂,没人问.
- 第六个坑是C#,似乎是现在为止挖的最大最深的一个,估计有西瓜那么大吧,估计比一个萝卜是要好点.这门课能学好,主要还是靠老师,没记错是冯玉祥老师,上课不用书,只用课件,而且用的还是微软的课件,听起来带劲.不过做课程设计的时候还是不懂,于是找到了webcast,认真学习了vs2005,C#2.0的开发技术,做了一个颇为得意的飞机订座系统.可笑的是,那时候我还没有坐过飞机.当时是找暑假实习,到了品高,学习了生产用的C#开发技术,短短的20来天,成为了后来重要的一门手艺.因为到了研究生阶段,坦白的说,技术没有长进,反而退步了,但是全靠在品高的这几十天,硬是啃下了一个80万的项目,这个80万和我一毛钱关系没有,我只知道很悲催在铁岭的调兵山呆了半年,用Vs2008开发了一套不知道叫什么名字的软件.后来跑去南航信息中心实习的时候,搞的还是C#,只不过把在品高学的dundas的画图控件带到了南航,把在调兵山学会的自动生成文档API的技术,应用到了南航,不知道是否有用.到后来,在外经贸研究所的时候,看到X兴做的那个破烂系统来忽悠我的时候,而且企图用C#来糊弄我的时候,我都控制不了我自己了.到现在又重新拿起Vs2012,用MVC做个业务系统.
- 第七个坑是数据挖掘,数据挖掘在大三的时候成为一个新的技术潮流,我便参与海量中文数据的主题发现,这是个重在参与的项目,第一次接触到数据清洗,中文分词,降维,采用统计方法寻找规律,或者给其分类,所以其实深入进去,原理性的东西并不是太难,难的是工程性的东西,当时计划的是用几年时间,试图把中文海量数据分类,当搜索的时候可以成为一个主题网站的呈现,并去除那些相同的转载的网页.
- 毕业离开再无关注第八个坑,信息安全,从选修密码学开始,到后来研究生读混沌密码学,一直到本科毕业设计做spring的安全框架,幸亏徐勇教授的深入浅出的授课方法,直接让我在读研两个月后破解一个密码系统,发表一篇论文,虽然一直看好混沌密码的应用前景,估计还是概念多于实际,缺乏工程性的人才,我一度想做个基于混沌序列的Token,但是我哪有那水平,不了了之。
- 第九个坑,软件工程,想想估计这个坑比西瓜还要大,因为其他坑要么荒废,要么很久都没挖过又重新挖,这是一个挖了十年的坑,或许是我神经质的缘故,代码没写几行,软工的书便看了一堆,便直接导致了我现在对代码和对系统产生了洁癖,不仅如此,还对开发流程和软件文档产生了洁癖,若是看到不规范的编码,命名,以及缩进,会感觉到异样,不仅一堆抱怨而且恨不得全改过来.或许是我对我的专业过于热爱,以致荒废了其他的坑,但是这确实一个更大的坑,没有开发经验,哪来的项目管理,没有项目管理哪来的软件工程,或许这个就如同管理学院学管理一样,没有经验如何谈管理,读的就是管理,不做管理还能做什么?软件工程或许走的就是这个老路.
不过庆幸的是,10年后我终于可以说挖了软件工程这个坑10年后,我终于说我在做软件工程类的工作,视野也从一个挖小坑的程序员变成一个考虑各个方面的信息化工作者.或许这是一个要坚持到下一个十年的坑.也或许是因为这个坑,导致了其他的坑荒芜,或许也是其他坑的浅尝辄止,导致这个坑的坚持不懈.反正回不去了,再也没有精力能达到顶级软件公司的开发人员的水平了,也没有精力成为开源项目的一个贡献者,出来的工作影响个人,个人也影响这份工作.
有的时候,我很自信,因为我认为只要有够多的机会,我也能成为首屈一指的开发人员,或许是因为犹豫不决,患得患失,导致了我失去了深挖一坑的耐性.每个人来到这个世界都有自己的使命,没有什么不确定的未来,只有你自己没有认识到或不承认自己的状态和能力而已.十年间,所谓网格计算,并行计算,云计算,其实不都是一个概念?
强大的松散的提供计算能力的数据中心?也是为了冲击大型机市场垄断进而出现的低成本,易维护的高性能计算设备.之所以网格和并行之所以未能流行就在于,名字太学术,概念太复杂而且效果不太好,最关键的是根本没商用,只是个自娱自乐的概念.
WEB似乎是我们当年计算机类学子最鄙视的一种技术,称之没有技术含量,只是做个网页而已,有什么牛气的.现在回想起来多么可笑,因为没有看到人机交互的趋势,处处可访问的优势.宽带的普及,无线宽带的拓展,ipad的出现,一个新的科技世界正在兴起.以前总觉得搞些人工智能,数据挖掘,机器人控制,才是计算机应搞的东西.太可笑了,计算机只是一个机器,我们只是要控制机器,让机器服务人类,人类有什么需求实现了就可以,管他什么应该搞不应该搞.工作这么些年,搞的差不多也是数据库的增删查改的工作,只不过是UNIX下的C++,弄好的架构下,和操作.net有何区别,银行的朋友搞cobol其实,实际上还是数据库的增删查改,与.net有何区别?技术没有应该不应该,只是需要不需要.
十年,用了十年才想明白,而那些没有想这么多一头扎进去现在成为行业大师专家的他们,似乎不需要想明白也成就了他们自己.是否需要明白也是因人而异吧.可是天天被很多的厂家的狂轰滥炸,让我觉得这个行业已经多年没有进步了.因为最需要明白技术是为人服务的,而不是人为技术活着的.信息化与业务工作的相脱离,就是这帮家伙给忽悠的:
干最少的活,拿最多的钱,甚至忽悠信息化工作者,让我感受到这个行业缺乏真正软件工程人员的悲哀.以前的小信息化系统是VB+FOXPRO什么的,到后来用delphi,到现在用java,混乱之际,就没有一家公司能静下心来,好好的完成一个软件项目,获得客户最大的满意度,没有!
都是做一个界面出来让客户去适应,而不是去追寻客户想做成什么样子.那些基于原型的开发,什么瀑布式开发,都是一句空话.5年前,想学习C#的最新技术,不是一个难的事情,webcast上有足够的资料,让你去学习了解这个框架,最少限度的重造轮子.而5年后的今天,我想重新拿起C#享受信息化的乐趣的时候,发现中文的资料少得可怜,webcast没有了,只好到寻找台版的技术书籍.而且发现有技术含量的博客,好像很大部分都是繁体的.
我对这个行业再次感觉到无比的失望,大数据成为去年立项最热门的话题,可是为什么要建,建来有什么用,怎么建的问题都没搞清楚,哗哗的出现了一堆云,实话说我到现在还没有真正的接触过这些公有云,还别说私有云了.可是服务器和存储确是异常的好卖.但是和实际最贴近的企业信息化,政府信息化的工作就剩下一些技术含量不太高,多年不创新的小公司去承担.别说小公司不创新,就连注册资本几个亿的大公司也不创新.
走在大街上,看到一部部的ios设备,我们知道我们的生活被苹果改变了,而作为山寨的安卓设备结合山寨的国度,同时影响着我们的生活.但是,一个概念,一个设备之所以能够改变我们的生活,必然是这个技术从用户出发,方便了用户,而不是假定用户需要,让用户去适应你的设备.这便是IOS到现在仍然大卖,安卓设备怎么做也未能扭转局面的根本原因.似乎小米做了尝试,但是这是一个天生有缺陷的产品,无论外包装怎么好,都会有打回原形的一刻.
我们的信息化工作走得太快,技术跟不上,概念就来了,什么时候我们能像我们的台湾同行一样敬业,一样热爱这个工作,一样的专业化工作的时候,那个时候才是中国软件行业的春天.
动物园南门2013.5.18——————bonjour,moi amis