程序员的人生:为什么要坚持学习?
发表时间:2022-06-06 14:31:35 浏览次数:102
众所周知,现在是一个知识爆炸的时代,知识更新非常快。据估计,一个大学毕业生所学的知识,只有5%在毕业后2年内有效。对于软件行业来说,这种情况更加明显。我们靠的不是现在有多少知识,而是学习能力有多强。每个人都可以学习,只是不同的人学习效果不同。一个好的学习者首先应该是一个好的读者,知道如何有效地学习,并有良好的态度。只有这样,才能成为一个有效的学习者,成就一个优秀的程序员的人生。
01为什么要坚持学习?
很多人可能会问:为什么要继续学习?难道不能靠经验积累吗?程序员这个职业的不同在于:因为行业更新太快,积累的经验很快就不适用了。例如:如果你是Java程序员,非常擅长Struts+JSP开发,那么你已经解决了Struts框架的很多问题。但是今天,这部分知识已经过时,需要重新学习。如果还坚持用以前的技术,会给同事和公司带来很大的技术负担。
行业发展太快了,你得学习。光靠积累经验是不行的,技术淘汰的速度比积累经验的速度要快得多。
02如何保持学习不倦怠?
1.工作中学习
不要一次学完所有的东西。在日常工作中,你要查阅很多东西,哪怕你在这个领域工作了十几年。但是,尤其是在你年轻的时候,你必须花时间去学习一些东西。初级求职者的工作会让你花很多时间研究东西。如果没有,他们就不应该雇佣你这种级别的人。任何编程工作都需要在你参与项目之前至少2-6个月学习公司的代码库,除非他们遵循非常传统的结构。因此,利用初级职位,尽可能有效地学习你的工作相关技术知识。一定要对自己第一个岗位所涉及的技术进行深入的研究,尽量做到比你所从事的岗位更深入的了解。
这不一定要在每个工作任务中发生,但至少应该在每个任务中发生一次。通常较低的层次比你想象的要简单,或者能让你更容易理解较高的层次。理解底层也让你有更好的嗅觉,知道代码什么时候是蓬松的,什么时候是充实的。这样可以指导你的调试,增加你的基本功,加快你以后的工作。
2.逃离一万小时定律
很多人都知道一万小时定律。现在只要提到这个定律,很多人就会明白,只要在某个领域花上一万个小时以上,就可以成为这个领域的专家。这个理论源于《异形》一书。作者马尔科姆·格拉德威尔也说过这只是必要条件,不是充分条件,但很多人忽略了这一点。
很多使用一万小时规则的人看似勤奋,其实是低效的重复,这也可以解释为什么很多有十几年工作经验的程序员,水平还很低,只是因为每天都在重复做简单的事情。
但是我们必须正确使用10000小时规则,这段时间我们需要一直待在学习区。除此之外,还有舒适区和恐慌区。比如每天做简单工作的程序员,只是停留在舒适区,所以无论多长时间,都没有进步。恐慌区要求过高,能力达不到,往往带来挫败感,最终可能导致放弃。
学习区需要我们刻意练习。每次我们能提高一点点,我们就螺旋上升。首先我们进步,然后我们到达一个瓶颈,卡住了,寻找不同的克服障碍的方法,最后找到这个方法,然后稳步提升,直到下一个障碍出现。运动也是如此。长时间不活动后的第一次,你会感觉很好,但如果同样的节奏持续一段时间,你就会进入舒适区。你需要找到其他方法来继续增加刺激,以产生持久的效果。
3.利用碎片时间进行系统学习
“碎片化”和“系统化”看似是两个矛盾的东西,但在当今信息爆炸、快节奏的时代,我们需要学会利用碎片化的时间进行系统化的学习。
小杜一直认为,学习任何技能都需要系统地学习,才能有更全面的认识和更大的视野。最好的方式是书籍、专栏等。但是首先我们要建立这个技能的知识结构,可以用思维导图。这个知识架构就像一棵树,有很多枝叶。书籍和专栏学习的输出(笔记、示例代码等。)会慢慢充满这些枝叶。我们在平时碎片化时间中学到的一些知识点,可以纳入到这棵树的结构中,而不是作为一个孤立的点。
慢慢的树会越来越大,然后需要一些优化和调整。最终树会再次变得清晰简洁,你已经知道知识了。这是一个先厚后薄的读书过程。
4.长期保持学习节奏
一旦你有了第一份工作(或者前两份工作),建立了自己的基础知识,那么问题来了,如何保持所需的学习节奏跟上技术的发展。最终还是要看你打算做什么,看你的职业规划。如果Java软件开发是带你走向下一件事的敲门砖,那么你可以消耗更多的力量和时间,集中精力在市场热点的地方,尽量从中获得3-5份工作,尽可能为下一份工作做准备。
如果你想在软件行业长期呆下去,那么我建议你不要追热点。尝试在软件开发中获得乐趣。而且,当你在构建和学习事物的过程中学会如何获得乐趣的时候,一定要把握好自己的节奏。一旦觉得自己有能力搭建中小型项目,就不用每周都100%的学习了。对于网站开发来说,这大概就是你可以自己写博客软件的时候了。你应该定期学习一些新东西。真正有帮助的一件事是有一个以某种方式记录你所学到的东西的过程,以便保持它的可持续性。
5.做项目,写Demo,看源代码
我们谈到了学习,但是程序员不可能不写Demo。在项目中尝试新技术。并不是所有的技术都能用在项目中,有些是有启发性的或者是可以类比的。需要写Demo,磨刀不误砍柴工。大量阅读,大量阅读,如果有代码辅助就更好了。比如学习ES 6+React,如果没有代码,很难想象如何掌握这些知识。在项目中尝试你学到的新知识,不能用你熟悉的技术。要知道自己熟悉的东西很快就会被淘汰,被淘汰后再调整就来不及了。多写demo,多磨刀。阅读源代码是一项非常重要的技能。至少你的代码审核技能提高了,但是成本真的很高。但如果你决定投资,阅读源代码还是很有帮助的。
总之,学习是一辈子的事情,需要我们不断探索。最后,我想给你一句史蒂夫·乔布斯的名言:“求知若饥,虚心若愚””。事实上,风云教育更喜欢它更原始的翻译“保持饥饿,保持愚蠢”。只有当我们意识到自己还很愚蠢的时候,才会真心实意地需要学习,爱上学习,像没有吃饱一样坚持学习。
注:图文素材来源于网络,如侵删!