java架构师当然是脑力劳动者,但是在相同的脑力劳动中也存在主要差异。 有一种脑力劳动易于评估。 或者可以判断是对还是错:例如考试成绩; 或者可以进行比较:例如,两个人下棋以区分赢家和输家; 或者可以由市场来判断:例如某种UI / UE设计,我们可以使用统计数据,了解它在用户中的受欢迎程度。
但是,架构设计只是软件开发过程中的一个链接,在这种多人协作的情况下,我们很难单独评估架构的优缺点。 由于硬件,软件,部署,人员测试,用户和市场上的许多差异,即使对于两个非常相似的系统,我们也很难判断两种体系结构的好坏。 例如:eBay的架构或淘宝的架构更好? 如果交付延迟,我们可以将问题归咎于开发团队的效率低下。 如果存在质量问题,我们可以将问题归因于测试团队的疏忽。 当负载无法支持时,我们可以将问题归咎于运维团队缺乏专业素养,甚至竞争对手的DDoS攻击。 那么,我们可以将什么样的问题归咎于架构呢?
因此,现状是:java架构师是很难做好的职业。 但是,从某种意义上说,这是一项非常容易的工作。 (当然,混合是另一个需要不断训练的高端技能。)因此,java架构师也是一个特别需要强调自我修养和职业道德的职业。
什么是java架构师的自我修养?
1. 以理解用户为荣,以想当然尔为耻
java架构师不是产品经理,不是市场人员,不是客服人员。但是,如果只懂技术,只考虑技术,不能深入的理解用户的需求(强调一下,用户的真实需求!),就会做出“纯粹追求技术先进性”的想当然尔的架构出来。
2. 以脚踏实地为荣,以夸夸其谈为耻
java架构师当然需要很强的表达能力,甚至还需要有忽悠能力。但是,无论是表达还是忽悠,都必须以“实力为基础”。如果不能脚踏实地,积累实力,只会夸夸其谈。那就相当可耻了。
3. 以身先士卒为荣,以指手画脚为耻
还是那个经典的台词“兄弟们跟我上”与“弟兄们给我上”的区别。如果对于一些困难的问题,java架构师自己都搞不定,却摆出一副胸有成竹的表情:“这不是很简单的吗?你到网上搜一下嘛,资料大把大把的。”这种做派,就很令人不齿。
4. 以实践检验为荣,以道听途说为耻
如果某种技术,java架构师自己都没有做过评测,没有看过框架代码,没有在过去的实践中应用过。却因为一篇文章,一个讲座,甚至某个大公司曾经用过这样的证据,就将一种技术引入到项目之中。这样的决策,很少有不失败的。
5. 以先见之明为荣,以后知后觉为耻
“过度设计”当然是一个贬义词,但是java架构师一定要有前瞻能力。不能等到火烧起来了,再去救火。虽然在企业里,的确存在“救火英雄升迁快”的现象。但是,一个优秀的java架构师,应该以“消除隐患于无形”为荣。
6. 以兼容并包为荣,以独断专行为耻
在架构领域,很少有唯一解、最优解。大多数时候,我们只能在多个各有优劣的方案中,反复权衡,考虑取舍。这时,开阔的视野、开放的心胸,就显得尤为重要。如果一味的独断专行,听不进团队里其他同事的意见(尤其是那些学习了乔布斯的java架构师),就会非常危险。
7. 以主动学习为荣,以固步自封为耻
技术的进步实在太快,曾经有一种夸张的说法:“平均每天诞生一种革命性的、颠覆性的技术”。虽然有很多新技术,都在如此宣称,作为java架构师,却必须不断地主动学习,了解,甚至在某些领域做一些初步的尝试。这样的过程,在java架构师的整个职业生涯中,都无法停止。一旦产生了“固步自封”的念头,这个java架构师也就“不过尔尔”了。
8. 以勇猛精进为荣,以疏忽懈怠为耻
java架构师是一份困难的工作,更加重要的是:随着架构设计的完成,java架构师的工作,才刚刚开始。接下来的任务,会非常琐碎,也许会更加困难。这份工作的主题是:“架构看护”尽可能保护架构,不会随着时间的推移,随着特性的增加,渐渐变得腐化。很多最初设计得相当优秀的架构,到最后变得不堪入目。说到底,还是要怪java架构师没有能够坚持自己当初的决策。
如何提升java架构师的自我修养?
在《中庸》里,子曰:“好学近乎知,力行近乎仁,知耻近乎勇。知斯三者,则知所以修身;知所以修身,则知所以治人;知所以治人,则知所以治天下国家矣。”
简单的翻译和解释:渴望学习似乎很明智(至少是知识渊博的人),实践不能与大众分开(因为不要忘记原始的和善良的),羞耻可以保持底线(做某事) 还是不勇敢)。 即使您知道如何改善自我修养,也可以做到这三点。 只有知道如何提高自我修养,我们才能知道如何控制团队。 只有知道如何控制团队,您才能创建真正优秀的软件产品,这些软件产品甚至在全世界都广受欢迎。
这就是我理解的java架构师的中庸之道,与诸位共勉吧。