作者:埃文·考夫斯基(EvanCofsky)

在尼尔·史蒂芬森(NealStephenson)的小说《CRYPTONOMICON》(EOS出版社)里,主人公兰迪·沃特豪斯(RandyWaterhouse)把自己遇到的人分成三类。侏儒(dwarf)最勤劳,他们住在黑暗的洞穴里,孤独坚韧地制作精致的工具,并发挥惊人的力量,移山填海。他们以精湛的手艺著称。精灵(elf)最有风度和修养,他们擅长制作新奇的魔法物品。虽然他们天赋很高,却不知道其他种族把他们的作品看成是异类。巫师(wizard)与这个两种族不同,他们拥有无限的魔力,他们比精灵更了解魔法的秘密和力量,能够施法创造奇迹。此外,还有第四种人,沃特豪斯虽然提及却没有明确归类,那就是国王。国王拥有团结所有种族的能力。

软件架构师就好比国王,应该熟悉各种人的性格特点,招聘不同性格的人加入自己的团队。由一帮性格相同的人设计的架构只能吸引同样性格的人加入团队,既使你拥有一帮最棒的“侏儒”(“精灵”或“巫师”),也会由于视野不够宽阔,只能用单一的方法解决问题。

英明的国王知道怎样用目标来激励不同的种族,率领大家并肩作战完成任务。如果没有目标,团队看不到希望,就会起讧;如果大家的特点相同,只能解决一类问题,也无法完成最后的解决方案。

架构师安排任务时,就应该考虑所有开发人员的性格特点。从这个角展来看,架构是一个指南,为不同性格的团队成员按排合适的任务,让大家在工作过程中相互学习。如果大家有机会充分磨合、相互适应,就能轻松化解各种难题。

侏儒、精灵、巫师和国王相关推荐

  1. 收藏!架构师需要掌握的99条铁律

    经常有人问我:我是多少年某某行业工作经验,我现在是去创业公司做技术总监还是去大公司做架构师?我发现我都无法回答这个问题.因为多少年某某行业工作经验,并不能解析为具有怎样的知识结构和掌握的能力数量和深度 ...

  2. [文摘20100706】软件架构师应该知道的97件事

    本文转自:http://www.kuqin.com/system-analysis/20100502/84353.html 1.  客户需求重于个人简历 ( Nitin Borwankar ) 客户需 ...

  3. 软件架构师应该知道的 97 件事

    软件架构师应该知道的 97 件事  1.客户需求重于个人简历(Nitin Borwankar)          客户需求至上.为了自己的简历更炫而采用新技术是沽名钓誉,往往事与愿违.         ...

  4. 软件架构师应该知道的97件事

    原文出处:http://blog.csdn.net/seanbv/article/details/5451705 软件架构师是个让人羡慕的职业,在市场经济成熟的国家,其薪酬已经达到医生.律师.注册会计 ...

  5. 软件架构师应该知道的 97 件事笔记

    1. 客户需求重于个人简历 不要为了学习新的知识或丰富自己的简历而选择新技术解决问题,要尽量选择切合实际的技术解决客户的难题.脚踏实地的为客户着想,选择正确的方案可以降低项目的压力,团队工作起来更开心 ...

  6. 架构师需要掌握的99条铁律

    经常有人问我:我是多少年某某行业工作经验,我现在是去创业公司做技术总监还是去大公司做架构师?我发现我都无法回答这个问题.因为多少年某某行业工作经验,并不能解析为具有怎样的知识结构和掌握的能力数量和深度 ...

  7. 转:软件架构师应该知道的97件事

    1.  客户需求重于个人简历 ( Nitin Borwankar ) 客户需求至上.为了自己的简历更炫而采用新技术是沽名钓誉,往往事与愿违.   2.  简化根本复杂性 ,消除偶发复杂性 ( Neal ...

  8. 【推薦】帮你炼成软件架构师的97件事

    [IT168资讯]软件架构师是IT 行业里独一无二的职业,既要精通软件开发技术,又要掌握业务知识,还要周旋于公司不同部门之间,协调各种予盾.做到这些绝非易事, 博文视点 即将翻译出版的新书<软件 ...

  9. (转)软件架构师应该知道的97件事

    软件架构师是IT 行业里独一无二的职业,既要精通软件开发技术,又要掌握业务知识,还要周旋于公司不同部门之间,协调各种予盾.做到这些绝非易事, 博文视点 即将翻译出版的新书<软件架构师应该知道的9 ...

最新文章

  1. 深度学习仍是视觉大数据领域的最好分析方法之一
  2. Linux命令:less
  3. ElasticSearch 2 (26) - 语言处理系列之打字或拼写错误
  4. Entity Framework Core 2.0 特性介绍和使用指南
  5. 用U盘作为启动盘做系统步骤
  6. (2)WePHP 控制器与使用模板
  7. 零基础带你学习MySQL—MySQL常用的数据类型(列类型)(五)
  8. kuberneters dashboard认证及分级授权
  9. 深度学习-CNN tensorflow 可视化
  10. java 对文件名非法字符处理
  11. 金士顿16G优盘变8M恢复教程
  12. Tayga NAT64 IPv6与IPv4互访解决方案
  13. 如何破解winrar(可用)
  14. 多元共线性检测 -- 方差膨胀因子(Python 实现)
  15. java中黑点是什么意思_[Java教程]input输入密码变黑点密文
  16. linux 查看CPU核数
  17. 软件测试真假童子,19岁年薪千万,他打王者荣耀打成了“游戏圈的TFBOYS”
  18. EAS中的EAS License与Apusic的License区别
  19. ml基础算法参数设置
  20. 强制Layout刷新

热门文章

  1. 记录:如何解决Ubuntu20.04无法联网问题【亲测有效】
  2. python 调用另一个python文件
  3. RPG Maker MV 遇敌对战
  4. POJ 1033--Defragment
  5. iOS端如何实现带UI截屏分享
  6. AI芯片产业生态及竞争格局:英伟达、谷歌、BAT实力拆解对比
  7. 【微信小程序】java游戏后端开发
  8. C#开发实战视频教程_基于多线程C#开发QQ农场
  9. 芝诺志愿者走进养老院送温暖
  10. 第二章 项目经理评分