从0到1,手把手教你成为架构师

之前小猿邀请1024学院特约嘉宾陈斌老师,给大家分享了“成为架构师的五条准则”。

但仅仅五条准则,对于很多踏入IT行业时间不长的朋友来说,还是太简略了。于是乎在一天三顿小烧烤的攻势下,酒过三巡的陈老师,终于决定给大家分享一套从0到1的架构师终极攻略!

关于架构师分类的一大误区

说到架构师分类,很多朋友的表情是这样的:

架构师还有分类吗?不就是软件架构师吗?

在IT行业发展早期,确实没有。但是随着IT技术领域的逐渐细分,架构师不但出现了具体分类,而且多达七类,分别是:研发、测试、网络、安全、配置、系统、数据

软件研发架构师如今的光辉,很大程度上遮盖了其他领域架构师的光芒。但这并不能否认一个事实:这七类都是相对独立的领域,很难存在一个人精通所有领域。

比如在网络安全,信息安全领域,完全可以组织起一个几十人到上百人的研究力量,如此垂直的技术挖掘,要让一个研发工程师完全理解,也确实有点强人所难了。

架构师的成长阶段

而不管在哪个领域,成为架构师的过程都可以大概划分为四个阶段:初级、中级、高级、架构。

1.初级阶段:一般指毕业后两年内。

在这个阶段刚刚脱离了学校的课堂和书本知识。但书本知识受限于教材的更新速度,往往是落后于实际应用场景的。这段时间就是通过不断的学习,弥补落后的差距。

比方说在学校里,你还在执着于背运算符的优先级,结果工作以后发现公司的代码规范是强制要求加括号的;比如你还在线程进程写的不亦乐乎,毕业后发现原来很多场景已经开始用携程了。

这时在团队里基本不具备影响力。

2.中级阶段:毕业后两年至四年。

在这个阶段的当务之急是积累知识和具体技能,比如如何良好的封装一个代码模块,保证接口的复用性,如何利用好开源平台,避免重复造轮子。再向上一层,如何更好的沟通需求,分析需求,等等。

这个阶段在小组内应该崭露头角,小有影响力。

3.高级阶段:毕业后四到七年。

高级阶段,在基础技能和项目进度之间已经建立的足够的感觉和认知,学习的重点更偏向解决方案。类似的业务需求如何转化为开发方案,方案的优点在哪,缺点在哪,类似的开发方案如何优化等等。

这个阶段开始在部门范围内具备一定的影响力,开始带自己的团队。

4.架构阶段:七年以后。

到了这个阶段,就是要求你打通任督二脉,融会贯通,且在公司内具备相当的影响力,设计方案能够影响到公司副总裁一级的战略决策。到了这时,企业要求的就不再是知识了,而是智慧。

架构师的学习目标

听起来是不是很吓人?别着急,下面我们来细分一下这七年内的学习目标。

1.技术的广度和深度

架构师的技术素质要求主要分为这两个方面。广度还好理解,深度要深到什么层次呢?

简单点说,要达到能够直接给开源作者提建议的程度。依靠你的理解分析当前版本的优点和缺点,能在代码层面提供下个版本的改动目标。这个只有靠大家多去抠,多去写。

2.业务理解和沟通能力

一个架构师要对业务有着丰富的理解能力,在这个位置上,你不再是单纯的负责需求到产品的具体转化,而是由产品反向调校需求,再由需求给出方案。

同时沟通能力就显得极为重要,即便你再优秀,话都说不明白又有什么用呢。

其实学习一个技能往简单了说都很简单,就是练,找机会,创造机会,逼迫自己去练。

在组会上分享,或者主动开个分享会,锻炼自己的整理表达能力。

很多人不喜欢听大道理,但是大道理往往最直逼问题根源,也最难执行。

3.美学素养和动手能力

跟一个IT工程师谈美学素养是不是很无厘头?可实际上陈斌老师在易宝支付经常派手下的架构师去听音乐会。

现在一个架构,一段代码是否优雅,越来越难以从技术的角度去强行界定了,很多资深工程师就是一顿goto,也没出bug,但这样的方式注定看起来很糟糕。

在一定层次上回看自己梳理的架构,要带着一名建筑师的自豪感和审美眼光,你搭建的是一栋地标型建筑,而不是一摞砖墙。

动手能力就更不用说了,小猿举过一个例子,扎克伯格四年没碰代码还能上手就写一个AI出来。很多技术只有你动过手,才能明确的感知它的优缺点以及局限。

架构师的学习资料

最后给大家提供一些学习资料,用干货来充实自己。

学习网站:

UML系列架构部署图:

http://www.yiibai.com/html/uml/2013/0811108.html

IBM官方数据架构学习:

https://www.ibm.com/developerworks/cn/rational/rationaledge/content/may05/andrew/

探索Google App Engine背后的奥秘

探索Google App Engine背后的奥秘(2)–Google的整体架构猜想

探索Google App Engine背后的奥秘(3)- Google App Engine的简介

探索Google App Engine背后的奥秘(4)- Google App Engine的架构

探索Google App Engine背后的奥秘(5)- Datastore的设计

探索Google App Engine背后的奥秘(6)- 总结

为不规则应用设计新一代超大型多线程架构

http://www.infoq.com/cn/articles/next-generation-massively-multithreaded-architectures

视频流服务架构解析

http://www.infoq.com/cn/articles/video-service-arch/

Rails架构简介:自建CDN防御DDoS

CDN(内容分发网络)技术原理

https://kb.cnblogs.com/page/121664/

浅谈Squid在图片存储架构中的应用

http://blog.csdn.net/icreatex/article/details/7789168

大型高并发高负载web应用系统架构-数据库架构策略

http://blog.csdn.net/zhangzhaokun/article/details/4711693

(pomelo系列入门教程)深入浅出node.js游戏服务器开发——Pomelo框架的设计动机与架构介绍

http://blog.csdn.net/mywcyfl/article/details/41775651

书籍:

陈斌老师翻译的《架构即未来:现代企业可扩展的Web架构、流程和组织(原书第2版)》:

https://book.douban.com/subject/26765979/

《架构之美》:

https://book.douban.com/subject/4086029/

《用户体验的要素》:

https://book.douban.com/subject/2297549/

《程序员的思维修炼》:

https://book.douban.com/subject/5372651/

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171212G0490D00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券