大家好,本文给大家分享出自《软技能:代码之外的生存指南》一书中的十步快速学习法。由于本文是博主的的处女作,所有稍稍说两句题外话。首先如果您在看完本文以后能给您带来一些实际的帮助,我将感到十分荣幸,其次如果您能在评论区给出您宝贵的意见或建议,或者是指出文中的不足以及博主本人的不足,本人将十分感谢!
唠叨完毕,首先简单介绍《软技能:代码之外的生存指南》这本书,英文名称《Soft Skills: The software developer's life manual》,作者John Sonmez,豆瓣评分8.0。这里截取书本简介的一段话,以便大家有更直观的认识。“本书聚焦于软件开发人员生活的方方面面,从揭秘面试的流程到精耕细作出一份杀手级简历,从创建大受欢迎的博客到打造你,从提高自己工作效率到与如何与“拖延症”做斗争,甚至包括如何投资不动产,如何关注自己的健康。本书共分为职业篇、自我营销篇、学习篇、生产力篇、理财篇、健身篇、精神篇等七篇,概括了软件行业从业人员所需的软技能”。通过这短短简介相信可以让大家对这本书有比较直观的了解,今天给大家分享的“十步快速学习法”正是出自书中的学习篇。(ps:博主个人5星推荐这本书,个人觉得书中很多内容值得借鉴)
下面开始介绍“十步快速学习法”,以下简称“十步”。下面依次介绍:
第一步:了解全局
这一步主要要求我们对学习主体的相关内容有一个全局性的了解,即要对我们的学习目标,有基础的认知。一般可以通过网络帮助我们,当然也可以通过自己已有的经验,或身边这方面的大佬的意见。(ps:如果身边有这方面的大佬,别忘了请大佬喝冰阔落!),总之我们在这一步要做到知己知彼。
第二部:确定范围
这一步我们需要集中精力去明确自己到底要学什么,尽可能的保持专注,即一次只学一样东西,结合自己的时间、能力。例如我现在想学C#,通过上一步我现在知道了C#和Java差不多都是一门面向对象的高级编程语言。那么现在我给自己定了一周的学习时间,我希望通过这一周的学习时间可以使我完全掌握C#。这当然是不可能的!所以在这一步我需要把学习范围定的小一点,因为我只有一周的学习时间,现在我重新确定范围,一周时间我希望我可以使用C#输出一行“hello world!”。(ps:这目标很明显是要偷懒)现在我们的范围定义的很小,但它很明确,现在我可以去进行下一步了。
第三部:定义目标
在上一步我给自己定下的范围是使用C#输出一行“hello world!”,这其实不属于一个范围,它其实属于一个明确的目标。也就是说我在上一步,其实把这一步的要做的工作也给做了,就是定义目标。这里要说下,在实际运用“十步”的过程中,并不是一成不变的,有的时候我们的范围很小,小到它就是一个目标,所以我们完全可以合并一些步骤。作者在书中也多次提到,如果你对十步进行了一些修改,让它变的更适合你本人,这没什么不好的。好的,现在我觉得我用一周的时间仅仅是做到输出一行“hello world!”的话,这会让我感到羞愧,于是我改过自新,战胜懒惰,重新制定范围,那就是我要掌握C#的输入与输出。现在我要为这个范围定义一个明确的目标,输入姓名,输出“hello,姓名”!(ps:果然改过自新什么的都是骗自己的!)
第四部:寻找资源
现在我已经有了目标,是时候开始学习了,等等学习开始之前我们还有三步要走。在这一步,我需要去找一些学习资料,以便让我完成我的学习目标。即可以帮助我们达成学习目标的书籍、教学视频、博客、示例项目、在线文档,相关专家等等,但不建议只依赖一本书、或一个视频,尽可能合理的准备各种资源,以免因为资源的单一而使我们产生偏见。(ps:相信完成我的目标只需要一篇博客就可以了,但是我还是决定买一些书籍,如《C#从入门到放弃》)
第五步:创建学习计划
三天后,我已经手握“圣经”--《C#从入门到放弃》,迫不及待的准备开始学习了,但是学习之前我要为自己创建一个学习计划,这一步是重中之重,制定合理的学习计划,可以让我们高效的快速的达成学习目标。即第一步-第二步-第三步-第N步-目标达成;那么如何制定合理的学习计划呢,这里推荐参考收集来的书籍的目录,当然一成不变的将目录搬下来,绝大多数是不适合我们自身的,所以此时需要我们聪明的脑袋瓜帮助我们制定一份合情合理的学习路径。例如如果我将《C#从入门到放弃》的目录直接搬下来,那么我可能放弃这次学习了。(ps:前提是我可以买到这本书)现在我参考书中的第一章第一小节“掌握输入与输出”,并制定了学习计划--输出 > 输入 > 输入和输出相结合。
第六步:筛选资源
在上一步我参考书籍目录制定了详细的学习计划,此时我突然发现我使用百度,找到了一篇比书中介绍的更详细的博客,所以我决定把这本书束之高阁。在这一步我们主要对第四步的产出,进行筛选,这是因为我们在寻找资源时,尽可能的寻找需要的资源,这导致会有重复的资源,现在在有了详细的学习计划后,我们可以把重复的、不需要的资源筛掉。(ps:此时如果你觉得我的书好像白买了,那你就错了,因为我不是人傻钱多,我只是买来装个? 此处河蟹!!!)
第七部:开始学习、浅尝即止
终于我可以开始学习了,快速浏览了一遍博客,我要去敲代码了。这里着重说一下,浅尝即止,即获取足够多的与当前所学主题相关的信息,并且可以支撑进行下一步的动手操作。在这一步很容易犯两类错误:一类错误使在知之不多的情况下就盲目开始,当然如果现在已经严格执行了以上六步,相信不太会犯这个错误。现在要注意的是第二类错误了即准备过多,行动太晚。
第八步:动手操作,边学边玩
大约历时10分钟,我写出了示例代码,并且它可以完成简单的输入与输出。这一步主要要求我们,在实际动手过程中发现问题,并带着这些问题去学习。(ps:如果觉得听起来很耳熟,请不要怀疑,在学生时代我们可能听过很多遍。)
第九步:全面掌握,学以致用
此时我膨胀了,我觉得单纯的输入与输出不满足了,我想如果我可以读取一个文件中的内容,并对以输出,我将会有更大的成就感,于是默默翻开书,找到文件的读取,并开始动手操作。现在我已经完成了我初始的目标,并且还不满足于这个目标。所以我觉得晚饭应该给自己加个鸡腿
第十步:乐为人师,融会贯通
新的一周开始,我把学到的内容交给了其他开发小伙伴,尽管他们一脸不屑,但是我乐在其中。并且我使用的更熟练了。
好了,以上就是“十步”的主要内容,最后要说下“十步”大致可以分为两个部分,1-6步为准备部分,7-10步为学习掌握部分。准备部分在整个学习过程中,是一次性的,而学习掌握部分就需要我们对每一个小的学习目标进行重复使用,所以请不要觉得准备工作太繁琐。工欲善其事必先利其器的道理相信大家都懂得。(ps:当然能做出一些变动以使得更贴合自身当然更值得给自己加)。最后的最后希望大家好好学习,天天向上!加薪升职,每天都有好心情!不要忘了,如果可以,请在评论区留下您宝贵的意见,我将非常感谢。感谢您看到这里,如果觉得有用不妨去试试吧。欢迎关注博主,在以后的时间里会带来更多的分享,当然也包括一些技术上的分享。