郭东白的架构课_52_41职业成长下架构师成长的充分条件是什么
你好,我是郭东白。
上节课呢我们讲了架构师成长的必要条件,分别是思考力、信息、内化能力和适应力。
那么这节课呢我们就来聊一下架构师成长的三个充分条件,不满足必要条件就做不了架构师,但是满足了必要条件,也不一定能成为架构师,因为还需要找到满足架构师成长的充分条件。
什么才是架构师成长的充分条件呢?我先来公布答案,第一,大量高风险的决策机会,第二,对架构师友善的环境。
第三,正确的目标。
我们在这三节课里先对这三个条件一一做解释。
最后呢我再试图说明一下,为什么这些充分条件和必要条件是正确。
而且完整的以后就会想,这三个条件似乎是没用的。
废话啊,其实不是的。
所谓充分条件,意思是,如果你正好处在满足这些条件的位置上,同时不缺少必要条件,那么你就会一路高飞。
从程序员快速成长到CTO.听到这里,你耳朵是不是立马竖起来呢?这不是传说中的天马派克斯斯,一起上天马,我不就纵横宇宙了吗?不过,这世上,哪有天马,哪怕是真的,凭什么轮到我?我现韩语所所千里马常有,而伯乐不常有。
我现一整节课而详细分析。
架构式成长的充分条件,就是要帮你识马,然快马自己的成长,而不是知侧而灵之嘛。
然后说天下无马,需要呢先给你建议。
在学习这节课的时候呢,请结合自己的工作环境做深度的思考。
我现在所处的环境适合架构构成长吗?我的这个坐骑是匹千里马,还是一头倔强的老驴?我们先来看看架构师成长的充分条件之一,大量的高风险决策机会。
你可能从之前的课程也感觉到了,机会是我们这个课里面的一个高频次。
是的,每个人成长都需要机会,架构师也一样,只不过架构师需要的是大量高风险的架构决策机会。
我们在讲总架构师的能力跃迁的时候就提到过了拍板,他指的是在面临不确定性的情况下做决策的机会。
架构师的成长呢就是在更大领域的范围、更高的难度和更大的不确定性下做决策也是程序员,就是在代码层面做结构化的决策。
也制架构师呢就是在一个领域内做横向问题的架构决策。
跨域架构师就是面对复杂的团队冲突下,在多个领域间做全局最优的架构决策。
总架构师就是在整整个公司层面,面对技术发展的不确定性,顶住来自业务方的压力做出长期最优的架构决策。
Cto呢就是在整个企业层面,面对竞争环境的高度不确定性,面对成本压力和团队内部压力,做出最有利于企业长期生存的技术决策。
你可以看到,从程序员到CTO,架构决策的领域范围越来越大,挑战也越来越大,不确定性也越来越高,不意味着呢决策的风险越来越大。
为什么通过大量高风险的决策机会呢,你就能获得的成长呢?这里我想强调的是,无论做的决策是正确的还是错误的,你的每一次决策都会提升未来正确决策的能力。
在计算机时代之前呢,我们也应该能够理解这个压断。
我们从过去的经验获取可以应对未来不确定性的知识时践机会呢越多呢成长就越快。
所以不论东西方的教育都强调时间,那你可能会问我呢,我去哪里去寻找高风险的架构决策机会呢?这似乎是个鸡生蛋蛋生鸡的问题,我必须要有足够多的高风险的架构决策机会,才能成长为一个资深的架构师。
我必须是一个资深的架构师呢,我才能获得比别人更多的高风险的架构决策机会。
那么我从哪里开始这个循环呢?简单的答案呢,似乎就是人间处处是道场,修行到哪儿都一样。
其实道场和道场之间差别大了去了。
我在这里呢提一个概念就是机会密度。
什么是机会?密度呢?就是在一个行业或者一家公司内部所蕴藏的职业发展机会,平均到每个员工身上呢到底有多少一个机会?密度大的公司呢会有很多做高风险架构决策的机会。
而一个本来就没有什么决策机会的公司,哪怕你很资深,也很难拿到架构决策的机会。
你可能问了,是不是只有大公司才有很多架构机会呢?事实上呢机会密度的大小跟公司大小没什么关系,有的公司很小呢,但是却有不少机会。
有的公司很大呢,但是分到每个人头上却没什么机会。
我自己总结下来,一个公司的架构,机会的密度呢跟四个因素有关。
第一呢是赛道的竞争激烈程度。
在一个竞争激烈的赛道上,短时间会有大量的新技术和新模式涌入变化,迅速还在一个硝烟散尽的赛道上,技术迭代会逐渐停止。
第二个因素呢是公司的成长阶段,一个处于成长期的公司会有非常多的机会。
而一个已经开始老化的公司,不但没有机会,甚至非常糟糕。
第三个因素呢是公司的技术空间。
在大多数的公司和行业里,技术呢都是靠提升效率来创造价值的。
一个人均交易额越大的公司或者部门技术投入,相对来说增值就越多,机会也比较多。
但是这种机会呢是逐渐压缩的,越到后期越少。
举个例子,两年前国内一家互联网公司全年通过搜索推荐算法优化带来的大盘转化率提升只有不到百分之零点五。
可以说呢,这个领域的技术机会已经基本枯竭了。
过去一年,这两个部门的人员纷纷离职或者被离职。
其实总之呢两年前就早已种下了。
第四个因素呢是部门内软件系统的成熟度,软件呢也是有生命周期的。
如果是一个刚刚诞生的一个软件,到处都有决策机会。
但是呢一个已经老去的系统,不但没有决策机会,甚至是反过来霸占。
本来属于新生软件的机会,这类软件和他们背后的利益群体已经成为孔老夫子讲的老而不死,视为贼。
这样的祸害。
总结下来呢,一个在激烈竞争行业中,成长型的中小公司往往有大量的高风险决策机会。
也就是说呢,如果真的想要修炼自己的软件架构能力,这种公司才是你的道场。
你可能问我了,竞争激烈公司,小软件不成熟,为啥要去这样的公司呢?这不是在作死吗?你先别急着下结论这个话题呢,我们下节课再讨论。
我们接下来呢看看架构师成长的充分条件之二,对架构师友善的环境。
每个竞争赛道上的中小公司,其实呢都有大量架构决策的机会。
但并不是呢每个公司都是对架构师友善的什么是一个对架构师相对友善的环境呢?第一,相对宽裕的决策时间。
第二,对架构师意见的尊重。
第三,对错误决策足够的容忍度。
先解释的第一项相对宽裕的决策时间。
在一个竞争激烈的行业里,任何公司都没有宽裕的决策时间,而架构师需要的就是尽可能多的决策时间。
怎么获取呢?公司高层在讨论核心业务规划的时候,要邀请架构师参与,让他们提前知道公司面临的挑战以及即将到来的模式转型,而不是在公司完成最终的决策。
之后通知架构师马上就要给出设计方案。
这需要公司呢有个相对透明的文化,任何业务产品和设计的讨论,都要把对应的软件架构师邀请起来。
第二项呢对架构师意见的尊重,有不少公司做业务决策的时候,要求架构师绝对服从,积极拥抱变化,勇于挑战。
但是,在业务目标、实施时间和技术可行性方面,完全不接受架构师或者技术管理者的输入。
比如说一切架构、规划和项目实施目标都是按时间倒排架构师。
对,这些也不敢挑战。
最后呢架构师只能在设计和实施上打折扣。
时间一长呢到处都是架构缺陷。
架构师呢也被频繁指责,甚至在巨大的交付压力下,公司技术团队内部出现了反架构师和反架构规划的情绪。
避免这种后果呢其实也很简单,就是让架构师和技术团队作为决策的参与者,在决策过程中充分尊重他们的判断,不要每天拿,既要也要还要来说事。
第三项对错误的容忍度,任何高风险的决策必然有错误的可能性存在。
但是呢有些公司非常惧怕风险,会通过各种惩罚性措施防止意外事件的发生,甚至还配有严格的追责流程。
很多高风险决策中有大量不确定的新因素。
这种抵制风险的政策,会让有些架构师因为担心失败而不敢创新,不敢参与决策,甚至以各种方式隐瞒或者是推脱已经出现的问题。
哪怕口号喊的再好,流程做的再细,复盘做的再长,也没办法改变团队同学的行为。
这种环境下呢,架构师呢是什么都学不到的,就像天龙八部队的新秀派解经武功学不到,但是歪门邪道学了一大箩筐,还天天割功送团统队有道子。
解决这种问题呢其实很简单,就是放弃和改变考核的处罚机制以及追责制度。
学习亚马逊建立白s for action的文化,也就是鼓励试错的企业文化。
当然,这对公司高层的决心有着非常高的要求。
如果能在这种环境下成长,你就是骑在一个天马上,架构能力必然能得到提升。
接下来呢是架构师成长的充分条件之三正确的目标。
回顾我们对不同架构师的描述,你会发现呢架构师在不同的成长阶段需要优化不同的目标。
无论是什么目标,我们都先假定这些目标是正确的。
我们在模块一的第一个法则就提到了,从决策的最高层到一线经理都会出现设错目标的可能。
这种目标设错的原因呢有很多,比如说顶层决策者的能力不足,没看对方向。
中层决策者由于自私把目标转到最大化自己团队利益的方向上。
一线管理者呢因为信息缺失,导致决策失误等等。
你有可能认为带着一种远离纷争的态度去干好本职工作就可以了。
其实不然,一个公司呢,如果长期发生这种问题呢,必然在用人决策和文化上出了问题。
如果无力改变这个环境,你将受迫于考核压力,继而改变自己的行为和认知,来顺应这个错误的环境。
我们在模块一里面就提过,设错,目标不可怕。
但如果一家公司缺乏有效的纠错机制,那将是非常可怕的事情。
如果在这样的组织里做架构师,你很难学习到怎么通过优化软件架构来帮助公司提升生存优势的方法。
因为在最开始呢,你就没有得到过正确的目标。
换句话说,往机器学习系统里灌注的训练数据是错误的,无论怎么训练,都没办法训练出正确的模型。
反过来一个能够经常设定正确目标,哪怕项目最后这个环功,那么这个训练样本还是好好的。
反过来,如果一个项目的目标是正确的,哪怕项目最终没有成功,那么这个训练样本还是好的。
也就是说呢,能从失败的尝试中知道什么路径是不可行的。
这样的话呢,你和你周围的人也能得到能力的提升,使这种目标管理的环境呢也不难鉴别。
第样的目标在定义上就公开透明,鼓励全员参与决策中尊重数据和事实。
输入。
衡量产出的时候呢,有确定的KPI和数据结果在最终复盘的过程中不计会失败,会认真的反思和分析。
只有在这样的目标管理环境之下,架构师的每次尝试都会带领企业更加逼近真相。
讲到这里,我们就覆盖了架构师成长的充分条件了。
第一,能获取大量高风险的架构决策机会。
第二,在一个对架构师友善的环境下工作。
第三,工作环境能够一直维持正确的目标。
再结合上节课提到的三个必要条件,思考力、信息、内环能力和适行力。
我们来分析一下这些条件的完整性和正确性。
事实上呢我也没有这个话题的准确答案。
我分享出来呢,也请你帮忙判断一下我的逻辑严密性。
同时呢也欢迎你指出其中的缺陷。
但是这些充分条件就是外部给你的成长环境。
有了这样的成长环境,你就能成长为一名好的架构师。
而这些必要条件呢是你自身要具备的能力,如果不具备这些能力,你就无法做一个好的架构师。
我们先来看一下充分条件,如果你能总是能收到正确的目标,又在一个架构师友善的环境下工作。
同时呢还有源源不断的高风险的架构决策机会。
在这种情况下,哪怕你学的慢,你也最终呢会成为一名能够找到证确架构设计的架构师。
但是如果你不满足这些必要条件,为什么你会有源源不断的架构机会呢?如果你在一个小公司,没有足够的思考力、适应力和架信息内化能力,公司呢会因为你的错误决策老早就挂了。
如果你在一个大公司呢,公司相对公正,架构师人才充足,而你又连续犯错,怎么可能连续得到架构决策的机会呢?所以呢必须要满足必要条件。
这样的话呢首先不容易犯错,哪怕犯了错误,你能迅速学习改正,获得高速成长。
刚才的描述呢不是一个严格的证明,我们在呢换一个角度,试着解释一下充分性和必要性。
这里呢我引用机器学习这个学科的基础假设。
也就是说呢只要有足够多的高质量训练数据和一个能够描述足够复杂场景的模型,那么机器就会这个就会在这个数据训练下变成越来越准确。
如果我们把架构师呢想象成一个大数据驱动的算法模型,那么架构师的成长呢就是在这个模型,在不同的场景下迅速找到正确的架构设计能力。
所以我们最终要证明的是,第一,能够收敛到正确的模型。
第二,可以快速收敛。
充分条件呢其实就保障了前者,而必要条件呢保障了后者。
我在文稿里放了一张图,听完音频你可以去看一下,我也来解释一下这张图。
架构的目标呢就是算法优化目标,高风险的架构。
决策机会呢则是算法的训练集,对架构师友善的环境呢就是能够在线上持续运行的机器学习的系统环境。
三样合起来就是架构师成长的外部环境,相当于机器学习算法系统中的运行环境。
而你呢就像一个机器学习系统一样,利用大量高风险的决策机会来训练自己的架构能力。
当然这个系统啊三个重要的内部能力,也就是思考力适应力和信息内化能力。
这三样东西呢把外部环境给你的锻炼机会,最终转化成你自己的核心竞争力。
你的思考力呢其实是机器学习系统的算力。
算力越强大呢,你就能够在游戏限时间内收敛到最佳的模型。
而适应力呢就是你脑海里的思维模型演变的速度,以及对真实事件挑战的应对能力,等价于机器学习里面算法模型的演变和拟合的能力。
当你从一个架构师角色升级到另一个架构师角色时候,你的模型呢就能够升级和适配新的场景。
适应力越强,模型最终的效果就越好而由。
内化能力所积累的知识优势,就是算法模型中所包含的先验知识。
知识优势呢帮你把业务理解转化成架构设计的约束,提升设计和所在环境的匹配度。
同样呢先验知识越多越正确,算法模型的训练呢收敛就越快,最终的效果就越好,正确性也就越有保障。
我们知道呢,如果你的训练目标正确训练原则,且计算环境能够保证正常运行,那么算法呢最终会收敛到正确的模型上,也就保障了充分条件系统呢能够找到正确的模型。
对于架构师而言呢,就是找到正确的架构原则,保障最终的成长是真实和有效的。
如果算力大、收敛快,模型适配能力强,也就是算法模型能够快速收敛,这是算法模型最终胜出的必要条件。
否则,线上实验长时间得不到实验结论,你就没法获得更多的调优机会和训练样本。
对于架构师而言呢,也就是说呢你产出速度需要跟行业竞争和人才市场的竞争相匹配,这样呢你才能比别人更快的产出有效的架构设计得到有效结论,迅速迭代优化。
最终的产出是什么呢?对于机器学习系统来说呢,就是高质量的算法模型。
对于架构师来说呢,就是最优的架构设计。
充分条件呢保障了成长的有效性,必要条件呢保障了成长的速度。
如果能同时满足充分条件和必要条件,你就能获得更多高质量的成长机会,从而对架构师这个岗位上快速且有效的成长。
这节课的应用呢就是这么多。
我来简单总结一下这节课呢我们讲的架构师成长的充分条件。
第一,大量高风险的决策机会。
第二,对架构师优善的环境。
第三,正确的目标。
而上节课呢我们给出了必要条件,思考力、信息、内化能力和适应力充分条件的成长条件。
这两篇文章呢我改过啊,十多个版本其实呢我还没有完全思考清楚,也不敢说我现在给出的结论是完全正确的。
所以我欢迎你在留言区里分享对自己对这个话题的看法。
对某种角度来说呢,必要条件是先天的,要想改变还是比较难的。
但充分条件呢是后天的,是外部赋予的成长环境。
有了这样的成长环,环境呢才能成为一名好的架构师。
所以我花了一整节课去详细分析架构师成长的充分条件。
其实呢也是在想帮你认识到底什么才是有利于架构师成长的好环境。
如果你下决心做一名优秀的架构师,就必须找到一个好的环境。
他呢是pexas,是你的天马。
我们下节课呢就来讨论这个话题,最后呢是我们的思考题环节。
这里面有三道题,你可以任选其中一道作答。
第一,我们课程里面提到了关于架构师生存环境中机会密度的四个判断条件。
你用这四个判断条件来衡量一下你所在的环节,它满足这四个条件吗?有哪个条件没满足?为什么有时候呢四个条件都满足了,但是机会还是不够。
比如说公司的资金短缺,你见到过这样类似的现象呢?你呢是怎么克服的呢?第二,我们课程里面提到了对架构师友善环节的三个判断条件。
一般来说呢很难说,公司能够能完全满足,但是也很难说一点儿都不满足。
你觉得自己需要最大化哪一个条件呢?为什么?第三,算法里面有个理论叫做天下没有免费的午餐。
同样的架构师成长呢也要付出代价。
有的人呢满足了必要条件,却在寻找充分条件的过程中放弃了,因为他要付出的代价,大于他想成为优秀架构师的决心。
你经历过这样的内心挣扎吗?结果是什么?你认为该怎么样处理这种内心的挣扎呢?欢迎把你的思考和想法分享在留言区我会和你交流,也欢迎你把课程分享给你的朋友,同时呢我们一起进步。
我也请你关注我的抖音号,郭东白从这周起呢,我会在这个抖音号里发布和模块四,也就是下个模块相关的补充内容。
好,就这样,我们下节课再见。