序言
首先介绍一下本人是一个工作了4年的android程序员,最近隐隐之中的危机感一直伴随着我,回顾自己的工作经历,完全说不上有什么亮点,再检查一下自己的技能树,技能也因为繁忙的工作和缺少学习一塌糊涂,简而言之没有深度也不够系统,眼看着我要被自己困在这个岗位上无法升职加薪,所以打算振作起来,花一年的时间提高自己,然后在来年初跳槽。
为什么要花一年的时间来做这件事呢,第一在编程岗位呆了这么久,除了会搜搜代码复制粘贴,用用别人的框架来完成需求,其他的乏善可陈,竞争力已经没有了,现在出去也不会有更好的机会。如果靠刷题,背背面经,吹吹水通过面试的话,自己也没有提升,需要靠这一年培养学习的习惯和工作的态度。
准备工作
首先"磨刀不误砍柴工",第一步应该是准备学习的方法、学习的工具以及制定学习的内容。这个之前我是吃过亏的,之前逮着什么看什么,工作遇到了问题看两眼,往深了一看,这都是什么妖魔鬼怪,马上就放弃了。学习的效率很低,而且学的东西都浮在表面。因为学习这个东西是依靠基层建筑的,底子越好,后面越畅通,但是打基础非常枯燥,而且随着学习的进行越来越多不知道的东西涌入,大脑直接NG了。
搜集资料
由于我没有什么前辈可以请教(目前的工作不在互联网公司),所以只能发挥程序员的基本功能了上网搜索,百度效率太低,简书也搜索过但是太多相同的文章而且卖课的居多(其实我对贩卖知识是没什么意见的,不过我喜欢自己找寻方法)。最后选择了在知乎收集资料,因为高赞的答案不会重复,而且有很多不同的见解,我可以选出适合自己的方式。总结如下:
(1)如何确认知识的范围
首先不是所有的知识都是有必要学习的,你应该先将想要学习的知识归类,认识到哪些知识是基础知识必须掌握,哪些是知识外延,哪些只要了解一下有个印象就好。学习不只是追求长久的积累,也是要讲究效率的,学习无用的知识无疑是拖了自己的后退。这里就用上了第一工具,画出你自己的知识树,也可以说是知识脑图,将核心的东西标为树干和树枝,叶子则是延伸出去的知识。首先忽略叶子,关注树干和树枝的知识,然后选择方向将叶子补齐。先列出我目前的知识树,目前是没有叶子的只有树干,之后我会慢慢更新:
(2)如何做笔记
首先学习了知识,但是不做笔记这个是万万不行的,“好记性不如烂笔头”。但是要如何做笔记呢,很多人只是把听到的看到的东西原封不动摘抄到了本子上,我只能说这个毫无意义。第一,记录的东西很乱,导致你看的时候可能都回忆不起来当时的思路。第二,没有用脑,记忆根本没有化为知识。看完了知乎所有的回答之后,我的选择是 康奈尔笔记法 + 博客文章的方式。首先简述一下康奈尔笔记法吧,就是将记录的本子分为3个部分,第一部分记录看到知识,第二部分将知识总结为简短的线索,第三部分盖住第一部分的知识后通过第二部分的提醒,记下自己总结出的知识,我说的不够详细,具体的可以从网上搜索使用方法。
康奈尔笔记法的好处是:
1.你能用自己的语言总结提炼知识,说明你掌握了,如果不行,说明你没有掌握。避免了自以为掌握了,到时候脑子一片空白,这种尴尬的局面。
2.人脑的记忆是有模式的,一天之后就能轻松忘记70%的内容,所以我们需要一个间隔之后做一次回忆,所以学完一部分知识之后通过第二,第三部分进行提炼和回忆,可以巩固知识。
为什么还要选择博客文章
虽然康奈尔笔记法的第三部分,用自己的话提炼总结了知识,但是过于片段。而写博客文章则是需要将所有的知识串联起来,是一个化零为整的过程。写文章分享给大家,需要考虑观众看文章没有阅读那么多的背景资料,如果写出来的文章对他们来说都浅显易懂,那么说明你对知识的理解已经非常到位了。
(3)如何练习
如果记录笔记展现的是你收集知识的能力,而练习则是巩固你的记忆,以及将你的知识化为能力的过程。大家都有一个印象,就是当你突然遇到一个非常难的任务的时候,只要和这个项目相关的知识都能集中注意力学习,而且效率奇高,等任务结束以后还能记住大部分。这个就是练习的魅力了,也是我们上学的基础。学习然后作业,最后考试,都是用练习来巩固你的知识。知行合一,才能融会贯通。目前我能想到的方法:
LeetCode
刷题网站,是不是找回了上学的感觉。所有的题目都可以代码完成,在线验证,还可以在评论区看看别人的回答,看看大家对同一个问题的思路。
个人项目
针对你学习的知识,可以拟定一个感兴趣的项目,制作完成之后可以发到最大的亚洲男性交友平台github上。有针对性的项目,不仅增加了不少的趣味性,而且对于如何使用你手上的知识会有更好的认识。
(4)效率工具
为什么最后会说到效率工具呢,因为我们都是懒汉。看书看着看着突然发起呆来,拿起手机看个时间,突然又刷起朋友圈来。打开电脑搜索资料,最后不是在刷无聊的网页(说的就是你,简书,还有你,知乎),就是打起了游戏。emmm,面对了很久自己这种无语的行径之后,我决定寻找一个效率工具来规范自己的行为并培养专注力。一开始我使用的是,笔记本的模式,在效率手册上记录每日的任务,并且每天检查完成情况。但是很不幸失败了,因为任务的时间没有合适的方法来控制导致经常性无法完成,打击了自己的自信和积极性。现在来讲讲目前的方法----番茄工作法。我总结修改后的流程如下,如果想要看原版请参考结语后的连接:
1.将你所有需要完成任务都列在一个任务清单里,想到的就可以添加进去
2.每天工作之前,按照任务的重要程度和你评估的工作量,从清单里挑出今天需要完成的任务
3.挑选一个任务,打开一个时长[25~45]分钟的倒计时时钟,然后全情投入完成该任务,倒计时结束后在任务边上画一个X,休息[5~15]分钟。休息时请不要想工作的事情,走一走,倒倒水,上个厕所,上上网什么的。然后开始下一个倒计时。每4个倒计时来一个长时间的休息[15~35]分钟。如此循环,直到选择的任务结束。
4.如果碰到有人或者事情来打断你的任务,如果不重要,请把新任务记录在你的今日清单里或者总清单里,然后继续当前的倒计时,当前倒计时结束后选择继续任务还是开始先做新任务。如果非常重要需要马上开始新任务,当前的倒计时作废,开始新的工作倒计时。请在你的今日清单上记录下所有打断的原因,方便你审查自己专注力中断的来源。
5.每天结束以后,统计你完成任务所需的时钟数,和你自己评估的时间做比较,整理打断你的次数以及原因。
番茄工作法的优点:
1.可以马上获得成就感,增强自信,每当完成一个倒计时,就可以画上一个X。比如完成整个任务之后再来做记录,更加有踏实积累的感觉。
2.时间观念的培养,通过每个任务后面的X的数量,可以轻松计算出这个任务所花的时间,这样对你评估任务的完成时间很有好处。
3.拒绝打扰的能力,如果被打断去做别的任务的话,需要放弃当前的倒计时,重新开始新的倒计时,也就是延长了工作时间,减少了休息时间,是一种有明显感觉的惩罚机制,所以当有人想打断你的时候,你会先收集信息,将任务排好优先级再决定是否中断。
4.专注力的培养,研究表明人的大脑如果高度集中工作的话,最长也不会超过一个小时,效率开始急速下降,适当的休息可以延长你集中工作的时间。而且中间有休息时间的话,你也不会感觉到工作太过枯燥,在工作倒计时的时候全情投入,到了休息时间也可以尽情地放松玩耍。不然的话,你会在工作的时候带着负罪感玩耍,在玩耍的时候又因为考虑工作的事而不痛快。
最后需要声明的是,刚开始使用番茄工作法的时候请注意工作时间和休息的时间的设置,可以为25分钟工作,10分钟休息。当你适应之后,感觉这样会常常把你的思路打断的时候,可以慢慢加长工作的时间,减少一点休息的时间。不然,你可能会因为突然强度过高,而放弃这个方法。还有就是,目前手机和电脑上有很多好用的软件可以帮助你实行这个方法,为了避免打广告我就不推荐,大家可以自行选择。
结语
写下本篇的目的,当然是为了让自己从迷茫中走出来,可以看到其实准备的不够充分,不过一直计划但是不行动的话,是不会有结果的,写下此篇与君共勉。还有提醒如果是android的初学者的话而且急于寻找工作的话请把其他的树干全部砍掉只剩"Java基础"和“Android相关”的知识,其他的部分对你的前期就业帮助不大。最后附上参考过的内容: