从小白到架构师原来是这样修炼出来的
最近在看一本《架构师的自我修炼》的书籍。
断断续续读了一遍,感觉很有启发。
我发现,书中的技能类的知识,往往不是最难学的,与之相反,对于我们技术从业者,思维上的一些认识的不同,会逐渐导致人和人之间的差距。
书中讲到一个德雷福斯模型:所有专业人员都需要经历 5 个成长阶段。
不管是医生还是律师,或者是软件开发,任何专业技能的从业者都需要经历新手、高级新手、胜任者、精通者、专家 5 个阶段。
如下
如果看完一本书,知识类的东西你没用到过不了几天就忘记了,那么这很正常。
但是书中最核心的表达,能在以后时不时的想起来,并且应用到你的生活和工作中,那我觉得,这才算是阅读一本书真正的打开方式。
那么,让我们来看看,作为一个技术从业者,这本书对我们有什么启发。
新手
对于大部分的应届生,试用期和工作前一两年,其实都是处于这个阶段。
新手这个阶段,主要学习的是有关工作的规则和套路。比如用什么工具、什么框架。
如何开发程序,如何开会、写周报,如何和同事合作,业务领域的名词术语是什么意思,等等这些各种各样和工作有关的大小事情。
高级新手
通常来说,一个人大约工作两三年后就差不多掌握了工作的各种套路,可以摆脱新手阶段独立完成一些基本的工作了。
通过新手阶段的人,少部分会直接进入胜任者阶段,而大多数则会进入高级新手阶段。
高级新手其实是新手的自然延续,他不需要别人指导工作,也不需要学习工作的规则和套路,因为高级新手已经在新手阶段掌握了这些套路。
他可以熟练应用这些规则套路完成他的工作。
但是高级新手的能力也仅限于此,这个阶段的新手不明白这些规则是如何制定出来的,为什么使用这个框架开发而不是另一个框架,也不明白这个框架是如何开发出来的。
一旦需要解决的问题和过往的问题有很大不同,以前的规则套路无法解决这些新问题的时候,高级新手就抓瞎了,不知道该怎么办。
新手会自然进入高级新手阶段,而高级新手却无法自然进入其后的其它等级阶段。
在这本书中,作者李智慧也很现实的指出:
实际上,在各个专业领域中, 超过半数的人终其一生都停留在高级新手阶段。
也就是说,大多数人的一生的工作就是基于其专业领域的规则,再进行重复的劳动。
他们不了解这些规则背后的原理,也无法正面对新的问题中开创出新的解决方法规划。
那些简历上是多年如一日使用相同的技术方案开发软件项目的资深工程师其实大部分都是高级新手。
导致一个人终身停留在高级新手的阶段,原因有很多,书中简单的列举了几项:
其中一个重要的原因就是高级新手并不知道自己是高级新手,高级新手,直觉得自己在这个专业领域混的还不错,做事熟练,经验丰富。
然而事实上,这种熟练只是对既有规则的熟练,如果岁月静好,一切都循规蹈矩,那么也没有什么问题。
但一旦行业出现技术变革,或者工作出现新情况,高级新手就会遇到巨大的困难。
世界上各行各业都存在大量的高级新手,只是软件开发领域的技术变更更加频繁,问题变化也更加迅速。这使得高级新手的问题更加突出。
胜任者
少部分新手和高级新手会在工作中学习、领悟规则背后的原理,当需要解决的问题变化,或者行业出现技术革新时,能够尝试学习新技术,解决新问题。这样的人就会进入胜任者阶段。
胜任者工作的一个显著特点是,做事具有主动性。
他们在遇到新问题时,会积极寻求新的解决方案去解决问题,而不是像高级新手那样,要么束手无策,要么还是用老办法解决新问题,使问题更加恶化。
胜任者能够解决新问题,但他们通常只会见招拆招,局限于解决问题本身,而缺乏反思精神以及全局思维。
为什么会出现这样的问题,如何避免类似问题再次发生?这个问题在更宏大的背景下,处于什么位置?还哪些类似的问题?对于这些问题,胜任者很少会去思考。
精通者
精通者,拥有反思精神和全局思维。
即使没有新问题也能够进行自我突破、寻求新的出路的人,通过主动学习进行提升,主动进行大量的阅读和培训,而不是仅仅依靠工作中的经验和实践。
他们在完成一个工作后会反思:哪些地方可以改进,下次怎么做会更好。拥有自我改进能力。
精通者拥有了自我改进的能力。
高级新手会把规则当做普世性的真理,甚至引以为豪,而精通者则为明白所有的规则只会在特定的场景下才会有效。
工作中最重要的不是规则,而是对场景的理解。
专家
最终各行各业大约只有 1% 的人会进入专家阶段。
专家阶段会把过往的经验融会贯通。这个级别已经是顶级的层次了。
专家会把过往的经验都融汇贯通,然后形成一种直觉,他们直觉地知道事情应该怎么做,然后用最直接、最简单的方法把问题解决。
专家通常也是他所在领域的权威,精通者和胜任者会学习、研究专家是如何解决问题的,然后把这种解决方案形成套路,成为行业做事的规则。
如何在工作中成长
德雷福斯模型告诉我们,人的专业能力不会随着工作年限的增加而自然增加长,多数人会终身停留在高级新手阶段。
那么如何在工作中不断的成长提升自我,最终成为专家呢?这本书也给大家分享了三个建议,仅供参考:
勇于承担责任:如果你只是去遵循别人的指令,按别人的规则去做事情,你永远不会知道事物的真相是什么。
只有你对结果负责的时候,在压力之下,你才会看透事物的本质,才会抓住技术的核心和关键,才能够让你去学好技术。
用好技术,在团队中承担核心的技术职责和产生自己的技术影响,并巩固自己的技术地位。
在实践中保持技能:不断超越自我,挑战自我的工作。也就是说,每一次在完成一个工作以后,下一次的工作都要比上一次的工作难度再增加一点点。
不断地让自己去挑战更高难度的工作,从而拥有更高的技术能力和技术认知。多实战、多思考、多总结。
关注问题场景:善于根据问题场景发现解决方法的那个人,如果你关注场景,根据场景去寻找解决办法,也许你会发现解决问题的办法可能会非常简单。
也许并不需要多么高深的工具和方法就能够解决。基于场景寻找解决方案。
看书是一个架构师进阶路上一个必要的过程,都是想要完全找我跟理解还是需要一定的时间,所以我特意整理了一下,有很多问题不是靠几句话能讲清楚,所以干脆找朋友录制了一些视频,很多问题其实答案很简单,但是背后的思考和逻辑不简单,要做到知其然还要知其所以然。
如果想学习 C++工程化、高性能及分布式、深入浅出。性能调优、TCP,协程,Nginx 源码分析,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK 等技术内容的朋友可以看一下这个:C/C++Linux服务器开发高级架构师/C++后台开发架构师
【文章福利】另外小编还整理了一些 C++后台架构师相关面试题,教学视频,后端学习路线图免费分享,需要的可以自行添加:学习交流群点击加入~ 群文件共享
评论