软件架构师的12项修炼
程序员文章站
2022-03-02 21:37:02
...
《软件架构师的12项修炼》内容简介:每一位软件开发人员都有一个架构师的梦,但为何真正的软件架构师却寥寥无几?软件开发人员更容易在技术上有所积累和突破,但是技术上的精湛并不足以使你成为一位优秀的软件架构师。合格的软件架构师究竟应该具备哪些能力和素养?本书科学而系统地归纳出软件架构师应该具备的完整能力模型,该能力模型呈一金字塔结构,共分为4层:位于最底层的是技术技能,是软件架构师的基石,属于硬技能;从下往上的三层分别是关系技能、个人技能和商务技能,这些都属于软技能。由于硬技能会随着具体技术领域的不同而千差万别,因此本书假定读者已经具备了这方面的技能;但其他3大方面的软技能却在每个技术领域都适用,是每一位软件架构师的必修课,这是《软件架构师的12项修炼》的核心内容。
为了便于认知和实践,《软件架构师的12项修炼》将3大方面的软技能分为12项:关系技能包含文雅的举止(在任何环境下都能与人文雅相处的能力)、沟通(与人有效交互的能力)、协商(将事情办成的能力)、领导力(通过施加影响力将事情办成的能力)和政治(“政治场合”与人交互的能力)等5项;个人技能包含透明化(使自我、团队关系和项目透明化的能力)、激情(激发和保护激情的能力)和语境切换(将注意力迅速切换到新语境并保持专注的能力)等3项;商务技能包括商务知识(读懂商务语言的能力和了解产品与顾客的能力)、创新(如何通过学习和思考来创新的能力)、实用主义(抓住关键问题的能力)、认知(认知目标、战略及合作伙伴的能力)等4项。
《软件架构师的12项修炼》不仅帮助软件开发人员系统地学习如何修炼这12项软技能,而且还能让他们进一步理解软件架构师的角色和本质,使他们最终突破技术的“天花板”,成为一名合格的软件架构师。
译者序
前 言
致 谢
第一部分 关系技能修炼
第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
企业级项目实战(带源码)地址: http://zz563143188.iteye.com/blog/1825168
资料下载地址: http://pan.baidu.com/share/link?shareid=372668&uk=4076915866
资料下载地址: http://pan.baidu.com/share/link?shareid=372668&uk=4076915866
收集五年的开发资料下载地址: http://pan.baidu.com/share/home?uk=4076915866&view=share
上一篇: 微信如何将小程序放入聊天顶部
下一篇: 学习微信小程序的书有哪些