互联网架构师必备技能

本文介绍互联网架构师必备的一些技能:

  • 互联网架构师必备技能

    • 每个好架构师都是一位出色的程序员
    • 抽象思维
    • 技术前瞻性
    • 透过问题看本质
    • 跨域知识
    • 沟通能力

每个好架构师都是一位出色的程序员

这一点毋庸置疑,如果不是写过N年代码的优秀程序员,一定不是好的架构师。“架构师”这是一个听上去比较虚的职位,它的主要价值在于“落地”的过程中,而不是“指点江山”。eBay的架构师总结架构师在项目中的职责:

  1. 产品团队要做一个产品,架构师要帮助团队把技术可行性,技术方案权衡取舍一一剖析清楚
  2. 技术方案权衡取舍出来了,架构师要设计整体的技术实现步骤,这个过程一定是和团队其他成员一起完成的,常见的实践是,1到2个核心成员出一个初稿,然后大家讨论完善;
  3. 技术实现步骤出来了,架构师要和开发团队一起,进行编码,可能架构师不一定细究到任何细节,常见的实践是,系统最困难最核心最关键的部分往往由架构师亲自操刀;
  4. 系统初版实现了,架构师要和开发团队、测试团队、运维团队一起,完成各类测试,协助解决最困难的bug,和团队一同完成线上部署、并一同排除上线初期系统的故障;

在项目的过程中,架构师至少一半以上的时间是和开发团队一起进行的,好的架构师不能将实施细节抛之脑后,更直白一些,他要通过撰写代码的方式来指导团队其他成员理解和实现架构中的细节。
反面的例子是,项目失败后,架构师反馈“团队的技术能力不够”,团队反馈“这是一个一行代码也不会写的大忽悠”。

抽象思维

“逻辑思维,抽象思维”比“编码的时间”对架构师而言更为重要,如果你不能让某个非IT人员明白某个概念在说什么,这个架构师注定也是失败的(沟通能力非常重要,详见第六点)。
逻辑思维不用展开多说,程序员的代码都是逻辑,如果XXX就YYY,如果AAA就BBB,缺乏良好的逻辑思维能力基本不可能成为好的架构师,甚至好的程序员。
抽象思维又分两点,一个是将实在的事物概念化,一个是将模糊的感觉数量化。一个苹果,抽象为质量、大小、颜色、形状、味道等,这是概念化,是架构师的必备思维。至于质量、大小、颜色、形状、味道如何转变成数字来描述,这也是架构师必备的思维。
有了上述两点,架构师能将一个“虚”的架构概念描述清楚。

技术前瞻性

架构师与技术高手的区别在于,架构师不仅局限于如何调用、如何并发等架构细节(技术高手对这些也非常熟练),还跳出三界,考虑未来问题和潜在风险的应对之道。
要培养自己的技术前瞻性,首要是学好英语(不多届时了,希望未来最先进的技术都首先从国内诞生),看懂外文技术文章,能与业界专家沟通交流,学习别人的实践方案。
反面的例子是,成天将技术前言的名词挂在嘴边,大谈“云计算,SaaS”这些东西,天天吹水,而落不了地(有可能他自己也搞不清概念如何落地)。
技术前瞻性还提现在对新技术的选型上,哪些东西适合自己团队,哪些不适合。学习成本、维护成本、硬件成本、潜在风险等等都是架构师需要考虑的。

透过问题看本质

看到问题的本质,是架构师必须具备的素质。
架构师要有将“业务需求”转化为“技术需求”的能力,这是一个本质的挖掘。例如,业务层面看到的是一个“电子商务网站系统”,架构师看到的是一个多人在线,并发交易,需要保证数据一致性的站点、服务、数据系统,功能、性能、扩展性、维护性、安全性、可用性这些字眼会惯性的蹦到架构师的脑子里。
架构师之所以是架构师,他在庞大系统的面前,仍然能够敏锐发现其底层之真实,这就需要,他有多年多领域知识和经验的沉淀。

跨域知识

架构师作为一名技术领袖,需要通过散发知识的光芒来温暖开发团队,如果只一个领域内的知识烂熟于胸,那也仅仅是一名技术高手。要想更进一步,需要对APP层面、服务层面、数据层面均要了解(系统分层),要对研发、测试、运维、安全也要有所了解(职能),上要对接口,下要对原理(接口与实现)都有所了解,甚至,要在多个业务领域都有所涉猎。
初级架构师所害怕的,是跳出自己的“独门绝技”,在一定程度上说,在一定深度之内成为一个“杂家”也没什么不好。

沟通能力

架构师和项目经理,对沟通能力的要求都很高,很多互联网公司甚至直接由架构师担任项目经理的角色。这两个角色其实还是有所偏重的,项目经理更倾向于与客、户的交流,跨团队的协作与交流,架构师主要偏向技术团队内部的沟通与交流,纯技术上的沟通。
如何成为一名“善于沟通”的架构师呢?在目标清晰的前提下,首先做到平和,不能将自己所在象牙塔上,颐指气使的发号施令,这样的态度必然遭恨,大家都是技术人员,只是分工不同,为何要受你的气呢?其次,架构师要有一定的绘图能力。人对图形的理解远大于对文字的理解,一个层次图,一块小白板,几只笔,真的这么容易把问题描述清楚么?

互联网架构师必备技能(使用markdown编写)相关推荐

  1. 互联网架构师必备技能

    一.每个好架构师都是一位出色的程序员 这一点毋庸置疑,如果不是写过N年代码的优秀程序员,一定不是好的架构师."架构师"这是一个听上去比较虚的职位,它的主要价值在于"落地& ...

  2. 安卓sdk开发!阿里面试100%会问到的JVM,架构师必备技能

    接触这一行也有很久了,从开始的实习到带团队,中间接触过很多人,前不久身边刚好有人去面试了阿里,抖音等这些公司还成功的面试上了,现在来分享一下面试前需要准备的知识点 很多人去面试之前,不知道会问到那些知 ...

  3. 架构师必备技能:Maven Archetype生成项目模板

    基本每个公司的项目都有一套模板,只要开新项目直接复制一份改改包名和一些配置就初始化了一个新项目.这种方式有点繁琐,有没有通过命令甚至是可视化的方式从一个模板项目初始化项目.Maven其实有提供这种能力 ...

  4. Android多线程实现方式及并发与同步,架构师必备技能

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8rwcQW4s-1620361703648)(//upload-images.jianshu.io/upload_ima ...

  5. GitHub标星1w的安卓架构师必备技能,终获offer

    开头 移动应用开发从逐渐开始火爆到如今也有小十年了,大部分的学校还是没有开放专门的课程. 目前市场上的大部分 Android 开发工程师大多数是自学或者是培训出身,用一段时间上手 Android 开发 ...

  6. 互联网架构师必备技术 Docker仓库与Java应用服务动态发布那些事

    讲师简介: James老师 十余年Java经验,曾就职于携程.人人网等一线互联网公司,专注于java领域,精通软件架构设计,对于高并发.高性能服务有深刻的见解, 在服务化基础架构和微服务技术有大量的建 ...

  7. 高级前端架构师必备技能(marksheng)

    首先,前端架构师肯定是掌握好基本的前端技术基础的,正所谓一转多长,首先你得先精通一门,其次,掌握前端技术的同时,还要了解前端技术之外的技能.跳出前端这个思维,才能看到的更多.总结起来有以下几点: 跨界 ...

  8. app架构升级,该如何高效实用Kotlin?架构师必备技能

    开头 大家都知道,找工作的时候高薪不好拿,一般人能拿 30k 的 offer 就不错了.据我所知百分之九十的Android开发都在30k以下! 但是在我的群里有一位同学,平时就喜欢研究源码和框架,然后 ...

  9. 网易架构师深入讲解Android开发!阿里P7Android社招面试的经历,架构师必备技能

    前言 工欲善其事必先利其器!在现代IT中,每个Android程序员都需要最好的工具来提高他们的技能和效率.在Android应用程序开发这个残酷的竞争行业中,只有优秀的程序员才能生存下去.你需要向客户展 ...

  10. 山哥新作:架构师必备技能之业务分析

    1 业务分析 业务分析是应用系统的思想和方法,把复杂的需求分解成简单的对象,找出这些对象的基本属性以及彼此之间的关系,系统分析也是系统开发中最重要.也是最困难的阶段,最终的架构设计也要依据业务分析的结 ...

最新文章

  1. 基于生成对抗网络(GAN)的人脸变形(附链接) | CSDN博文精选
  2. mysql数据库优化课程---6、mysql结构化查询语言有哪些
  3. python 返回函数对象_返回函数
  4. java调用接口失败重调_java 接口调用问题
  5. HTML学习笔记:贵美主页框架演示
  6. HDU 2154 跳舞毯
  7. 2017《JAVA》预备作业 计科1501班 王奕开
  8. 软开关设计漫谈_软件篇
  9. Linux下添加删除查看用户操作
  10. 机器学习时会发生什么
  11. JAVA栅栏密码解密程序
  12. Android ActivityManager常用方法
  13. excel筛选,排序
  14. “母子”角色互换背后的7-Eleven商业哲学
  15. cwRsync-windows下的rsync工具
  16. LOE是什么?如何加入?
  17. PID控制KP.KI.KD用法
  18. Ubuntu系统安装及常用软件设置
  19. html字体颜色代码属性,HTML文本属性颜色控制属性的实现
  20. python 今日头条 微头条_今日头条微头条范文-头条号的微头条你们都发些什么,该如何写?...

热门文章

  1. 巴旦木和杏仁的营养价值哪个好?丨巴旦木功效与作用
  2. 占优策略名词解释_占优策略
  3. Ffmpeg实例,为视频添加一个循环播放的背景音乐(混声)
  4. vnc远程控制软件中文版,4款好用的vnc远程控制软件中文版
  5. 机器翻译和自动译后编辑
  6. 巧用CHKDSK命令修复U盘文件或目录损坏问题
  7. php curl getinfo详解,php curl getinfo
  8. ASP.NET MVC中的下拉框数据查询
  9. 实战 | 电感元件定位--Halcon与OpenCV实现详解(附源码)
  10. POJ 3233 Matrix Power Series(矩阵快速幂)