国内: 小时候努力,到大学后就不努力了。
国外: 到大学后才开始努力,很快就超过国内学生。
Tutorial(指南) 和 API Reference(应用编程接口参考) 层次的信息资料能帮助你快速上手开发,而 Spec(技术规范)和 Code(源代码)会帮助你深刻地理解这门技术。而其他相关的技术书籍和文章其实是作为一种补充阅读,好的技术书籍和文章应该有官方资料中未涵盖的特定经验或实践才算值得一读。
张铁蕾在文中如是说:
>
每当我们接触一项新技术的时候,都要把手头的资料按照类似这样的一个金字塔结构进行分类。如果我们阅读了一些技术博客和技术书籍,那么也要清楚地知道它们涉及到的是金字塔中的哪些部分。
我深以为然,关于技术学习我们不能简单地蜻蜓点水、复制粘贴、拿来主义,应是去建立你的知识 “金字塔”,形成体系结构,而每次的学习实践都是在不断完善你的 “金字塔”。至于更多技术性学习的细节,若你感兴趣的话,也可以去看看那篇文章。
## 路径
保持学习,不断成长,工作也许还在重复,但成长却在迭代上升,然后才会有机会面临更多可选择的路径。
程序员在攀登职场阶梯的道路上,走过了高级,后面还会有好些分叉路线。比如,转到脱离技术的纯管理岗或者技术管理岗。技术主管或架构师某种意义上都属于技术管理岗,不懂技术是做不了这两个角色的;或者继续沿着深度领域走,成为细分领域专家。
这后面哪条路适合你呢?你是随大流,还是自己认真思考和决定?这是做选择题。如果一生要工作三十多年,前十年你多在做解答题,解决一个又一个问题。那么在大约走过这三分之一后,你就会开始做越来越多的选择题。为什么呢?因为一开始可能没有太多可供你选择的机会。而后续做好选择题,则需要大量学习,还需要不断地试错。
面对怎么选路的问题,我近些年学习的收获是这样的:**选择走最适合实现个人价值的路**。这就是我的基础选择价值观。程序员的个人价值该怎么实现?该如何最大化?程序员作为个人贡献者,到了一定的熟练阶段,产出基本就稳定了,而技能的成长却呈现对数曲线的增长特征。
任何一个你所尝试提升的事情都有一个增长曲线,这个曲线有两种形态:
- 对数增长形态:这种类型在初期增长很快,但随后进展就越发困难;
- 指数增长形态:这种类型在初期增长很慢,但存在积累的复利效应。
增长要么是对数形态,要么是指数形态,很少有线性的。
对数增长也意味着更容易退步,因为起步阶段是如此陡峭(见对数曲线示例图)。比如,学习一门新的技能,不持续去应用,很快就忘了,退回原点。那你应该如何应对这种“窘况”呢?我建议你在起初的高增长阶段,学习和工作的关注点需放在养成长期习惯上,因为虽然开始增长很快,但需要小心一旦停止努力它可能会向下滑落,所以一定要慎之又慎,坚持形成自己的习惯和节奏。
而指数增长则意味着存在一个拐点的 “突变” 时刻。很多人期望线性增长,但实际却是按指数增长的,这让许多人在拐点发生前就放弃了。比如,写作,在呈指数增长的领域内,到处都是半途而废者。所以,做本质是指数增长曲线的事情时,柔韧且持久的思维模式是关键。
工作多年后,技能的增长就又进入了对数的平缓区域,通常其回报呈现递减趋势。也就是说你在其上花的功夫越来越多,但你感到越来越难产生洞察以获得新的收益。其难处在于找到新的突破点,重新回到曲线陡峭上升的部分。
这就是所谓成长的瓶颈,你要学会应用指数增长的方法,找到价值贡献的放大器。作为程序员,你有可能很幸运地编写服务于数千万或数亿人的软件服务,这是产品自带的价值放大器。这样同是写一份代码,你的价值就是要比别人大很多。而转管理者或架构师,这些角色无非都是自带杠杆因子的,所以也有价值放大的作用。但个人能否适应得了这样的角色转换,又是另一回事了。
拉姆·查兰有本书叫《领导梯队》,书里把人才潜能分成三种:**熟练潜能、成长潜能和转型潜能**。原书对这三点做了详细的特征描述,我简单提炼下主要特点:
- 熟练潜能:关注当前专业领域且十分熟练,但没有显示出在开发新能力上的努力,竭力维持现有技能。
- 成长潜能:按需开发新能力,显示出高于当前层级要求的其他技能,如:专业、管理、领导。
- 转型潜能:持续有规律地开发新能力,追求跨层级的挑战和机会,展现雄心壮志。
人力资源管理中的高潜人才盘点,基本就来自这套模型,主要就是识别出这三类潜能人才。“熟练潜能” 已是我们这行对学习的最低要求,在程序员这个技术日新月异的行业里,维持现有技能确实已经让不少人感觉很竭力了。
那你拥有怎样的潜能呢?它不一定都是天赋,可能也是选择。
成长这条路从来都不是笔直的,你的“奔跑速度”也不会一直是匀速的。在每一个拐弯处,都应减速,思考,学习,然后再加速,进步。
到此我总结下今天的分享:
程序员的工作形式是编程产出代码,本质是完成需求,交付系统;但在工作中容易陷入不断完成的循环怪圈,要打破它,就需要你持续学习并有意识地关注交付代码的品质和属性,一方面提升了交付质量,另一方面也获得了个人成长。
而学习的路在时间上是永远持续的,在空间上也是有路径的;有效的学习需要你关注学习曲线的变化,遵循有体系的技术学习框架,匹配适合当前阶段的学习资源。
最后,关于工作和学习,有人总感觉有些冲突,忙起来就没时间学了。那你是怎么看待这件事呢?欢迎留言分享你的观点,我们一起探讨。