救火架构师气自己,PPT架构师气别人

百家 作者:InfoQ 2018-08-17 00:59:05

架构、架构师不算一个陌生的概念,甚至在互联网公司有这么一个现象,每一个被问到将来职业规划的程序员,基本会说我的目标是当一名架构师。

其实说来这个答案多多少少有些泛泛而谈,属于“不会出错”的万能回答。但这个例子起码能说明两个问题:1、如果是搪塞面试的,那么说明这个人也不得不承认,架构师是程序员未来职业发展可供选择的一条方向;2、如果是认真的,那么说明这个人明白架构扎根于编程,但又高于编程。

但有时候,一个优秀的程序员却不一定能胜任架构师的工作,反倒常常扮演了“救火英雄”的角色——项目中出现了其他成员解决不了的问题,于是你常常被拉来写最复杂的那一部分,吭哧吭哧地累死累活,然后看着成员职责分配不均、项目规划乱如麻,瘫在椅子上开始怀疑人生,这就是传说中的架构师?这明明是超级代码工程师!

“救火英雄”般的架构师气的是自己,啥也不会的架构师气的是别人。

尤其是当公司空降了一个对技术、对业务、对成员都不了解的架构师的时候,往往会推翻之前的架构,进行重构,成为众人 diss 的 “PPT 架构师”

没有什么是重构解决不了的

所以一些似乎很顺理成章的事情反而有了疑问:代码写得好就能水到渠成地当架构师吗?代码写得不好但对框架设计非常感兴趣可以成为架构师吗?

很多人可能觉得,架构还需要入门?代码写得好顺理成章就可以做架构师啊!

哎,同学,年轻!

架构师确实需要很强的编程能力,但数据显示,编程在架构师的工作占比中,只占 13%。最重要的是什么呢?IT 架构,占了 62%

尽管“架构师”这个词在程序员眼中是如此熟悉,但架构师却有很多种,而且我们发现,一些还在软件工程门口徘徊的程序员们,其实根本不清楚成为软件架构师的条件是什么,工作职责又有哪些,想往这个方向发展吧,又不知道该从哪里着手。

奇怪吗?你还别说,这样的情况真的不在少数。

熟悉 InfoQ 的朋友可能知道“架构漫谈”这个专栏,在 InfoQ 的阅读量高达 10W+。后来我们应一些读者的心愿将其集结出版,取名为《聊聊结构》,不为别的,就是为那些有志向于此但又不知道从何处入手的人准备的

所以《聊聊架构》这本书,就是要帮你梳理架构的基本概念和相关脉络

基本概念等这些东西有多重要呢?

前 eBay CDC 资深开发工程师,携程、唯品会资深架构师杨波曾这样说:“如果一个架构或设计原则已经存在 15 年,我可以预期它还有 15 年甚至更久的生命期。……原则是比具体技术更抽象、更接近事物本质,也更经得起时间考验的东西。”

因为是一本入门级别的书,这本书从架构最开始基本的概念开始讲起,相信很多人都跟我一样,就害怕一开始看见那些长篇大论,什么生命核心周期啊,切分原则啊,一上来就玩这么大,看见就脑阔疼好吗!我只是个没接触过架构的宝宝啊!

放心,这本书不会一开始就给你讲这些理念,把你吓退,而是引入一个生活中常见的例子让你深入浅出地明白架构的基本概念。

比方说,我们开头提到的问题,架构到底是个啥?

书中是这样给我们引入架构的概念的:“架构实际上是一种通用的行为,只是大部分时候人们自己没有意识到而已。比方说,很多人的办公桌看起来乱七八糟,但是他的工作非常有效率。因为他在长期的实践之后,根据自己每天的工作,整理出了自己工作的核心生命周期,与其相关的每样东西都摆放在合理的位置,其他的东西都放在非关键路径上。这个时候他就已经在做架构思考了。”

通俗易懂吧?看完我还真是默默扫视了一下我的办公桌呢……

让你明白架构大概是啥之后,才开始给你讲解程序员更熟悉的那个架构:“软件架构实际上就是对生命周期的拆分。”

那么问题来了,生命周期要如何拆分?

作者又用企业组织团队分工举例,并配上了相关的图例来拆分核心与非核心生命周期。一个公司的 CEO 和高层,往往会手握公司的核心生命周期,而剩下的,则按照难易程度依次划分给底下的员工。

然后书中把这个概念延续要软件架构中,架构师需要对系统的边界进行拆分,然后判断被拆分的技术盒子从难到易该怎么排列?从大到小又是怎样的顺序?然后才能把这些技术盒子交给专业的人去做。

因此架构师需要知道谁最擅长写某方面的代码?谁最精通某方面的技术?哪个代码哪个技术是最适合这个项目系统的?

既不能盲目跟风,还需要有很强的统筹能力。

等到这些都完成后你长舒一口气,可算是结束了,但之后才发现,太天真了。

系统开发只是前期的准备过程,后期进行维护、更新、升级才能保持软件具有长时间的生命力。就像打扫房子一样,只打扫一次可是远远不够的。

你会发现这时测试工程师、运维工程师时不时地来骚扰你:这个系统我们怎么才能更好地测试啊?有啥安全策略没?系统怎么升级啊? 怎么拓展啊?

有很多刚刚做架构师的人往往会被这些问题杀得措手不及,满脸懵逼。所以书中用占了三分之二的篇幅来讲解这些知识,帮你厘清架构前前后后的工作流程和逻辑。

项目环境是沙场,团队成员是手中兵,而架构师,就是要冲在最前面的将军——既要懂代码还要懂团队成员最后还要懂业务十八般武艺样样都得会。

因此架构师需要更高更广的视角去俯瞰整个系统项目,更好地统筹全局。若是任意一环出了问题,整个系统就会运行不稳,岌岌可危。

所以这本书可以帮助你打开架构的大门,让你了解有关架构的基本内容,以及架构师到底要干嘛。

但是这本书的用武之地可不止这些。除了给刚入门软件架构师的人看,它还另有妙用。

打完这行字的时候,我盯着公司的产品经理,不禁露出一丝猥琐的微笑。

如果你一个每天被产品经理耳提面命改需求的人,那么请不要犹豫,买一本送给他,你将换来一个“懂你”的可爱的产品经理;如果你是一名产品经理,那么这本书可以帮你更好地理解你的工作伙伴,让你们合作更愉快。

这本书脱胎于 InfoQ 的专栏,在我们将其集结出版后,一小时内即卖出一千册。现在这本书又上架啦,最后四百册,过了这波以后可就买不到啦,想下单的同学抓紧,希望你们可以在架构师的路上越走越远!

鞠躬!

程序员成长攻略系列:

教你调教代码:每看完这一本书,就有一个码农消失

算法打怪指南:辛苦编码好几年,一朝栽在算法前

数据结构指南:有关数据结构的几本书,读完一半算你赢

Java 学习指南:Java,屠榜之王

JS 攻略指南:你才切图仔,你全家都切图仔

掌柜的疯了,商城里的架构书统统按成本价卖啦,全网最低价,买不了吃亏买不了上当!

点击“阅读原文”即可购买,薅秃掌柜的毛!

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接