一点想法
国内的软件企业,从来没有像国外那样,在技术上保持连续性。从最早的DOS->Win16
->Win32->OLE->DCOM->COM+->.NET,我们很难找到能够完整走完这个历程的人。这种
现状,导致大部分的技术人员,对于开发技能,有一个很大的断层:知其然,不知其
所以然;碰到非source code的错误,就手足无措;或者代码质量低劣,或者性能有很
大瓶颈。
其次,“也许是”文化、时代的使然,浮躁心理甚嚣尘上。纵观现在的两大技术阵营
,首当j2ee,其次是.net,什么东西新,就学什么,各种名词术语满天飞。技术是为
了解决问题的,不是为了技术而技术的,这个问题很多初学者也没有考虑过。
我在招聘的时候,看过的简历很多,“精通”二字随处可见。做过半年网页,就说精
通ASP,用Application Block里面的database写过一个BBS(源代码大部分还是从网
上找到的),就说精通.NET。
像通软、UFSoft、Kingdee的软件公司,在国内还是很少的。即使在上述公司里面,大
规模的技术应用也才几年,刚起步而已;软件过程的管理,刚由混沌到有序(CMM的影
响甚深)到迷茫(如何结合自己的实际情况达到高效?)。技术+管理,两者都还在一
个很痛苦的过程中。而且这种痛苦,是伴随着企业在生死线上苦苦挣扎,阵阵的。
对于管理问题(尤其是开发过程管理),还未见到一个好的模式。或者说,一个可以
被其他软件公司复用的方法。牵扯到流程的东西,最终的决定因素还在于人。
对于技术问题,一般有三种解决办法:小圈子内解决(同事、朋友等);网络寻求答
案(google、csdn社区等);找上游开发厂商(如我们给微软提case、给oracle提
tar)。
最后一种办法,是最高效的,但是花费不菲。前两种,时间搭进去很多,效果一般不
好。
看国外的很多计算机书籍,著者很多都是某某软件咨询公司的CEO。由此我会想到,作
技术方面的咨询公司,未来是一个很好的方向。国内只有技术培训,没有技术指导。
北美的经验,尤其在软件产业上的经验,我相信会在未来的某个阶段(如现在),对
我们有很大的指导意义。
某个项目,或者某个一般性产品,Architect应该如何设计?对应的项目管理应该如何
考虑?关键代码的Security,适当的Patterns,如何进行review?产品release之后
,突出的Performance问题如何在客户现场解决?如何避免病毒、木马对我们应用程序
的干扰?
上面的问题,很多软件公司都会关注,但是他们自己没有实力来解决。也很少有公司
能像通软一样,每年花几百万的购买M$和Oracle的服务,来解决这些问题。
这里面其实就有了一个商机,更准确的说,一个空档。找一些适当的人,专门作软件
公司的咨询活动。这就犹如SAP的很多大客户一样,最终他们的信息中心、业务人员,
成为了管理软件领域的第一批布道者、创业者。
国外现在有一些大厂商资助的、免费的类似组织,它们的盈利模式就是靠大厂商赞助
。但是还没有到国内来,即使来了,效果会如何?现在还不得而知。