架构师需要有什么硬实力和软技能呢?硬实力一定包括很强的技术广度和深度,问题定义、问题解决的能力。还需要有救火的能力,能够快速定位并处理问题的能力。有同学可能会问面对如此多的技术,而且技术更新换代这么快,该如何去学习这些技术。其实这里需要我们去抓住一些相对来说不变的东西,技术更新换代快,变化快,但我们需要抓住一些不变的思想。比如高可用,对于有状态系统来讲,方法只能是复制,对于无状态系统可能只需要负载均衡就行,再比如可扩展,可扩展一定需要分片,分片又涉及到数据倾斜的问题,以及增加分片后数据移动的问题,这里就涉及到一些分片算法,比如一致性哈希。类似的还有很多,可以看到不同技术其实有很多思想都是通的。
问题定义和解决讲的是我们与业务沟通的时候,在做之前一定要先弄清楚要解决的问题是什么,能够清晰的定义问题,比如要解决的是高可用问题,还是可扩展问题。救火能力要求我们要多实践多积累,能够处理故障。软技能即管理的能力。需要有项目范围管理的能力,项目设计及计划的能力,如何准确评估工作量的能力,开发过程中的风险管理能力以及沟通协调的能力。这些软技能更能够帮助团队取得更大的成就。
分享提纲:
1)架构师所需的硬实力;
2)技术学广还是学精,要抓住不变的思想;
3)问题定义与解决的能力,技术一定是服务于业业务的,业务需求推动技术进步,技术进步反过来也能推动业务发展;
4)如何进行软件选型,如何快速定位及解决问题;
5)架构师所需的软实力,项目范围管理,时间管理,风险管理及沟通管理;
6)能够帮助别人,帮助团队成员成长。
分享要点:
首先介绍架构师需要的硬实力,包括很强的技术广度和深度,问题定义、问题解决的能力,软件如何选型的能力,还需要有救火的能力,能够快速定位并处理问题的能力。然后介绍架构师所需要的项目管理能力,包括范围,时间,风险,沟通等能力。后介绍架构师需要帮助团队,一起成长。
苏仕祥,开源爱好者,架构师,专注于数据库技术、微服务架构领域。对分布式,大规模数据处理,高并发高性能系统有着深入理解以及相关实践经验,有大规模跨语言跨平台的异构系统微服务架构实践经验。开源数据库中间件Apache ShardingSphere、DBLE源码贡献者。有着丰富的系统问题定义及优化经验,软件项目管理经验。不定时更新个人公众号“WU双”。