程序猿的能力拓展模型

听人说了一个词儿,叫作“Comfortable Zone”,中文是“舒适区”。

这个词儿让我瞬间联系到程序猿的能力边界问题,我画了能力拓展模型图。例如以下:

我认为这个能力拓展模型,适用于一个人的方方面面。但这次我打算仅仅拿程序猿来扯一下。

能力拓展模型

图中左側是我们的现状,最内层的原型是我们感到舒适的区域。我称之为“舒适区”。

以程序猿为例,当程序猿的技术能力和解决这个问题的能力达到一定水平之后,就能够轻松胜任某些开发任务。解决特定实际问题,给用户带来某方面的便利。

他的能力与他接触到的问题匹配。此时程序猿处于舒适区。这个舒适区的大小是由他解决这个问题能力的大小定义和界定的。

当问题超出程序猿先有技能和经验说明,他能看到并了解,但还不能解决。那这些问题就是这个程序猿随时可能面对的挑战区,也就是图中的黄色圆型。

图中的大片的红色区域,对程序猿来讲,就是未知区域。未知即迷茫,未知即痛苦。这个区域往往是程序猿看不清或看不到的,是百慕大三角的一片未知而神奇的区域。贸然跳入。可能折戟沉沙铩羽而归。

假如一个程序猿愿意跳出舒适区。踏入挑战区。接受一定的不适,那他就能够有机会拓展他的能力。将自己的舒适区扩展得更大,他的能力模型就变成上图右側部分。舒适区变大,挑战区变大,痛苦区变大。这也是符合人类认知规律的:知道的越多,不知道的也越多。

假设一个程序猿连轻微不适都不愿意接受,那他就会渐渐固步自封。落后于别人,落后于时代。渐渐被这个日新月异的时代所抛弃,成为一个别人眼中没什么用的老家伙。

在开发过程中扩展舒适区

一个程序猿的能力。是能够通过锻炼不断变强的。

就像人的肌肉,一段时间让锻炼强度超负荷一点。适应了,习惯了,肌肉变得比原来强了。就再超负荷一点,通过这样的螺旋式递进,肌肉就会越来越强。程序猿也是一样的,你的学习能力、代码能力、设计能力、沟通能力、管理能力等等,都是能够通过锻炼来加强的(我们得考虑一个人适合做什么,假设他没有某方面的才干,尽管通过锻炼也能够加强。但违背天性的事儿通常为事倍功半)。

在软件开发过程中,一个程序猿,他会什么语言懂什么框架水平怎样,自己心里有数,项目经理通过他的表现也认为自己心里有数。那么在有新的项目要做时,通常的做法是,哪个程序猿熟悉实现Tx任务相关的技术,就让这个程序猿做Tx任务,这通常又是出于交付期、生产率、成本等各方面的考虑。

在这样的情况下。每一个人都做自己驾轻就熟的事情。对整个项目来讲。自然是最经济的。

可是对程序猿自己来讲,却是不经济的。由于你无法接受新的挑战,你的能力边界的拓展就会非常慢。

所以。合理的情况是。项目经理在划分任务时。要对程序猿负责,既给一个程序猿能轻松完毕的任务,也要给他须要费点儿劲儿才干完毕的任务,通过具有挑战性的任务来锻炼这个程序猿,让他更好更快的成长。

可是这样做的管理成本太高,所以,现实其中,非常少公司的项目经理会主动这么做(没合适人手take某个任务时会被动这么做)。

鉴于这样的现实,作为程序猿自己,假设你想更快地成长。就要表现得勇敢一些,主动走到挑战区域。去抢具有挑战性的任务。(假设不好意思主动。也能够在有挑战性的任务落在自己头上时屁颠屁颠地接受。

)一旦你拿到了对你来讲具有挑战性的任务。那你就赚到了。没错,我是有益这么说的,你赚到了。尽管你会为此殚精竭虑。尽管你可能为此加班。尽管你可能为此在别人看不见的地方付出,可是你拥有了机会和很多其它可能性,假设你顺利完毕了。那你的舒适区会扩大,你接触新挑战的机会也会变大,你就进入了良性循环,你会越来越强大。你终将走上七龙珠中悟空的变身之路,成为赛亚人,超级赛亚人。超级赛亚人2。超级赛亚人3,……直到成为超级赛亚人之神。

想想看,这是多么美好的事!

So,某个技术没搞过?不是问题。某个语言没学过?不是问题。软件结构太复杂,一时掌控不了?不是问题。

业务不熟悉?不是问题。

假设你认为这些是问题,OK,请坐看云起,等待时光带走一切然后把你丢在原地。

在渴望成就自我的程序猿眼里,问题即机会。仅仅有抓住机会。我们解决这个问题的能力才会在痛苦的历练中像雪球一样越滚越大。

很多其它精彩文章,请參考我的“漫谈程序猿专栏”。

本文曾在我的微信订阅号“程序视界”上公布。关注就可以第一时间看到我的原创文章以及我推荐的精彩文章:

时间: 2024-11-05 09:32:40

程序猿的能力拓展模型的相关文章

程序员的能力拓展模型

听人说了一个词儿,叫作"Comfirtable Zone",中文是"舒适区". 这个词儿让我瞬间联系到程序员的能力边界问题,我画了能力拓展模型图.如下: 我觉得这个能力拓展模型,适用于一个人的方方面面,但这次我打算只拿程序员来扯一下. 能力拓展模型 图中左侧是我们的现状,最内层的原型是我们感到舒适的区域,我称之为"舒适区". 以程序员为例,当程序员的技术能力和解决问题的能力达到一定水平之后,就能够轻松胜任某些开发任务,解决特定实际问题,给用户带来

一个程序猿可以控制多少行代码

 我认为大家初看到这个题目时,一定会非常奇怪,一个程序猿可以控制多少行代码全然取决于该程序猿的能力强弱,这有什么规律可循么?事实上当这个想法突然冒出来时,我也都有些诧异. 首先介绍一下我遇到的情况,我当时正在编写一个小程序,是模拟cache工作原理的.这个程序中有一个函数集的实现文件(function.cpp),大概由20个左右的函数组成,由main.cpp中的main函数直接去调用它们.这个文件我是从头開始一点一点码起来的,開始时都非常顺利,编写代码的速度也非常平稳.可是当我的代码达到60

游戏程序猿养成计划

原文地址:http://www.cnblogs.com/clayman/archive/2009/05/17/1459001.html 与玩游戏相比,写游戏要复杂上千万倍,除了须要掌握通用的编程技巧以外,还要有相当的图形学,物理,数学基础,特别是在国内.因为相关资料的缺乏,更是让刚開始学习的人无从下手.以下总结了一些入门方法和比較easy入手的资料. 首先你要精通一门高级语言,pc上游戏的首选语言就是C++. 其次.要有良好的英文阅读能力.对游戏开发人员来说英文阅读能力是最重要也是最主要的工具之

Java程序猿学习当中各个阶段的建议

回答阿里社招面试如何准备,顺便谈谈对于Java程序猿学习当中各个阶段的建议 引言 其实本来真的没打算写这篇文章,主要是LZ得记忆力不是很好,不像一些记忆力强的人,面试完以后,几乎能把自己和面试官的对话都给记下来.LZ自己当初面试完以后,除了记住一些聊过的知识点以外,具体的内容基本上忘得一干二净,所以写这篇文章其实是很有难度的. 但是,最近问LZ的人实在是太多了,为了避免重复回答,给自己省点力气,干脆就在这里统一回复了. 其实之前LZ写过一篇文章,但是那篇文章更多的是在讨论“面试前该不该刷题”这个

程序猿生存定律--成长路上常见的坑(2)

程序猿生存定律这系列的文件夹在这里:程序猿生存定律--文件夹 喜欢从头瞄的,能够移步. ------------------------------------------------------------------------------- 1. "博"与"专"上的迷失 假设说一个人的学习已经聚焦,而且学习的内容和自己实际參与的项目也相吻合,那么是不是就没有问题了?非常不幸,答案仍然是否定的,在不论什么一个子领域里,仍然须要进一步去考虑"博"

OSChina 娱乐弹弹弹——程序猿眼中的女人

程序猿,整天跟操作系统,编程语言,各种打交道,那么程序猿眼中的女人是什么样子的呢? 有程序猿曾经用操作系统形容过各种类型的女人,有程序猿用编程语言描述各种星座的女人. 小编找到了几个版本,请看: 编程语言 NO1: 计算机语言的实质其实是为了让人类能够更好与计算机打交道,最终结果都是通过编译成二进制代码或通过解释器转译成二进制代码的形式,由计算机来 执行.而二进制就是 0 和1,假设 1 代表男人,0 代表女人,那么瞬间就可以发现世界就变成了一台大"计算机".而爱情和情爱也可以看成是

程序猿菜鸟必备——作为独立开发人员怎样系统的学习编程

接触一个行业,前期最好来一个系统的学习,有完整的框架一点一点的把基础吃透,不能左一耙子,右一锄头.以我的从业经验给大家分享怎样系统的学习编程开发,刚入坑的程序猿菜鸟注意了,迅速占据高地.迅速收藏了. 整体大致分为下面几类: A.教材上的知识 这部分内容来自计算机专业的课程教材.也有可能会涉及一部分来自其它相关专业或者相关课程的内容. B.编程语言 每个程序猿仅仅有在会使用一门语言的情况下才有可能从事开发工作,所以学习并掌握一门语言是最低要求了. C.SDK 光有一门语言是不够的,从事不论什么实际

资深程序猿冒死揭开软件潜规则:无法维护的代码

原始博文公布于: Roedy Green's Mindproducts (http://mindprod.com/unmain.html ). 翻译链接: 点击打开链接 2014年11月25日 03:11 怎样编写无法维护的代码 让自己稳拿铁饭碗 ;-) Roedy Green 简单介绍 永远不要(把自己遇到的问题)归因于(他人的)恶意,这恰恰说明了(你自己的)无能. -- 拿破仑 为了造福大众,在Java编程领域创造就业机会,兄弟我在此传授大师们的秘籍.这些大师写的代码极其难以维护.后继者就是

[程序猿]推荐17个很有用的在线工具 - 简书

简 首页 专题 发钱啦 注册 登录 简首页 专题 下载手机应用 简书 交流故事,沟通想法 iOS· Android 显示模式 登录 下载简书移动应用 注册 登录 添加关注 作者 郭小力 2016.08.25 12:12 写了8570字,被20人关注,获得了67个喜欢 [程序猿]推荐17个很有用的在线工具 字数1032 阅读188 评论1 喜欢16 收藏文章 分享 1. ExplainShell.com 命令解释 对于Linux用户来说每天都会写各种命令和脚本,那么你可以使用这个网站工具来查看命令