枫叶交流论坛



 
标题: IBM架构师为何以及如何成为了架构师 和IBM体系结构专家亲密接触。了解他们为何要做目前所做的事以及如何达到目前的职位。探索他们职业生涯
admin





UID 1
精华 0
积分 4707
帖子 3656
阅读权限
注册 2006-12-23
状态 离线
发表于 2007-4-28 21:19  资料 短消息 
IBM架构师为何以及如何成为了架构师 和IBM体系结构专家亲密接触。了解他们为何要做目前所做的事以及如何达到目前的职位。探索他们职业生涯

作者: DW,  出处:developerWorks 中国, 责任编辑: 叶江, 
2007-04-26 13:00
  和 IBM 体系结构专家亲密接触。了解他们为何要做目前所做的事以及如何达到目前的职位。探索他们职业生涯中遇到的种种曲折,了解他们如何通过这些经历最终进入 IT 体系结构领域中……

  引言:杂家还是博学家?

  长大后,您想干什么?虽然我已经工作了很长时间了(已经到了不愿意公开自己的工作年限的地步了),我仍然在考虑这个问题。或许您也是这样。事实上,如果您和我一样是生育高峰期出生的,您可能将不断问自己这个问题,给出各种不同的答案,直到有一天极不情愿地被推入退休队伍中为止。

  本月我们将询问专家组一个类似的问题(不过我们将问的是他们的过去,而不是他们对将来的看法):

  为什么您觉得 IT 体系结构方面的工作适合您,为了成为架构师,您走过了什么样的路?

  正如您将看到的,IBM 技术带头人也经历了同样的心路历程。事实上,他们似乎都有一个共同的特点,就是始终都在积极地尝试获得新的经验和知识。或许这使得他们有些像杂家, Grady Booch 就使用这个词来描述自己,而这又被 Merriam Webster 定义为“闲人”或“不安分的人”。(此处并不是说“不诚实或没用的人”。)更可能的是,这使他们成为博学家(即 Merriam Webster 所说的“具有各方面知识”的人)。他们日子过得似乎都不错!

  对于希望成为 IT 架构师的普通人,这可能会使他们望而却步。那么,究竟在 IT 领域中工作的哪些人如此有创造力而同时又过得这样快乐呢?但他们每个人都是很久以前从普通人开始一步步做起的。他们并不是一下子就获得了成为 IT 架构师的所有技能,他们经历了漫长而艰难的过程,并深入各种不同领域才得到了所需的技能。设计方面也是如此。其他人则是在尝试了其他角色后才选择这个职业。

  考虑到我们的专家组成员对新鲜事务的好奇心,我忍不住认为这可能并不是他们中的任何人的最终归宿。如果我们要讨论的是他们以后的职业生涯,我想会发现他们在将来承担起新的任务、对新的挑战发起攻击。我们都经历了很长的成长过程,但我认为他们有可能还会继续这个过程。因此,如果下次问他们这个问题也会非常有意义:“长大后,您想干什么?”让我们拭目以待吧。

  放下清高,亲近现实

  任何方面都能推动架构师的工作:客户、他的团队、体系结构、小故障和各种问题。我认为体系结构更多的是一种态度、完美地建起软件“大厦”的热情,但现实却往往使得这不那么完美。不过,追求完美的想法与现实之间的平衡会让架构师保持一定的清醒态度,因为他必须向客户交付一个正常运行且性能良好的系统。

  回忆:我看到自己参加会议、在白板上画图、处理一个接一个的问题。在团队的帮助下,我尝试利用过去所积累的知识在问题领域中的各种力量和约束之间求得平衡。模式?或许吧。我喜欢体会团队活力在周围流动的那种感觉——每一分钟,我都能在同事仔细描述各种情况的细枝末叶时获得启发和学到新的东西:为什么这个情况略有不同,因而必须修改模式,以处理实际情况。

  编写代码的日子:编写代码是孤独的探寻过程。这个探寻过程同时也是永不停止的。有时候还没有回报。找到错误,会得到表扬。如果最终的交付内容/版本中没有错误,则不会提到这些代码中的重要性和您在其中投入的精力!

  我喜欢编程——不过现在很少进行此类工作了,仅在学术中需要时才会做这样的工作。处理项目时,我已不再进行代码编写工作了。

  香港,1980 年:我开始使用 BASIC 和 Fortran 进行编程。我非常喜欢编程。转眼到了 1995 年,我开始进行 Java™ 编程,享受接口实现和松散耦合所带来的纯粹乐趣。但应该如何设计系统结构呢?

  即使获得了最好的运行代码,仍然需要一个能够承受非功能需求冲击的结构。因此,您需要能够对各种相互冲突的约束进行权衡,在重复考虑当前情况的细微差异的前提下进行决策。

  我比较认可“模式生成体系结构”这样的学术流派。从蓝图(一组基本模式)开始,然后根据自己的实际情况进行扩展和自定义。这就在最佳实践和现实具有特定的无名品质(QWAN,Quality Without a Name)之间获得了最佳的平衡点,这一点我非常喜欢。

共2页。 1 2 :
顶部
[广告] 全新不用K线图的傻瓜股票分析软件财富股市侦探准确性高www.cf008.com
admin





UID 1
精华 0
积分 4707
帖子 3656
阅读权限
注册 2006-12-23
状态 离线
发表于 2007-4-28 21:19  资料 短消息 


作者: DW,  出处:developerWorks 中国, 责任编辑: 叶江, 
2007-04-26 13:00
  和 IBM 体系结构专家亲密接触。了解他们为何要做目前所做的事以及如何达到目前的职位。探索他们职业生涯中遇到的种种曲折,了解他们如何通过这些经历最终进入 IT 体系结构领域中……

  和杂家一起旅行

   并不是我决定要做一名架构师,而是我从事的工作所涉及的内容正是我们目前所称的体系结构方面的东西。

  开始的时候(大部分时间,甚至到现在也是如此),我们并不进行“体系结构设计”。我们只编写程序,其中的任何体系结构都是意外出现的。

  我在 14 岁时编写了第一个程序(使用的是 Fortran,当然我对于良好的设计所知并不多,体系结构方面懂的就更少了)。上大学时(最初在 Air Force Academy,后来在 Santa Barbara 的 University of California),我遇到了当时形成了深度设计的早期理念的很多人:David Parnas、Mary Shaw、Tony Hoare、Edsger Dijkstra 等。刚刚二十岁出头的时候,我担任过一些相当大(甚至按照今天的标准也可以这么说)的实时分布式系统的项目工程师和项目经理的角色,为美国军事航天项目提供支持。

  1982 年退役后,我加入刚刚创建的 Rational®,参与了 Ada 项目的大量工作。我的大部分时间都奔走于美国各地,与合同客户和军队协作,以帮助他们应用软件工程的最佳实践以及这个新兴的语言。

  我一直是个杂家,出现在科学所指引的地方。我逐渐发现商业领域的很多组织开始邀请我帮助他们进行类似的工作,因此我开始偏离 Rational 的核心业务,将我的精力投入到这个更大的领域中。也大约在这段时间,我撰写了第一篇有关面向对象的设计的论文,并开始编写我自己的第三本书(与此主题相关)——其中所有内容不过是对我通过这些项目得到的经验的总结。我还与 Bjarne Stroustrup 进行了合作(他是 C++ 的发明者,我们甚至还一起去参加了全国性的巡回演讲),因为我们发现他的语言设计方法和我的系统设计方法非常相似。

  在那段时间里,我仍然进行编程工作:我使用 ObjectPascal(在 Mac 平台上)编写了 Rational Rose 的原型,并采用 Smalltalk(PC 平台上)编写了第二个更为完整的版本。Dave Stevenson 和我是第一个 Rational 建模产品的架构师(采用 C++ 编写;这对 Rational 是一项突破,因为之前的所有产品都是使用 Ada 完成的)。

  这些产品进入市场后,我再次承担起作为架构师和体系结构指导人的角色,为我们的一系列最大的客户服务。在此期间,我受到 Philippe Kruchten 的工作的很大影响;他领导进行了早期的流程设计等方面的工作,同时他还是 Canadian Air Traffic Control System 的首席架构师之一。他也参与了有关体系结构描述的 IEEE 标准方面的工作。

  最近这些年,Kent Beck 和我组织了名为 Hillside Group 的模式研讨会;这个研讨会今天仍然是模式文化的重心。我是 World Wide Institute of Software Architects (WWISA) 的最早成员之一,同时也是后来成立的 American Institute of Software Architects (AISA) 的第一批成员之一,这两个组织都致力于发展软件体系结构实践。

  这段时间里,随着 Rational 的业务全面纳入 IBM 中,我也回到了我原来进行的体系结构方面的工作。我不仅对 IT 体系结构感兴趣,而且也对软件密集型系统的每个领域的体系结构原则感兴趣。体系结构方面仍然有很多东西我们不知道——它所代表的东西、它所不能代表的东西、如何最好地表示它、体系结构级别存在何种模式等等。因此,我花费了大量的时间通过实践和研究来进行学习。在实践方面,我仍然继续担任我们客户(甚至也包括尚不是我们客户的组织)的架构师兼体系结构指导人的角色。在研究领域,我正在编写 Handbook of Software Architecture,该书的目标是确定各种有意义的软件密集型系统的体系结构。我与 Software Engineering Institute (SEI) 的体系结构人员进行了大量的合作。同时,我也非常密切地关注着 Murray Cantor 在系统工程方面的进展。我在尝试帮助人们记住,“SOA” 中的“A”表示“体系结构”,另外还参与了一些新兴商业和行业体系结构标准方面的工作。

  我仍然在进行编程工作(大部分时间都是用 Java),但我想自己现在终于知道了如何设计我所编程的系统的体系结构。

……

共2页。 9 1 2
顶部
[广告] 全新不用K线图的傻瓜股票分析软件财富股市侦探准确性高www.cf008.com
 


当前时区 GMT+8, 现在时间是 2008-12-2 03:39

    本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.0.0  © 2001-2006 Comsenz Inc.
Processed in 0.095903 second(s), 6 queries

清除 Cookies - 联系我们 - 枫叶技术支持. - Archiver - WAP