![软件架构师的12项修炼 [平装]](http://ec4.images-amazon.com/images/I/51RRNAjWilL._SL500_AA300_.jpg)
编辑推荐
《软件架构师的12项修炼》编辑推荐:优秀软件架构师必备的12项软技能大公开;助你成功走上架构师并成为优秀的架构师之路。
作者简介
作者:(美国)亨德里克森—ave Hendricksen) 译者:张菲
亨德里克森 Dave Hendricksen,全球三大咨询提供商之一汤姆森路透集团(Thomson Reuters)资深软件架构师,拥有近20年工作经验,在软件架构方面颇有造诣,尤其是在软件架构师们普遍缺乏的软技能方面。他结合自己多年的经验,总结出了“软件架构师的金字塔能力模型”。他拥有数学和圣经两个专业的学士学位,以及计算机科学和技术管理专业的硕士学位。
张菲,资深软件开发工程师和网络工程师,拥有超过15年的从业经验,经验十分丰富。业界知名的科技图书译者,曾经翻译了《代码大全(第2版)》(合译)、《程序员修炼三部曲之三:项目自动化之道》和《编程卓越之道:第二卷》等经典著作,深受读者好评。他还擅长计算机硬件产品的研发,在微电子和光电通信方面有一定的研究。此外,他还在《计算机世界报》等IT媒体上发表了多篇技术文章。
目录
译者序
前 言
致 谢
第一部分 关系技能修炼
第1章 文雅的举止3
1.1 别人怎样评价你3
1.2 技术之天花板4
1.3 变得文雅、专业的途径6
1.3.1 注重关系甚于争执孰对孰错6
1.3.2 学会委派8
1.3.3 生活是有反作用的9
1.3.4 有效沟通之生与死11
1.3.5 要正直诚实而不是率直13
1.3.6 不要掩盖问题—它们以后还会冒出来的14
1.3.7 提供专业的服务16
1.3.8 忘掉以前的冒犯17
1.4 小结19
1.5 参考资料19
第2章 沟通22
2.1 沟通原则23
2.1.1 先听后说24
2.1.2 专心致志24
2.1.3 正面思考25
2.1.4 尽早道歉25
2.1.5 不要在缺陷上招致恼羞成怒26
2.2 沟通策略27
2.2.1 多说“是”,少说“不是”27
2.2.2 在销售过程中建立起信任关系28
2.2.3 特殊场合才说“不”29
2.2.4 抑制想自卫的冲动31
2.2.5 倾听建议来改善合作31
2.2.6 了解别人和自己的沟通需求32
2.2.7 才思敏捷34
2.3 与执行官沟通35
2.3.1 执行官需要信任、忠诚和连贯性35
2.3.2 清晰性甚于完整性36
2.3.3 不要让执行官感到惊讶37
2.4 小结38
2.5 参考资料39
第3章 协商41
3.1 协商原则42
3.1.1 不要让人惊讶42
3.1.2 不要模棱两可43
3.1.3 委派权威而不是义务43
3.1.4 有困难时寻求帮助44
3.1.5 不要掩盖问题44
3.1.6 即使很难,也要坚持做正确的事45
3.2 协商策略45
3.2.1 倾听你的内心呼唤45
3.2.2 设法同意45
3.2.3 不要找分歧47
3.2.4 寻找共同点47
3.2.5 如果无法达到一致,就让所有人稍微不满吧48
3.2.6 将协商作为一种改进措施49
3.3 协商前的工作49
3.3.1 知道哪些是可协商的49
3.3.2 了解如何在单位里游刃有余51
3.3.3 关键决定上寻求合作氛围52
3.3.4 学习文化53
3.3.5 让别人明白你的想法53
3.4 协商的收尾54
3.4.1 捍卫决策的执行54
3.4.2 维护架构决定记录54
3.4.3 你有时会赢,有时会输55
3.4.4 从委派中学习56
3.5 小结56
3.6 参考资料58
第4章 领导力60
4.1 领导力的原则61
4.1.1 建立信任关系61
4.1.2 建立共识62
4.1.3 建立战略伙伴关系(通过关系带来安全)62
4.1.4 要身体力行(为你所说的话带来安全)63
4.1.5 感知风险、评估影响、做出行动(明确风险的清晰度)64
4.1.6 适当处理风险:什么是鞭炮,什么是原子弹(明确影响的清晰度)65
4.2 领导策略66
4.2.1 奥卡姆剃刀法66
4.2.2 展现可视化信息66
4.2.3 领导者要确保事情不跑题67
4.2.4 基于环境推销68
4.2.5 随大流(找机会利用已有的资源)69
4.2.6 关注执行官于认知,而非解决冲突69
4.3 领导的时机70
4.3.1 利用单位的动量70
4.3.2 知道何时伸出援手71
4.3.3 允许其他人学习71
4.3.4 知道何时该卓尔不群72
4.3.5 请求原谅还是征求允许73
4.4 领导别人73
4.4.1 允许别人奉献(不要命令)74
4.4.2 通过影响力激励别人76
4.4.3 确保别人能做主76
4.4.4 处理冲突77
4.5 小结77
4.6 参考资料79
第5章 政治81
5.1 政治的定义81
5.2 政治市场82
5.3 政治环境85
5.3.1 与公司的战略方向保持一致85
5.3.2 理解你所处的文化环境86
5.3.3 及早处理别人关注的问题87
5.3.4 相信你所推销的东西89
5.3.5 不关我的事90
5.3.6 关系很重要(与别人的关系)90
5.4 政治原则91
5.4.1 宽宏大量91
5.4.2 不要为你的价值妥协92
5.4.3 光明正大地竞争92
5.4.4 透明地操作92
5.4.5 你是怎样的人就怎样表现93
5.4.6 帮助别人,不求回报93
5.4.7 认识到生活是反身的93
5.5 政治策略94
5.5.1 帮助别人达成其目标94
5.5.2 学会享受过程而不是目标94
5.5.3 在关键之处力争出色95
5.5.4 愿意就低优先级目标妥协95
5.5.5 不要对别人的糟糕举止采取冒犯的行动96
5.5.6 私下处理人际问题97
5.6 政治时机97
5.6.1 以适时的作风执行事情97
5.6.2 今天失利并不代表明天不会成功98
5.6.3 要认识到政治上你不会是常胜将军99
5.6.4 积极参与政治游戏99
5.7 成为一名好的政治人物100
5.8 参考资料101
第二部分 个人技能修炼
第6章 透明化105
6.1 住在玻璃房中的架构师105
6.2 透明化的类型106
6.3 自我透明化107
6.3.1 表现自然真诚107
6.3.2 承认自己的弱点108
6.3.3 承认你的实力和兴趣109
6.3.4 赶在人前与上司沟通110
6.4 项目透明化111
6.4.1 让执行官看到你手里所有的扑克牌111
6.4.2 架构师把透明化和清晰性带到许多领域112
6.4.3 架构师将“发现”变成“收获”113
6.5 关系透明化116
6.5.1 该信任时就给别人信任116
6.5.2 你说的话长久不变117
6.5.3 道歉表明你的透明化118
6.5.4 学会在做出反应前倾听(寻求透明化)118
6.5.5 允许别人对你透明化119
6.6 成为一名透明的架构师119
6.7 参考资料120
第7章 激情122
7.1 什么是激情123
7.2 发现激情124
7.2.1 如何找到激情124
7.2.2 恒心与激情:终极的杀手组合125
7.2.3 岗位上的激情126
7.2.4 重新点燃激情127
7.3 将激情作为向导127
7.3.1 等待机遇:它经常在找你,说话非常轻128
7.3.2 跟着直觉走129
7.3.3 选择你有激情的领域129
7.3.4 改变会督促你前行130
7.3.5 缺乏激情会成为你事业上升的天花板131
7.3.6 把难事做好,尽心尽力投入131
7.3.7 激情是提供动力的内在燃料132
7.4 保护你的激情132
7.4.1 忽略批评:这是你的激情、你的认知,不是他们的132
7.4.2 不要分神133
7.5 今天能做什么来追求你的激情134
7.6 学会投入并享受过程135
7.7 成为一名激情四射的架构师135
7.8 参考资料136
第8章 语境切换138
8.1 自我意识语境140
8.1.1 专心致志140
8.1.2 明白你的弱项141
8.1.3 生命中不仅仅有工作141
8.1.4 多任务工作的效率奥秘141
8.1.5 控制你的肾上腺素:慢下来142
8.2 架构意识语境142
8.2.1 使用“可/有…性”的字眼142
8.2.2 寻求适当的耦合性和内聚性142
8.2.3 持续构建你的语境143
8.3 “大象”语境144
8.3.1 哪些事没有提到144
8.3.2 提问一些难题145
8.3.3 早些发出坏消息145
8.3.4 如果他们拥有这个公司,他们会怎么做146
8.4 决策意识语境146
8.4.1 他们真的已经把问题解决了146
8.4.2 他们知道哪些替代方案可行吗147
8.4.3 别人是否已经权衡过此技术147
8.4.4 作为中立的第三方,即便这样做是个缺点147
8.5 交谈语境148
8.5.1 不要开会和用电子邮件148
8.5.2 如果需要,(马上)让别人参与进来148
8.6 谈话者语境148
8.6.1 了解你的谈话对象148
8.6.2 中庸之道149
8.6.3 有时要唱红脸,有时要唱白脸149
8.6.4 提供背景信息149
8.7 项目语境150
8.7.1 提出预算150
8.7.2 带来实用性151
8.7.3 学会在雪崩中冲浪151
8.7.4 挑出专门的资源151
8.7.5 你做出了哪些假设条件152
8.8 成为一名善于察言观色、见风使舵的架构师152
8.9 参考资料154
第三部分 商务技能修炼
第9章 商务知识157
9.1 了解商务159
9.1.1 营销、财务(投入产出比)和销售159
9.1.2 考虑拿一个商务学位161
9.2 了解你的公司162
9.2.1 了解产品对客户的价值所在162
9.2.2 知道你的公司如何赚钱163
9.2.3 了解你公司的历史、文化163
9.3 了解你的顾客164
9.3.1 考虑拜访顾客、打电话给销售或者在门面上帮员工干活164
9.3.2 考虑参与可用性研究,参与产品概念访谈或其他客户产品评估167
9.3.3 考虑使用敏捷技术167
9.4 了解你的领域167
9.4.1 收集领域知识168
9.4.2 在商务环境中了解你的领域169
9.5 帮助公司更好地了解技术169
9.6 成为一名谙熟商务的架构师170
9.7 参考资料171
第10章 创新173
10.1 创新的定义174
10.2 建立边界条件175
10.2.1 找出边界条件175
10.2.2 在边界内创新176
10.2.3 你会做什么(假如没有约束条件,不必故作姿态)178
10.2.4 鼓励别人思考、开放178
10.2.5 应对那些唱反调的人179
10.2.6 避开唱反调的人,找个安全的地方来思考179
10.3 发展内心准则179
10.3.1 顺从你的直觉179
10.3.2 学会信任自己180
10.3.3 认真倾听客户的声音,但要保持自己的认知180
10.3.4 听听别人的话(协作)181
10.3.5 你今天能迈出一小步吗181
10.3.6 今天不行没关系:继续埋头苦干,早晚会成功的182
10.4 组合基本概念182
10.4.1 阅读、阅读、还是阅读183
10.4.2 疯狂的主意让你发现真正的边界183
10.4.3 要有大眼光184
10.4.4 创新者的困难抉择184
10.4.5 创新与集聚:将事情按正确分组整合在一起184
10.4.6 选择简洁185
10.4.7 简洁性是知识产权的根本185
10.4.8 在着手解决前先思考问题186
10.4.9 定义问题186
10.4.10 睡觉时思考187
10.4.11 战略问题还是战术问题187
10.5 成为一名能创新的架构师187
10.6 参考资料189
第11章 实用主义191
11.1 实用型架构的定义191
11.2 范围管理192
11.2.1 与商务伙伴一起确定特性的优先级192
11.2.2 帮助执行官做出正确决策193
11.2.3 处理不确定性193
11.2.4 有些时候,你只需要一个概念就能开始干了193
11.2.5 使用敏捷过程作为一种实用主义方法194
11.3 风险管理194
11.3.1 区分可能性和可行性194
11.3.2 对于每个决定,都自问一些重要的问题196
11.3.3 应对可能的风险197
11.3.4 架构刺探197
11.3.5 与运营人员一起确定效率197
11.3.6 观察其他项目,决定有哪些地方是可牺牲的198
11.4 沟通198
11.4.1 记录下大家一致同意的决议199
11.4.2 提供多种替代方案,并推荐其中一种199
11.4.3 用透明性拉平期望值199
11.4.4 发展经验方法来估量项目200
11.5 成为一名实用主义的架构师200
11.6 参考资料201
第12章 认知203
12.1 认知之定义204
12.2 找寻和创立引人注目的目标204
12.2.1 发现认知204
12.2.2 从混沌现实编造出有说服力的故事206
12.2.3 克服障碍207
12.3 开发与建立战略路线图208
12.3.1 将路线映射至认知208
12.3.2 制定支持认知的战略209
12.4 确定志同道合的伙伴210
12.4.1 认知需要齐心协力210
12.4.2 认知要求有关键的利益相关者211
12.4.3 认知需要资金支持212
12.5 实践认知213
12.5.1 将认知当做增加投入产出比的战略213
12.5.2 使用认知灌输目标感213
12.5.3 在项目评估时就应用认知214
12.5.4 采用支出信封(界定认知范围)215
12.6 成为一名有远见的架构师215
12.7 参考资料216
序言
前言:
软的东西总是比硬的东西还硬。
—美国企业家、百事公司副董事长罗杰?恩里科
在开始阅读本书前,我希望你准备保持一种开放的心态,并渴望对日常生活尝试某些新的方法。
我叫DaveHendricksen,是ThomsonReuters公司的一名软件架构师。我的工作主要是产生智力法规信息,包括在Westlaw.com网站上从法律、法规及知识产权材料的数据捕获到数据显示过程。我和一位漂亮女士已经结
婚22年了。我们育有两个孩子,养着一只猫和一条狗,另有一个鱼塘。
作为一名吃技术饭的人,我经常觉得我自己和“平常”世界的其他人不太一样。分析式思维、关注于解决问题、构建事务、连续几个钟头玩游戏,所有这些对我来说再正常不过了。我喜欢学习新东西。对我而言,上学总是很有意思。我拥有数学和圣经专业的学士学位,以及两个硕士学位—一个是计算机科学,另一个是技术管理。
我喜欢努力工作,渴望付出任何辛劳以便按时完成项目。我喜欢听老板说:“干得真棒,Dave!”当然了,我的想法是这样的:工作出色,获得晋升。生活毕竟在某种程度上有些恐怖,至少在从技术进入管理时。总是有道看不见的屏障阻挡着大批有才能的人往上爬,或者在事业上有进一步的发展。这道神秘的屏障反映出人们软技能的缺乏,它默默地阻碍着那些人往更高的阶梯前进。
我写这本书的目的是帮助你学习必备的软技能,这些技能是你要修炼为一名软件架构师所必须掌握的。
本书假定你已经有了成为架构师必备的技术技能,因此本书不会关注此类技能。换句话说,本书着重于阐述对作为架构师日常行为非常关键的十二项必备软技能。这些技能对于有技术背景的人们来说往往是最有挑战性的技能,也是成为优秀的软件架构师必须修炼的技能。
本书的这十二项技能按三个部分来组织:关系技能、个人技能和商务技能。这种分类基于相关的优先顺序,即如果你没有关系技能,其他两组技能就不用提了。倘若你与别人或单位中的若干部门相处不好,你不大可能被提拔到架构师的位置,或者较长时间待在这个位置上。类似地,如果你没有必需的个人技能,商务技能也会无从谈起。最后,尽管所有这些领域都很重要,但从优先次序来看,假如你没有首先掌握必备的关系技能,商务技能便不会达到你期望的效果。我将这些技能看做一个金字塔,正如下图所表达的那样。
架构师的必备技能
希望你喜欢阅读本书,并且学到能使你成为架构师的新知识,这些新知识还供你成为架构师后改进技能,或者更好地理解架构师的本质和角色。如果你有任何问题或评论,尽管给我写邮件好了。
祝你过得愉快!
—Dave
文摘
版权页:
插图:
第1章 文雅的举止
行为是每个人展示自身形象的镜子。
——约翰?沃尔夫冈?冯?歌德
对人品的真正考验并非是我们知道怎么做,而是当我们不知道怎么做时如何做。
——John W.Holt.Jr.
按你想的方式行事,不久你就会有你自己的行事方式。
——George W.Cran.
作为一名架构师,你需要和单位中的各色人等打交道。要在这个位置上真正取得成功,你需要从你所遇到的每个人那里汲取上级的主意和思想。调动所有人(包括你不赞同,甚至不愿相处的那些人)积极性的最好办法之一是你在任何环境中都举止文雅、专业。
举止文雅是FIRST Robotics要求的基本技能。FIRST Robotics是一个致力于激励年轻人成为科技领头人的机构。“举止文雅”主张人们工作时显得文雅、专业。
本章揭示想要成为软件架构师的一项关键必备软技能——在所有环境下都举止文雅。
1.1 别人怎样评价你
如果我准备去见一些了解你的人,例如你的邻居、同事、家人等,他们会怎样评价你呢?
他们会说你工作努力吗?
他们会说你正直诚实吗?
他们会说你举止文雅吗?
或者,他们会列出一长串软技能清单,认为你是个典型的技术人员,在技术领域没得说,但在软技能方面却不怎么样?
1.2 技术之天花板
对于技术非常棒的人们(当你遇到难题必须解决时,向这些高手求助总能圆满解决)而言,一个挑战就是他们通常很难相处。他们与人沟通的方式或方法完全集中在细枝末节的正确性上。这种描述是不是听着有些耳熟?
通常,你很少能坚持到谈话结束,因为这些人对最小的错误变化都详细地进行分析。当你听完问题的解释,你可能已经很累了。
在他们回来时,问题以得体的方式解决了,客户很高兴。但下次你需要请他们做事时,你总是会权衡要解决问题所花费的个人成本。你会扪心自问:“这样做真的值得吗?”
到了考核的时候,这些技术大拿总是因其卓越的工作得到如潮的评价,可是通常没人注意到对他们那点糟糕的软技能的反馈,或者只是很少提及。年复一年,他们实现工作的方式被当做是优秀的。然而遗憾的是,他们在单位内往上爬的技术障碍也变得越来越大。
随着时间推移,在这个情形下的人会寻求升职,他将面临一些挑战。一个关键的困难在于,高级别的管理者不愿意被低职位的人批评。结果是,位于这种人和执行官之间的经理或主管不大乐意结交那些会揭露其短处给执行官的人。
喜欢软件架构师的12项修炼 [平装]请与您的朋友分享,由于版权原因,读书人网不提供图书下载服务