【读书笔记】架构是最高层次的规划和难以改变的决定

来源:互联网 发布:淘宝上的vr才39靠谱吗 编辑:程序博客网 时间:2024/06/13 08:55

今天再CSDN上看到一篇文章,觉得讲得很好,反映了一个架构人最真诚最朴实的风格。这篇博客作为读书笔记,记录其中我最认可的观点。原文

架构是最高层次的规划和难以改变的决定

任何架构都是为了满足业务的需求,不同的业务场景需要的架构往往也不一样。不能说阿里的机构就一定好过12306的架构。

软件架构设计应该在一个很高的层面进行,在做架构的时候:

  • 考虑产品的功能和特性
  • 考虑性能,可用性,伸缩性,扩张性,安全性,运维监控,集成发布等非功能特性
  • 开发团队经验技能,组织分工,进度安排等项目管理方法
  • 产品运营目标,业务组织架构,使技术架构和产品特点与运营方案更好匹配
  • 甚至要结合技术发展趋势、公司战略目标、个人和团队发展方向,为产品、个人、团队、公司未来可持续发展去设计一个坚实而又有弹性的软件架构

我认为这段话涵盖的做架构时要涵盖的各个方面,非常值得借鉴。

一名优秀的架构师必须具备的能力

  • 良好的编程能力。虽然架构设计不需要编程,虽然很多架构师日常工作也不需要编程,但是如果你的编程能力不过硬,你几乎无法设计一个良好的架构,设计出来也难以在开发过程中落实。最主要的,和一群挑剔的工程师合作,如果架构师缺乏良好的编程能力,几乎没有容身之地,遑论开展工作。
  • 良好的沟通能力。架构师不是把架构设计出来就完事了,必须要让项目组成员认可架构设计并在开发过程中落实架构设计,必须要和项目组成员频繁沟通,在各种质疑、建议、疑惑中推进工作。同时,架构设计需要综合考虑产品、业务以及公司各方面的情况,需要和相关团队密切合作。
    可选的能力:
  • 战略眼光,跳出架构和产品,在一个更高的层面审视架构和产品,会获得一种更开阔的胸怀和格局去看待自己的工作
  • 英文能力
  • 项目管理

《大型网站技术架构 核心原理与案例分析》中的优秀观点:

  • 先成就他人,再成就自己
  • 刚开始加入时,不要急于证明自己,要先融入
  • 最好的奖励就是目标的达成,最大的惩罚就是目标未能实现
  • 技术是要解决问题,但是我们要关心的是解决问题的人
  • 学会妥协
  • 越激烈的争辩代表越关心这个问题
  • 作为新晋架构师,一定有许多不会的技能技巧,不要因为害怕被同事质疑自己的能力而不懂装懂。不懂装懂即使能糊弄过现在,你也不会有更加美好的将来

避免一个架构的失败:

  • 没有失败的架构,正如没有完美的架构
  • 让项目组全体成员共同拥有架构;而不是架构师把架构当做个人的私有财产,拒绝他人染指
0 0
原创粉丝点击