人在江湖

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  82 Posts :: 10 Stories :: 169 Comments :: 0 Trackbacks

    Java用来解决业务问题,实现商业价值。我们工作的过程,总会接触并接受一些领域知识。领域知识往往很复杂,有时真要学好一门领域知识比驾驭一种编程语言要花更多精力。这就是为什么业务专家总是身价很高,掌握领域知识的门槛本来就不低。深刻理解领域知识有利于设计并实现程序。这个道理很简单 —— 我们通过java抽象领域对象,如果没有对领域的深刻理解,怎么能分得清应该有哪些domain object,它们的behaviour应该是什么?写程序时尽量做简单又灵活的设计。“简单”和“灵活”本来就有一定程度的矛盾,不理解领域知识就没法预见潜在的扩展点,容易设计不足; 处处盲目预留各种各样的扩展点实际上就是过度设计。所以好的程序设计不光需要懂得分层, ooad,pattern, strategy, bo,vo,dto…还必然要基于对业务知识的深刻理解。Domain Driven Design的思想也非常强调程序员对领域知识的学习。一个不可回避的问题是,新学一门领域知识,很难一下把握清楚,1月份对某个概念有了一定理解,5月份时发现当初自以为理解清楚了,其实有偏差,那么这四个月里写的程序可能根本就基于错误的assumption, 很多设计和实现又要推倒重做。所以比较理想的情况是,程序员就专门深入研究某一个领域,从此就混迹这一个领域。表面上这样限制了程序员混饭吃的门路,实际上只有这样才有利于在技术上有更深层的修为。当然一些技术天才走的是另一条路,Rod Johnson,Gavin King他们能做出来影响深远的framework,万人景仰,那靠的是纯粹的对技术的深刻理解,还要耐得住性子strive for the goal把想法实现出来。有这种天赋的人去搞物理,生物,化学也能很成功,还能得诺贝尔奖呢。

    那么接下来要要解决的问题是,怎么选择一个好的方向去学习领域知识。gartner之类的时常搞一些这方面的调研,比如十大有前景IT技术之类的。他们预测的未必准,但是读一读这方面的资料你自己也能感受到什么方向至少能长期混口饭吃。我直到最近才开始投入学习领域知识,商业智能是个很合适的方向。

    商业智能就是Business Intelligence, 简称BI,只是这个缩写容易被当作关键词给过滤掉,所以这篇文字的标题仍然写全称。

    信息爆炸会越来越严重,以后必然是数据的社会,BI可以从海量数据中获取价值,这会是一个相对常青的行业。更现实的是,我正好在做BI的公司工作,可以很方便地接触到相关软件,身边也有这方面的高手可以提供指导。看到人家如何分析问题,建立模型解决问题,就有种强烈的感觉:这才是能赚钱的本领。

    BI的基础是统计和数学分析,公司里不少人是学统计出身的,连CEO也是。咱程序员多数在学校里学的是计算机,这方面比不上统计专业的人, 算是先天不足。但是我简单地算了一下帐,发现这种不足不难后天补齐。如果初级目标是赶上统计专业的本科生,据推断,统计专业的人第一年不可能学上统计学,因为高等数学是统计学的基础,统计学中讲分布函数和分布密度需要用到微积分,极大似然函数也要用到微积分,所以计算机专业的和统计专业的第一年没啥差距。而我们在学校也学过统计课,那么我们和统计专业的差距主要集中在大二下学期之后的时间,大四通常没啥重要的课可以讲,咱们跟统计专业的也就差一年多的学习课程,这里还包括很大一部分马克思主义哲学之类无关的课,所以如果咱们勤奋一点,追齐统计专业的本科生只需要大约一年的时间,也许还可以更短。

    大学学的微积分,线性代数和统计学早就还给老师了,首先要复习一下这方面的东西。前段时间刚复习完微积分,统计学和一半儿线性代数。分享一下资源:

微积分之倚天剑 屠龙刀: http://ishare.iask.sina.com.cn/f/6933932.html

线性代数和概率统计: http://202.113.29.3/~gdsxjxb/wlkj/windows/artsmath/main/index2.htm

统计: http://ishare.iask.sina.com.cn/f/5773491.html

    接下来还要掌握data mining的过程和方法,这个可以沿着SAS的semma理论学习,sample, explore, modify, model, assess。每个方面都大有学问。还需要学会使用相关的工具,比如enterprise miner. 正在学习SAS编程。最后要跟定某个金钱无数的行业继续深入学习,比如银行业。

    学这些不是为了转行抢业务专家的饭碗,那太难了,毕竟没有合适的环境。已经在Java上投入很多精力和时间,好不容易积累一些技术实力,Java仍然是闯荡江湖的一项资本,目标是做BI方面产品的架构师,遇到合适的位置,就无可替代。与各位同行共勉!

posted on 2011-07-11 08:46 人在江湖 阅读(1993) 评论(0)  编辑  收藏 所属分类: BI

只有注册用户登录后才能发表评论。


网站导航: