当前位置: 首页 > 科技观察

程序员自身能力拓展模型

时间:2023-03-22 13:36:31 科技观察

听说过一个词叫“ComfitableZone”,中文意思是“舒适区”。这句话让我瞬间联想到程序员的能力边界问题,画了一张能力扩展模型图。如下:我觉得这个能力扩展模型适用于一个人的方方面面,但是这次我打算只讲程序员。能力扩展模型图左边是我们的现状,最里面的原型是我们觉得舒服的区域,我称之为“舒适区”。以程序员为例,当程序员的技术能力和解决问题的能力达到一定程度时,就能轻松完成某些开发任务,解决具体的实际问题,给用户带来某些方面的便利。他的能力与他所面临的问题相匹配,此时程序员处于他们的舒适区。这个舒适区的大小取决于他解决问题的能力的大小。当问题超出了程序员先前的技能和经验时,他可以看到并理解它,但他无法解决它。这些问题是程序员随时可能面临的挑战领域,也就是图中的黄色圆圈。图中红色的大区域是程序员的未知区域。未知是困惑,未知是痛苦。这个区域对于程序员来说往往是不可见的或看不到的。这是百慕大三角一个不为人知的神秘区域。贸然跃入其中,恐无戟而归。如果一个程序员愿意跳出舒适区,踏入挑战区,接受一定程度的不适,那么他就有机会扩展自己的能力,更加扩大自己的舒适区,他的能力模型就会成为上图中右边的那个。侧面部分,舒适区变大,挑战区变大,痛苦区变大,这也符合人类的认知规律:知道的越多,不知道的就越多。如果一个程序员连一点点不适都不愿意接受,那么他就会逐渐原地踏步,落后于别人,落后于时代,逐渐被这个瞬息万变的时代所抛弃,成为别人眼中一无是处的老家伙.在开发过程中,可以通过锻炼不断加强程序员拓展舒适区的能力。就像人的肌肉,超负荷一段时间的运动强度,习惯了,习惯了,肌肉比以前强壮了,再超负荷一点。通过这样的螺旋式进展,肌肉会变得越来越强壮。程序员也是如此。你的学习能力、编码能力、设计能力、沟通能力、管理能力等都可以通过锻炼来加强(要考虑一个人适合做什么,如果他没有某些特长,虽然也可以加强通过锻炼,违背自然的事情通常效果较差)。在软件开发的过程中,一个程序员知道他会什么语言,他知道什么框架级别,项目经理也通过他的表现认为他知道他知道什么。那么当有新的项目要做时,通常的做法是任何熟悉实现Tx任务相关技术的程序员都应该让这个程序员去做Tx任务。这通常是由于交货时间、生产率和成本等各个方面造成的。考虑。这种情况下,大家做自己熟悉的事情,对整个项目来说自然是最经济的。但是对于程序员本身来说,是不划算的。因为不能接受新的挑战,所以能力边界的扩展会很慢。因此,合理的情况是,项目经理在分工时,应该对程序员负责。他不仅应该给程序员一个很容易完成的任务,还应该给他一个需要付出一点努力才能完成的任务。这个任务锻炼了这个程序员,让他成长得更好更快。但是这样做的管理成本太高,所以现实中很少有公司的项目经理会主动去做(当没有合适的人手来承担某项任务时,他们就会被动去做)。鉴于这样的现实,作为程序员自己,要想成长得更快,就得勇敢一点,主动去挑战区,去抢挑战任务。(如果你不好意思主动,挑战任务落到你头上时你也可以接受。)一旦你拿到了对你有挑战的任务,那么你就赚到了。是的,我是故意说的,你赚到了。虽然你会为此努力,虽然你可能会为此加班加点,虽然你可能会在别人看不到的地方付出,但你有机会,有更多的可能。如果顺利完成,你的舒适区会随着你的扩大,你遇到新挑战的机会也会增加,你会进入一个良性循环,你会变得越来越强大。你最终将踏上龙珠中悟空的蜕变之路,成为赛亚人、超级赛亚人、超级赛亚人2、超级赛亚人3、……直至成为超级赛亚人之神。想想看,这是一件多么美妙的事情!那么,你没有从事过某项技术吗?不是问题。没学过语言?不是问题。软件结构太复杂一时难以驾驭?不是问题。不熟悉业务?不是问题。如果你觉得这些都是问题,好吧,请坐看云起,等待时间带走一切,把你留在原地。在急于成就自我的程序员看来,问题就是机会。只有抓住机遇,我们解决问题的能力才会在痛苦中越滚越大。