如何成为一名架构师

     很多程序员的梦想就是将来成为一名架构师,我学编程的时候也是如此,随着工作经历的增多,我也会参与到架构设计中,对架构设计了解越多,就发觉做架构设计并不代表要有一个架构师的头衔。

     拿破仑有句名言“Every French soldier carries a marshal' baton in his knapsack”,这句话翻译过来就是“每个士兵背包里都应该装有元帅的权杖”。

    元帅的权杖意味着大局观,元帅的思维,能从全局考虑。士兵有元帅的权杖以为着士兵胸中应该有大局观,理解出元帅在战场上想什么,这样才能更好的执行命令,提升整理的战斗力。

    什么是架构师思维?

    我们知道架构设计,是要控制技术的复杂性,对于架构师来说,要控制技术的复杂性,有如下几种有效的方式:抽象、分治、复用和迭代。

    抽象思维

抽象思维是基础,业务需求是一些文字性的描述、原型、UI设计图,这些需求要最终变成代码让机器执行,就必须先进行抽象,抽象成计算机能够识别的模型。

    分治思维

架构设计的一个重点,是要对复杂系统分而治之,分解成小的、简单的部分,但光分解是不够的,还需要保证分解后的部分能够按照约定好的协议集成在一起。

    复用思维

复用是一种简单而有效的提升开发效率的方法,通过对相同内容的抽象,让其能复用于不同的场景。

    迭代思维

好的架构设计,都不是一步到位的,而是先满足好当前的业务需求,然后随着业务的变化而逐步演进。

一个好的架构师,不但要技术好,还要懂业务,能从整体设计架构,也能在局部实现功能。

我们知道有一种架构师,专门写ppt的,擅长写ppt,画架构图,对各种热门技术名词如数家珍,但是脱离一线开发,对业务和底层基础知识知之甚少,设计出的架构高大上,但是实现起来非常困难,成本也很高。所以,作为架构师,如果不写代码,是不能体会出设计不好带来的问题,无法及时对架构中的问题做出调整。

     好的架构师,一定是程序员出身,并且坚持做一线程序员,他不需要写大量的业务代码,但至少要参与部分编码工作以及代码审查工作以保证架构的正确执行。

    好的架构师,不仅要技术深度,还要一定的技术广度,因为技术选型,不能局限于一种技术,需要对比分析出各种技术的优缺点,选出适合的灵活的技术。

    好的架构师还要有好的沟通能力,协调好各个模块的开发工作。

    架构师需要经常和产品经理打交道,反复确认需求,了解需求细节,设计出来的架构需要通过文档、会议和别人交流。

     成为好的架构师,需要如下几个条件:

  • 架构师思维:具备良好的抽象、分治、复用思维
  • 懂业务需求:能很好的理解业务需求,针对业务设计好的架构
  • 丰富的编码经验:抽象、分治、复用、迭代能力需要大量编码才能掌握;另外保持一定量的编码经验也有助于验证架构设计
  • 良好的沟通能力:架构师需要沟通确认需求,并要让团队理解架构设计

如何成为一名架构师_第1张图片

如何成为一个优秀的架构师?

想要成为好的架构师,没有捷径,需要比程序员付出更多的努力,如下建议是比较中肯:

  • 要成为一个优秀的程序员

技术好是成为架构师的基础,需要你的代码易读、易扩展,能复用,这个必须通过大量的编码实践,才能培养出好的架构师思维。

  • 多模仿学习

开始不要闭门造车,多学习网络上开源项目的架构设计,找几个和项目方向类似的,本地搭建实验验证一下

  • 选择好行业和平台

 

你可能感兴趣的:(软件工程)