前言:
最近看了一篇总结程序员学习,晋升方法的文章,颇有感想,决定分享给大家,原文地址:给程序员的5条学习方法论 (qq.com)https://mp.weixin.qq.com/s/xVFlF9qTf9c74Emmdm0DqA
在繁忙的工作中,持之以恒、不断学习和进步是一项艰巨的任务,需要坚强的毅力和坚定的决心。如果方法得当,更是事倍功半。
1. 贵在坚持
在过去的几十年中,人类积累的知识量已经超过了之前几千年的总和。尤其在计算机科学领域,知识更新的速度是极快的,这使得工程师面对一个不可避免的现实:即使是深厚的知识体系也可能迅速过时。为了在计算机科学领域继续成为一名杰出的架构师,不断的学习和掌握最新技术成为了必经之路。换句话说,学习永远不应该停止。
学习应该永不停止
成为一名优秀的架构师的道路既长且艰,轻易放弃就意味着之前所有的努力都将白费。坚持不懈是成为优秀架构师的关键。虽然知识更新速度很快,但基础理论的变化却相对缓慢。这就好比是“道”与“象”的关系,尽管世间万象不断变化,但“道”的本质却始终如一。对于那些基础的理论知识,我们需要不断地复习和巩固。
用另一种方式表达这个观点,就是:在计算机科学领域,追求卓越的架构师必须接受知识不断更新的现实,并且持续学习以保持领先。然而,即便技术日新月异,那些构成知识根基的基本原理却变化缓慢,类似于恒久不变的“道”。因此,定期复习这些基础理论对于保持专业竞争力至关重要。简言之,永远不要停止学习。
2. 重视实践
学习领域的721模型提供了一个关于个人成长来源的观点,其中70%来自岗位实践,20%来自向他人学习,10%来自于培训。虽然这个理论有其争议性,但对于工程师而言,这种按实践、学习、培训顺序排序的重要性是有一定道理的。这表明,实践中的学习是最为关键的成长方式。
人类的认知可以分为两种:感性认知和理性认知。感性认知更多地依赖于直接体验和实践,而理性认知则依赖于逻辑和理论。在实践中学习主要涉及感性认知,通过直接参与和体验来获取知识和技能,这种方式可以让知识更加深刻和持久。相比之下,阅读书籍和理论学习更多依赖于理性认知,它们提供了知识的框架和理论基础,但可能缺乏具体应用的深度和细节。
书本知识往往传授抽象的概念和原理,而具体的应用场景和抽象概念之间的复杂关系则可能被忽略或仅仅是简要触及。因此,强调实践并充分利用感性认知的潜能,在实际项目中锻炼和提升自己,是一种更为有效的学习方法。通过在实践中刻意练习某些关键技能,可以更快地掌握这些技能并应用它们解决实际问题。
3. 重视交流
向老师和领导学习已经是人们生活习惯的一部分了。但是从同事甚至对手那里学习也很重要,因为这些人和我们自身更相似。所以要多多观察,取其所长,弃其所短。对于团队的小兄弟和下属,也要“不耻下问”。此外,在项目中积极参与具体方案讨论也非常重要。参与者先感知了相关背景,并且讨论的观点和建议也是综合了发言者多种知识和技能。所以,讨论让参与者能够非常全面、立体地理解书本知识。同时,和高手讨论,他们的观点就会像修剪机剪树枝一样,快速剪掉自己知识领域里面的疑惑点。
4. 重视总结和输出
工程师通过实践能够掌握大量的细节,但仅仅积累细节知识而不进行深入的思考和总结,就容易陷入“学而不思则罔”的状态。真正的成长不仅在于对技术细节的深刻理解(即“量变”),更重要的是通过对这些细节背后原理的深入思考,实现对技术哲理或基本原理(即“道”)的深层次理解,这才能促成质的飞跃(“质变”)。
5. 重视规划
长期规划
长期规划的核心在于“定方向”,遵循以下几个原则可以帮助减少犯方向性错误的概率:
- 远离日暮西山的行业:选择一个有前景、能持续发展的行业对未来的职业生涯至关重要。
- 做自己感兴趣的事情:热情和兴趣是驱动长期学习和工作的重要动力。
- 做有积累的事情:选择能够在既有基础上不断深化和积累的领域,可以更高效地构建个人优势。
- 一边走一边看:保持灵活性,对新的机会保持开放的态度,避免固步自封。
短期规划
短期规划则应该在生活、成长、绩效和晋升之间取得平衡,具体的步骤包括:
- 确定目标优先级:明确哪些目标是最重要的,哪些可以稍后考虑。
- 确定每个目标的下限:为每个目标设定一个最低标准,确保即使在最不利的情况下也能达成。
- 优先为下限目标分配足够的资源:确保最基本的目标可以被满足。
- 按照各主目标的顺序依次分配资源:在保证基本目标达成的前提下,为更高的目标分配可用资源。
对于学习目标,建议在给定的学习预算下制定激进但实际可行的目标,并给出具体的执行方案。这包括对规划中的各学习任务按目标优先级进行排序,并优先启动优先级最高的任务。
值得注意的是,最低目标应该设置得相对容易达到,以避免出现从优化理论角度来讲的无解情况。同时,主要目标的规划应当具有一定的挑战性,甚至可以规划一些看似不可能完成的目标,以推动自己不断前进。
最后,要记得前途必定光明,道路必定坎坷。在实际的规划过程中,不同目标之间不一定共享资源,规划之间也不一定存在冲突。在这个过程中,重要的是保持目标的价值最大化,同时保持足够的灵活性,以应对不可预见的变化。