人和人的差距是很大的,公司和公司的差距也是很大的,有的公司,某一项技术的应用已经非常成熟,已经有现成的产品,且有了广泛的市场,有的公司,还在为发达公司三年前的技术问题头痛不已,更多的小公司,技术牛人在解决着各种各样的问题,程序员在写着重复的代码,效率低下。
这就是中国软件的现状吧,处于高端的软件公司和处于中端的软件公司相比,在技术上,至少领先一年,而对于软件行业来说,一年可是不小的差距。A公司在国内也算规模较大的了,在某些行业也算老大,但是它的技术水平和高端公司相比(比如IBM)相比,差距岂是一般的大?
举例来说,07年A公司做的软件,用到工作流的技术,工作流的技术据我所知在4,5年前兴起的吧,A公司研究这个的很少,发展也就很缓慢,而工作流的技术却是协同办公(如公文流转,审批等)的核心和亮点,不久,这成为新产品研发的瓶颈,工作流的技术问题成了新产品推向市场的最大障碍,工作流技术薄弱的产品,就好比鸡肋,食之无味,弃之可惜,也直接导致了产品的失败。而最近接触到IBM domino的产品才发现,其实IBM早就已经有了成熟的技术,而且,它的很多技术可以直接拿来用,我想如果是在这个基础上去做扩展开发,是不是可以事半功倍?
我现在想,作为这个产品的技术经理,宁可去购买现成的IBM产品,也不会自己来研发,毕竟,A公司是面向业务研发的,没有足够的人力和时间来作技术的钻研。
当然,他们有专门的技术部门,要培养它专门的技术部门,要加大它们和高新技术公司的合作力度,减少弯路。
其实,在技术方面他们也是这么做的,但这样的技术部门,就有了另一个问题。如果控制不好,很容易误入歧途,在技术不成熟的时候,就提供自己的技术成果给盈利部门使用,那后果不堪设想。
所以,一个公司的管理啊,导向很重要,要么是专门做技术的,要么是专门做业务的,二者皆可也不是不可,但需要在条件成熟的时候,不能看到盈利就眼红,或者不能看到要购买别人的就要自己研发。说起来很容易,但是,真正做到很难的,如果公司的政策不扶持,技术部门不盈利何以存在?如果业务部门的产品经理视野不够宽广,或者业务部门的manager是个拼命三郎,那自己研究技术是再正常不过了。
还有小的软件公司,在中国,特别是上海,这样的软件公司就更多了,我没有在这样的公司待过,只是听同事描述,还是停留在一个eclipse,一个开源框架打天下的阶段,(但我想这些员工的水平一定很高的),公司研发的产品只是满足单一业务的需要,其他的集成之类是需要大量的代码来返工的。但他们不一定非常需要先进的技术,因为有的软件是面向小公司的,它可能就只需要一个简单的业务软件,但我相信,以后他们一定会需要,因为随着它们的发展,随着它们服务的对象的发展,高效的开发工具就会有极高的需求。
这就好像自然规律一样,任何事物都会经历从无到有,从小到大的过程,个个阶段,它会需要不同的东西,实现它的生存。
就比如,卖soa系列产品给一家便利店,就好像给一个小孩子,讲现在买养老保险,是为了60年以后他退休了,可以有什么什么好处一样。你会买吗?