SunBo

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

看了很多CUer打算放弃IT,从事其他行业,在这里尊重个人选择,祝他们发展得很好。
不过有些观点明显是不正确和不合理的,那就是30岁后技术就会抛弃你,公司也会抛弃你。这里我要从两个方面来说明。
个人感觉搞技术的对技术的认识分为两个层次,一是面向技术本身,二是面向需求。
刚毕业的学生基本都是面向技术本身的层次,从讨论学C#好还是学JAVA就应该知道,他们是在追求技术本身,而非任何软件需求。那么要开发一个应用软件,用C#编程还是java编程呢?当然都可以了,很多时候就看客户的选择。而初级技术职位,他们的职位要求标志也正是你会什么开发语言,什么开发平台,所以很多面试之前还有笔试,毕竟初级职位的要点就是根据设计要求,在原来架构上进行一对一的开发而已。
那么来看看中高级技术人才和职位,一般都是在考虑搞哪个方向,职位则要求类似有某某大项目经验优先,善于团队交流等,基本会采用纯面试方式(少数公司可能还是会有笔试,号称公司文化,不作更多评价),通过面试,了解你在项目中做了什么,当中碰到了什么问题,如何满足需求,如何应对客户需求变化或者客户不合理的要求,还可能讨论你对某某软件领域的理解,在哪些方面有改进和优化空间。
其实从比较来看,进入中高级阶段后,技术本身只是基础,技术的目的都是围绕需求。就象看见老外写的shell脚本来调度和管理数据库作业,他们的脚本很简洁,象正规语言一样,根本找不到awk,sed的高级用法,那你说他们技术落后,还是什么呢?其实不然,因为他们是面向需求的,只要能完全满足我们设计好的系统逻辑,能满足系统效率,是否高级用法又有那么要紧么?而且平常的用法,是软件管理的需要,因为每个块都有注释,人人可以看得懂,软件的延续性强。
那从我自身谈谈企业应用软件系统的感受(主要是BIDW领域),产品有数十种,主流数据仓库5种数据库产品,而产品几乎每2年左右就有一次版本升级,有新的功能,数据库本身也在发展,甚至出现专门针对数据仓库的数据库产品,而编程语言也五花八门。如果要一直面向技术,那一辈子都被技术追赶着,还搞不定新技术,还没刚毕业2年的熟悉某种产品。
那30岁后就被淘汰了?首先看BIDW行业中,客户的需求到底是什么,这些产品、编程语言和数据库在这个方向的位置。企业想要的就是通过数据仓库的建设,循序渐进地实现BI和数据集成。实现BI干什么,为啥要数据集成?一是为了企业级角度的数据分析和挖掘,二是方便其他系统的创新,比如企业计划系统,数据源自数据仓库,同时也把结果放回数据仓库进行对比综合分析,也可以企业多系统在数据仓库里形成统一的企业数据视角,还可以实时跟踪企业重要业务的变化。
了解到这个层次,于是我就在想,这些产品各个功用是什么,为啥要产品升级,多了哪些功能?通过不断地思考,我既可以自己上手开发,也能专心于规划和设计、管理,让他人去实现。也许我对新产品的功能不够精通,但要紧么?我只要知道我想要什么开发效果,工具能做什么,如果工具不行或者我不够熟悉和了解,我可以用存储过程或者shell等去代替。
同样对于数据建模技术,也是为了实现客户的需求。维度模型突破传统的第三范式建模思想,就是为了我们在查询、分析企业数据的时候发现,多个大表太多的关联会导致效率很低,于是建模技术出现专门针对这个需求的有相当冗余的,面向事物特征和行为的建模技术,用空间换时间,我想当初如果没有那么复杂的报表需求,也不会出现这种建模思想。
而我们对数据的汇总,目的就是为了减少对数据的重复计算,而把计算结果直接存放到数据库里,让最终用户更快地查询。发展初级,这种方式很奏效,不过后来人们发现,汇总后的数据无法回原到原子数据,如果需求变化了,汇总规则也需要变化,需要人们想到了多层次建模,直到现在一些500强企业大项目的数据层次达到10层左右,这些应用技术的发展,也属于需求驱动。
通过我的介绍,大家好觉得搞技术,30岁后不是被技术淘汰,就是被公司淘汰么?

posted on 2010-07-21 02:07  SunBo  阅读(293)  评论(0编辑  收藏  举报