您的位置:首页 > 运维架构 > 网站架构

关于架构演进之路和架构师的技能素养的一点想法

2017-05-31 13:39 627 查看

写文章的原因

最近读了《【SDCC讲师专访】专访架构师陈波:微博近几年的架构演进之路和架构师的技能素养》感觉很有感觉,所以认为必须写篇博文,一吐为快。

首先我谈下视野的问题

每个人都有自己的视野,视野的高度决定了你的见识。

工作不应该只把自己的视野局限在某个职位,机械化的完成工作,而应该把自己当负责人,思考项目相关的方方面面。

不止我这样想,新浪的陈波也这样想。

陈波:我的工作体验是:把工作当成事业来做,工作是完成,事业是不仅做好,而且要做到更好,把工作做成创业,就会发现研发不仅是编码,还要考虑架构演进、业界动态、技术发展、产品创新、成本控制(存储成本、机器耗电、公有云计费)等,大公司里一样可以“创业”,而且这样的创业成本不高也很有乐趣;另外就是要保持对技术的新鲜感,不断扩展视野。


至于,怎么获取这些视野呢?鄙人愚见,可以多关注CSDN,开源中国这样的最新资讯。当遇到有价值的事物后记得放到你的小本本(有道云,印象笔记等)里。喜欢勤快的小伙伴,也可以去GitHub,stackflow上淘一淘。

还有记得关注各大服务器网站的价钱哦,活动的时候真心便宜。

接下来我们谈谈什么是架构

从开发人员的角度

架构是系统整体结构的规划设计,也是系统实现的一个草图,主要包含抽象出来的模块、交互协议及设计决策。因为架构的模块、协议、决策是抽象层面的规划,所以具体实现跟业务相关,要考虑业务的需求与特性,还跟业务发展阶段相关,要考虑业务当前的规模及发展阶段,选择合适的实现方案,必要时对当前的架构做适当的修改和演进。所以,架构是设计出来的,更是演进出来的;另外没有最好的架构,只有更适合(当前业务场景和阶段)的架构。

ps:陈波回答的很好,直接引用。我就不献丑了


再说说架构师

关于这个陈波说的有点多,鄙人精炼下。

关于架构师如何定义:

架构师主要是负责设计高性能,高可用,易实现,易拓展的项目架构。

架构师的能力要求:

较强的代码能力,对日常问题有丰富的阅历及解决之道,设计不是空谈,需要实践,代码能力、解决问题的能力是系统实践的一个副产品;

较好的抽象能力,业务需求在架构师消化后,需要转化为设计蓝图,这中间需要大量的抽象。

良好的沟通和组织能力,架构设计出来,需要组织讨论、频繁沟通,让项目组成员理解架构组成及设计取舍的原因,明白架构设计中的how和why,在遇到疑问、反对、建议时,能进行良好的沟通并有序的推进。

较好的团队协作能力和领导能力,架构师需要得到项目组成员的认可,在关键时刻对技术的选择作出及时、有效的决定,并为决定负责。

架构师的主要职责:

把业务需求转换为实现架构,定义每个组成模块的外部特性,比如它的依赖、性能、异常处理等,并确定模块之间如何通信,最终形成可以指导业务开发的行动图。

组织讨论,组织更多的人来了解、讨论架构,能够让大家理解架构整体方案、模块特性及边界、决策权衡点,进而可以自行进行组件服务的设计及实现;

协助项目经理制定开发计划和控制项目进度;

确定系统的基础架构、实现技术,必要时组织技术调研和攻关。

说点其他的

架构师不仅仅是要自己理解架构,掌握新技术,更是让别人理解,所以分享你思路,让别人参与讨论,很重要。

架构师不仅仅是要自己理解架构,掌握新技术,更是让别人理解,所以分享你思路,让别人参与讨论,很重要。

架构师不仅仅是要自己理解架构,掌握新技术,更是让别人理解,所以分享你思路,让别人参与讨论,很重要。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  架构师 架构