对工作多年的程序员而言,日后的职业发展无非是专精技术,转型管理,晋升架构师三种选择。成为一名优秀的架构师,是大多数技术人的追求。
想要做架构,空有一身技术是远远不够的,知识的深度和广度,往往会决定一个架构师的架构能力。而这些知识,从你踏入 IT 行业那一刻起,甚至更早就应该开始储备了。
我看到很多人,做了 7、8 年程序员,仍然停留在「码农」的阶段,平时工作节奏太快,很难有机会系统学习架构,也没人教,只能闷头敲代码,越来越被动。
而一旦拥有「架构思维」,胸中自有大局观,对职业发展、职场晋升都会起到很大的作用:
1. 提升自己在组织内部的话语权,获得领导的赏识,客户的青睐;
2. 快速掌握新知识,避免陷入频繁加班的恶性循环,获得更多发展机会;
3. 透过问题看本质,了解代码之下更深层次的机制,不仅做到快速完成方案,且条理清晰,重点突出;
4. 制定符合用户需求且可扩展的商业计划,从而牢牢地控制企业生命线;
细数行业内那些顶尖的架构师,有这么一位,给了我很大的启发。他为人低调,话极少,但观点鲜明,之前看过他的几篇采访,给我留下了深刻的印象。
这个人,是许式伟。
早在几个月前,我就听说他要在极客时间上开课讲架构,说真的我挺惊讶,行业里有这样背景和资历的架构师实在是太少了,老许是为数不多的能把「架构」这事儿讲清楚的人。
关于许式伟
说起许式伟,你应该不陌生,他是七牛云 CEO,ECUG 社区发起人,国内 Go 语言圈的领军人物,曾就职于金山、盛大,有超过 10 年的搜索和分布式存储相关技术的研发经验。
他的个人经历颇为传奇,大学时外号“ C 狂”,凭一份在招聘现场临时写就的简历,成功应聘金山,毕业仅 2 年就成为了首席架构师,主导 WPS Office 2005 长达 3 年的架构设计和开发。
06 年那会儿,盗版软件盛行,WPS 开始从软件向互联网转型,许式伟创建了金山实验室,以技术总监的身份主导分布式存储开发。后来,他加入了盛大创新院,成功推出“盛大网盘”和“盛大云”。
2011 年,许式伟创立了七牛云,专注企业级存储服务。
在老许的身上,能看到一个典型技术人的理想实现之路——扛过国产软件研发的大旗,忍受过在 Office 和盗版夹击下的艰难求生,经历过公司转型和个人转型交织的洗礼,跟他并肩奋斗过的金山人大多进了游戏行业,他却坚守基础研发。
创业者只是他的身份,从某种角度上看,我觉得他仍然把自己看作一个技术人。 我为什么要推荐这个专栏?
老许这个人,在技术圈里是出了名的低调,江湖上的「人狠话不多」说的就是他这种。
这是他第一次完整系统地分享自己的架构经验,是一个架构师 20 年的经验沉淀,实在难得。看了开篇词和前面的几篇文章,我更加坚定了自己的判断:
我知道,现在有很多技术人会通过看书查资料学习架构,我接触过的大概有这么几类:
→ 架构思维类。通常从一些著名的架构理论讲起,比如开闭原则、单一职责原则等等。其弊端在于过度理论化,而计算机科学归根到底属于工程技术类,应该实践第一。
→ 设计模式类。这类一般上来就进入架构的局部细节,每个模式的来龙去脉并不容易理解。就算理解了某个具体的模式,也很难真正做到活学活用。
→ 分布式系统架构设计类。通常从服务端的通用问题如一致性、高可用、高并发挑战等话题讲起,阐述大型业务系统面临的挑战。这些知识虽然非常有价值,但无法延伸至通用业务架构,对大部分企业的架构实践不具备真正的指导意义。
→ 重构类。主要讲如何如何改进代码,其实是最实用的一类。但在我看来,一个模块最初的地基是最重要的,基本决定了这座大厦能够撑多久,而重构更多侧重于大厦建成之后,在服务于人的前提下怎么去修修补补,延长生命。
所以,这些架构图书和资料,都没有揭开架构设计的全貌。
我不想照本宣科地,1234 分点强调老许能教给我们哪些架构知识。我只想说,在这个专栏中,你能得到的一定比付出更多,不论你已经是一位架构师,还是想成为架构师的程序员。
这个专栏的组织逻辑,和我们平时看到架构书和课程完全不同。老许想帮助我们构建一个理解软件架构的宏观视角,回到信息的原点去思考问题。
在这个过程中,他讲解常见业务场景的架构范式,以及这些范式在日常工程实践中应用,写得很朴实,没有什么商业的辞藻,结合自己的实战经历,非常落地的感觉。
举个例子,在专栏里他提到了两张图,我一下子就感觉悟道了,原来客户端和服务端应用架构之间的逻辑关系还可以这样对应。