成为架构师

大家什么时候成为架构师的?
相信要么企业内部晋升、要么跳槽新公司。
那是架构师了,公司和招聘要求定义的职责到底该怎么才能做好?
如何开始架构师的职业生涯?
如何平衡专业技术追求和企业赚钱第一位的追求?

架构师要做什么

对于合格架构师的职责如下:

  • 设计软件系统架构;
  • 系统分解成为多个可实现的模块;
  • 兼顾大局、确保系统整体稳定有效;
  • 权衡质量属性(非功能性需求);
  • 管控不可避免的技术债务;
  • 锻炼和提升整个团队的架构设计能力。

简而言之就是在统筹系统全局、规避系统风险、抽象等的知识下,做设计、分解系统,分配任务,保障系统顺利开发和上线,并利用这些知识来提升团队能力。

何为软件架构

软件架构是关于如何组织软件的一系统重大设计决策和意图的集合,旨在实现期望的质量属性和其他目标。

以上的定义有点抽象,以下引用卡内基梅隆大学软件工程研究院(SEI)的定义:
计算机系统的软件架构是解释系统所需的结构体的集合,其中包括:软件元素、元素之间的相互关系,以及二者各自的属性。

该定义说明了组成软件架构至关重要的要素:元素、关系及属性。
即:元素(属性) + 关系 (属性)= 架构。简单来说就是将多个有某些属性的元素以有某些属性的关系连接在一起,就组成了架构。你可以把元素和关系想象成建筑工地的砖块和水泥,砖块和水泥有很多种类和属性。元素是软件的基本组成(类、包、层、数据库表等),关系则描述了元素如何协作完成任务(调用、依赖、运行于等)。

然而,并不能简单地认为就是这些结构体组成了架构,而是说架构为了解释系统所需的结构体而整合在一起来说明,因为架构还包含了设计的决策和意图。就像JavaBean的命名规范,包含的意图就是代码的规范化、提升代码的可维护性等。

总结下来,软件架构应该是:
元素(属性) + 关系 (属性)+ 决策 + 意图= 架构

成为团队架构师

大体来说,成为架构师之前应该至少参与过三到五个系统的开发,而且承担的技术职责应该不断增加,但最重要的是要总结经验形成全面的知识体系。

从程序员向架构师转变,首先应该要记录和总结你在开发过程中学到的知识。针对每一个项目,做以下几点记录和总结:

  • 记录利益相关方和主要业务目标。
  • 记录和总结项目的整体解决方案。
  • 记录涉及的技术以及选用的原因。
  • 记录最大的风险和克服过程。
  • 分析项目存在的不足,总结改进的方法。

无论你希望内部晋升,还是跳槽晋升,都要有耐心来提升专业水平。机会是留给有准备的人的。

记住,架构师不仅仅是团队中的角色,更是一种思维方式。就算你是程序员,每天写代码也会做出很多设计决定的,这其中肯定有些决定是具有架构意义的。不想做将军的士兵都不会是好的士兵,所以无论你的头衔是什么,你都应该运用架构设计的思想做出恰当的决策,让架构向着健全的方向发展,那你实际上就是架构师。

开发出色的软件

开发软件系统要尽量规避风险,佛祖保佑永无bug那种,而架构是软件成功的基础。

优秀的软件架构应该是这样的:

  • 架构将问题分而治之。架构精确地解释了如何将系统划分为独立轻巧且易于处理的小模块,同时还能保证整个系统协同工作,让系统的总价值高于各模块的价值之和,即1+1大于2。

  • 架构提供了协同工作的指导方针。软件开发不单单是技术,也是以人为本的艺术。软件架构描述了整个系统如何组成和意图。掌握了架构也就清楚了大家该怎么分工合作进行软件开发。

  • 架构为复杂设计提供了知识。提供统一的词汇、术语、概念等等知识,都为沟通和理解带来了极大的便利。知识是随时间而积累和提升的,利用知识,重复的问题的发生就能避免。

  • 架构是最优决策的成果。架构不单单考虑功能的基本实现,还要考虑成本、约束、进度、风险、团队的交付能力,以及最重要的质量属性。权衡这些进行恰如其分的架构设计,才是最优的决策。

  • 架构让你避免犯重大错误。架构设计并非万能,但至少要能规避重大的、常见的风险。预防大于治疗,因此架构是可以帮助我们去预防今后可能出现的风险和问题,而不是佛祖保佑就可以的。

  • 架构让系统更灵活。业务是不断地随时间而变化的,相应的系统也应该随之变化,而不是推倒重来。因此架构需要为软件开发提供灵活应变的结构。

总结

头衔和职称并不是架构设计的本质所在,必须专注于架构设计的核心职责,逐步学习和积累相应的架构设计知识,并运用这些知识去开发出色的软件,这就真正成为了架构师。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 225,226评论 6 524
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 96,509评论 3 405
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 172,523评论 0 370
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 61,181评论 1 302
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 70,189评论 6 401
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 53,642评论 1 316
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 41,993评论 3 431
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 40,977评论 0 280
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 47,527评论 1 326
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 39,547评论 3 347
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 41,661评论 1 355
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 37,250评论 5 351
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 42,991评论 3 340
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 33,422评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 34,571评论 1 277
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 50,241评论 3 382
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 46,737评论 2 366

推荐阅读更多精彩内容