架构师所需的硬实力和软技能

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1.
2. 架构师所需的硬实力与软技能 演讲人:苏仕祥
3. 01 概述 目录 02 架构师所需的硬实力 03 架构师所需的软技能
4. 01 概述
5. 01 概述 项目管理的能力 技术广度和深度 问题定义与解决的能力 架构师 快速有效进行软件选型 团队管理的能力 线上问题的定位与解决 “硬实力” “软技能”
6. 02 架构师所需的硬实力
7. 02 架构师所需的硬实力—技术广度和深度 ? 技术学广还是学精?
8. 02 架构师所需的硬实力—技术广度和深度 学广怎么学?
9. 02 架构师所需的硬实力—技术广度和深度 Spring学深能学到哪些? 学深怎么学? MySQL学深能学到哪些? 中间件(Mycat、RocketMQ、Redis等)学深能学到哪些?
10. 02 架构师所需的硬实力—技术广度和深度 1 2 3 JAVA语言(数据结构、算法、类加载、多线程等) 网络处理(Http协议、IO模型) 应用部署运维(操作系统、负载均衡、高可用)
11. 02 架构师所需的硬实力—技术广度和深度 1 2 3 C++语言(数据结构、算法等) 网络处理(MySQL协议、IO模型) 应用部署运维(高可用、高可靠、数据复制、操作系统)
12. 02 架构师所需的硬实力—技术广度和深度 数据结构 算法 计算机技术 网络 操作系统
13. 02 架构师所需的硬实力—技术广度和深度 浅出 深入 抽象出共性通用的知识 快速学广
14. 02 架构师所需的硬实力—技术广度和深度 学深 抽象 融会贯通,一通百通 快速学广
15. 02 架构师所需的硬实力—问题定义与解决的能力 在解决问题之前,我们首先需要知道要 解决的问题是什么?
16. 02 架构师所需的硬实力—问题定义与解决的能力 1 3 问题定义 需求沟通 实施验证 寻找解决方案 2 4
17. 02 架构师所需的硬实力—问题定义与解决的能力 如何提高问题定义的能 力? • 沟通 - 认真聆听 - 自我表述 - 总结确认 • 持续学习 - 扩展知识面 - 不自我设限 • 抽象概括 如何提高问题解决的能力? • 信息收集 • 持续学习 • 团队能力 - 集思广益
18. 02 架构师所需的硬实力—快速有效进行软件选型 选型的需求来源于业务诉求 选型总是在业务驱动下进行的。 我相信业务用的好好的,没有性能瓶颈,没有合规要求,也没有新需求要 开发,我们也不会想着换个框架或组件。 当业务有真正的诉求的时候,比如有数据同步,业务解藕,削峰填谷,分 布式事务等需求时,我们就需要调研相应的解决方案了。
19. 02 架构师所需的硬实力—快速有效进行软件选型 选择调研对象 在开始选型前,我们需要知道有哪些待调研的对象。 想用消息中间件,需要调研的对象可能有RabbitMQ,RocketMQ, Kafka等。 有数据同步的需求,需要调研的对象可能有otter,Datax,canal等。 想用rpc服务,调研的对象可能有Dubbo、gRPC、Thrift等。
20. 02 架构师所需的硬实力—快速有效进行软件选型 开始调研 1 系统架构 2 3 软件社区情况 文档 4 其他
21. 02 架构师所需的硬实力—快速有效进行软件选型 开始调研-系统架构 软件的系统架构很大程度上决定了软件的简单或复杂、可扩展性、高可用性等较难改变的 属性。
22. 02 架构师所需的硬实力—快速有效进行软件选型 开始调研-软件的社区情况 活跃的社区对于开源软件来讲很重要,因为活跃的社区说明软件的用户很多,用户多就有 很多的实践经验可以参考交流,在你遇到问题的时候能有个交流的平台。 社区情况一般看软件的最近一次提交是什么时候,issue的数量及回复情况,更进一步可以 看软件的邮件列表内容。
23. 02 架构师所需的硬实力—快速有效进行软件选型 开始调研-文档 产品做的再好,没有文档,也没人会用。 详细的产品文档包括但不限于软件架构,用户手册,性能测试,常见问答等
24. 02 架构师所需的硬实力—快速有效进行软件选型 开始调研-其他 包括但不限于合规性,法律,生态工具等内容,比如如果使用的开源软件协议为 GPL,按照协议规定,所有的二次开发都应该再次开源出来。
25. 02 架构师所需的硬实力—快速有效进行软件选型 特性或功能验证 调研完产品后,我们对软件应该有了个大概了解了,此刻我们需要回到业务上来。 产品的特性或功能能否满足业务的需求,这才是决定我们选型的最重要原因。 一般的原则是,能够满足当前以及可预见的未来的需求的软件,是最合适的,因为这样的软 件又能满足需求,又不至于太过复杂。 此阶段一般会进入到体力活环节,需要各种测试,比如基本功能测试,高可用测试,性能测 试等。在测试的过程中也尽可能的将测试脚本化、自动化,因为这个过程可能会重复多次, 没人想一次次的手动来做。
26. 02 架构师所需的硬实力—快速有效进行软件选型 应用阶段 如果软件是基础软件比如数据库之类,一般会先进行试点应用,因为基础软件的影响面比较 大,而选择试点应用,既可以规避大的风险,也能够通过实践积累起经验,方便后续的全面 升级。 如果软件只是当前业务使用,影响较小,那么要有自信直接上,不要怂~
27. 02 架构师所需的硬实力—快速有效进行软件选型 帮助别人 经历了软件调研,功能特性验证,到项目的正式使用,可以说现在你也成为了软件社区中的 一员,那么不要忘了分享你的使用经验,帮助其他软件使用者,毕竟一开始也是社区帮你解 决了问题。
28. 02 架构师所需的硬实力—快速有效进行软件选型 需求推动 积累开发和 运营经验 加入开源社 区 部署测试 团队能力培 养 帮助别人 社区情况 关键特性验 证 应用侧使用 培训 增加社区影 响力 文档 测试自动化 初步调研 功能验证 应用架构 支撑项目使 用 其他 过程资产文档化 持续进行优 化
29. 02 架构师所需的硬实力—线上问题的定位与处理 架构师需要有救火的能力。
30. 02 架构师所需的硬实力—线上问题的定位与处理 如何提升救火的能力? 问题定 位能力 正确归因 问题处 理能力 复现-修复-测试-回归 持续学 习积累 持续学习知识,实践中积累知识
31. 02 架构师所需的软技能
32. 02 架构师所需的软技能—项目管理的能力 我们是如何开始一个项目的?
33. 02 架构师所需的软技能—项目管理的能力 项目管理的各个领域 范围 时间 风险 人力 质量 成本 沟通 采购
34. 02 架构师所需的软技能—项目管理的能力 项目范围管理 项目范围管理最重要的是确认项目产出物。
35. 02 架构师所需的软技能—项目管理的能力 项目时间管理-工作量评估 项目时间管理的核心在正确评估工作量。 我们来看一下项目工作量评估的几种情况。 第一种情况,能准确的评估出工作量。这种情况下,相应的项目对于公司来讲可以说是轻车熟 路了,有足够的项目信息可供参考。 第二种情况,能大概评估出工作量。此种情况,多发生在公司拓展业务时。公司以前是做智慧 交通的,现在接到了智慧医疗的项目,组织内没有足够的信息可供参考。 第三种情况,无法评估出工作量。原始创新型项目,没有任何信息可供参考。
36. 02 架构师所需的软技能—项目管理的能力 项目时间管理-如何正确评估工作量 充分收集信息
37. 02 架构师所需的软技能—项目管理的能力 项目风险管理 1 遏制风险 2 项目风险如何应对? 3 容忍风险 分担风险 4 规避风险
38. 02 架构师所需的软技能—项目管理的能力 项目沟通管理 项目沟通主要是在汇报项目进度上。 项目沟通原则——简单直观。能用图的不要用表,能用表的不要用文字。
39. 02 架构师所需的软技能—团队管理的能力 闲适总是对人有好处的。
40. 02 架构师所需的软技能—团队管理的能力 1 我们为什么要努力? 生活所迫 2 3 远大目标 兴趣爱好
41. 02 架构师所需的软技能—团队管理的能力 什么是成功的团队管理? 满足各利益方期望。 团队成 员 公司 实践、成长、 收获的期望 完成经营目标、获取 盈利的期望 团队管 理者 成长、收获的期望
42. 02 架构师所需的软技能—团队管理的能力 什么是成功的团队管理? 满足各利益方期望。 个人、公司、团队管理者,利益并不冲突,完全能够实现共赢。
43. 02 架构师所需的软技能—团队管理的能力 如何实现共赢? 个人 共赢 • 找到自己的兴趣爱好 • 在工作中实现价值 管理者 公司 • 认识团队在公司实现目标过程中的角色 • 帮助团队成员 • 带领团队目标一致的前进 • 信息决策透明化 • 给予员工安全感 • 钱聚人散,钱散人聚
44. 谢谢! 聊技术,不止于技术。 个人公众号:WU双

Home - Wiki
Copyright © 2011-2024 iteam. Current version is 2.139.0. UTC+08:00, 2024-12-27 01:28
浙ICP备14020137号-1 $Map of visitor$