要走多远,要把一件事干成,取决于个人的努力,更取决于你和谁同行。与强者同行,你最终也能成为强者。与半途而废的人同行,你最终也将半途而废。
曾国藩有一句名言“天下事,在局外呐喊议论,总是无益,必须躬身入局,挺膺负责,方有成事之可冀。”
优秀的软件架构师
1.软件架构师要坚持到一线去,到项目中去,与大家一起做架构设计,做方案设计和特性设计,甚至包括一些关键代码的实现。
2.一个优秀的架构师,首先需要一定的技术广度,能够把握全局,能对本领域内的关键技术和方案有全面深入的了解。其次需要有足够的技术深度,要能够对关键技术的实现细节有深入的了解,能够将设计方案具体落地,并通过代码运行的反馈结果反向对系统架构和设计方案进行优化和微调。只有把理论与实践结合起来,将设计和代码实现结合起来,才能做出高质量的产品。
3.架构师可以不写代码,但要具备写好代码的能力,要对整个系统的代码实现都比较清楚。可以把自己设计的一个流程代码写出来,在实际环境中运行看看。不要写什么“框架代码”或“伪代码”。
4.优秀架构师要能够解决最难的问题。要仔细阅读所有问题记录,用户投诉记录,所有设计文档、测试文档,看完所有代码,分析代码。华为一位优秀架构师20年完成了超过650万行代码分析。
5.分析代码,review (检视)代码,才能定位问题。软件工程师都不喜欢看别人写的代码,特别是不规范的代码,往往以代码不规范为由放弃之前所有的代码,完全重新编写代码。但是,要成为一名优秀软件架构师就要学会看代码和分析代码。
6.做设计,也要写代码。写出来代码才能验证你是否做到了性能优化。
7.架构师和开发的边界问题。架构师需要“手伸长一点”,扶上马送一程。架构设计完了,要帮助开发想想怎么实现,关键流程是怎么走的,主要接口有哪些,哪些方面可能有性能问题/可靠性问题等。二是,架构师要不断提高自己的设计能力,要多积累技术方案和架构原型,设计时做到“胸有成竹”,而不是临时造轮子。优秀的架构师是在做选择题,而不是在做填空题,是从众多的方案中选择一个最适合当前业务的场景。
以上是一位华为7级技术专家谈什么是一名优秀软件架构师。我们想干成一件事,就要与优秀的人同行。这位优秀的高级技术专家2019年10月份开始跑步,每年累计200公里。他说:“枯燥无味的跑步和马拉松,我很快就适应了,一直在跑。为什么?就是我坚持了20年分析源码,坚持28年打羽毛球,坚持36年写日记。3年的跑步和马拉松,和这些比根本算不了什么。”分析源码20年,你想想20年前他在做什么?想想你自己,选择一件什么事情坚持做30年?不要说你不知道,因为,至少你可以写日记。