程序员是一个须要终生学习的职业。我很是同意终生学习,你应该这样作。可是,在软件开发领域,有如此多的新技术,有如此多要学习的东西,咱们在学习中会感受被彻底压垮了。程序员
你感受你一直在扮演追赶的角色,可是一直都赶不上。就像是跑步机一直比你能跑的最快速度还要快几步,你一直受挫,还有在最后关头掉队的危险。学习
试着学太多spa
问题就是尝试学太多致使的。有100种不一样的技术,这些都是你必须或想要在工做中应用的。你感受为了可以胜任,为了作到最好,你须要学习和精通全部的这些技术。然而问题是,你感受你其实一个都不精通。视频
这是个很是轻视的感受。回应这种感受——有时候证实这是骗子综合症——你拿起书,课程视频,和全部你以为须要精通的技术的各类资源。资源
你把晚上和周末的时间都用来读书,进行在线训练而且读一些博客。开发
可是,这样是真的有效,仍是让你承受了太大的压力?博客
你能记得你读的一半内容吗?io
你会真的用到它吗,或者你为将来的某天准备——我可能会须要这个桶?学习资料
个人观点并不是是大家不该该学习,只是可能你承受了太大压力想要学太多东西。class
我这样说是由于我也曾经是这样。我这样作过,我知道这是什么感受。
我也知道这样用强行的步骤学习不是颇有效。我不能记起大部分我读过的技术书,而且在工做中不多或者没有应用过。
我知道我学习的技术最好是能在实践中应用。事实上,个人一些最有用,而且保留下来的学习成果,是由于学习我当时作的事情,可是我处理一个问题,没法解决,于是我必须寻找一个答案。
及时的学习
看起来可能会很奇怪 ,像我这样合理分配软件开发学习资料的人会告诉你,不要去学习太多东西。
可能更合理的状况是我跟你鼓励要吸取全部你能接受的信息。你应当在你吃饭,睡觉的时候接二连三的看个人课程资料,而且将其应用于工做。
但事实是,我不认为这是最有效的学习方式。我不认为你不停地看个人课程就能学到不少东西。
我以为改进技能的最好方法就是学习,你须要作的就是在你正须要这些知识的时候学习,所谓的及时的学习。
这不意味着在了解一门技术前就开始相关的工做。若是你对要使用的技术一无所知,你会在开始阶段就浪费大量时间。可是,我发现只要先作了一下的三件事,你就可以开始使用这门技术开始工做了。
如何起步
用这门技术能作什么
在你90%的时间里都会用到的东西
这并不是巧合,我大部分的在线课程都是这样的结构。我试着告诉你如何起步,展现它能作的,而且告诉你一些基础。我试着避免深刻技术各个方面的细节,由于这些东西最好是你须要它们的时候再去学习比较好。只要你知道了如何作,具体的细节能够之后再学习。
一般,学一门新技术最难的地方是学习它能实现什么。
我发现,越快在实际中应用一项技术而且解决实际的问题,越可以有提升。只要你作到了以上我提到的三点,能让你的时间更好的花在用技术解决工做中的问题而不是仅仅学习技术自己。
尽管很难放弃和投入。咱们的直觉告诉咱们一直读书,一直看视频,在开始作事前一直的学习。
你可能会迫使本身在用一门技术前就精通它,但你必须学会忍受催促。你必须在犯错和遇到阻碍的时候学习。真正的学习是发生在你须要它的时候,而不是在以前就得到它。
若是你知道了经过一门技术能作什么,而且还了解了足够的基础,那么在遇到实际中更多问题时,也彻底没有问题。及时的学习在长远来看是更加有效的,而且可以让你不用花费大量时间去处理你消化不了的信息。
即便你有足够的时间学习,即便你使用及时的学习,你仍然只会学到软件开发领域的一点点。新技术天天都在出现,现有的技术也在不断发展。
意识到你不可能把全部的东西都学会是很重要的。你不可能所有学会,而你知道的可能只是现有技术的一小部分。
这是我谈到专门钻研某一方面的缘由之一。你最好能选一门技术,而且深刻钻研它而不是全部的技术都想要精通。
这不意味着你不该该在不一样的方向上扩展你的技术;你固然应该尝试不一样的东西。不要以为你能在好几个领域内都可以精通。试着让你的学习集中与两个主要的方面:
一个你要精通的特长
在软件开发领域里通用的技术(《代码大全》)
不要去让本身的精力太分散。在你须要的时候根据本身的能力进行学习。若是你基础很好,依靠时间和经验,你能学会任何你须要用到的技术。
有时候,一些超级程序员看起来什么都知道,而且什么都能作,但这只是幻觉。这些超级程序员一般是在一两个领域内很是精通,而且了解大量在不少领域里通用的知识。