10年前第一次接触Java,抱着一本《Java编程思想》啃,而后陆陆续续接触了一些网页开发的教程,最后和班上的小伙伴们一块儿完成了xxx管理系统。当时不会用搜索引擎,只能是本身对着书,通宵熬,写了调试,有问题再改。想在回想起来,那时怎么那么笨,直接网上找个源码改吧改吧不就好了嘛?看到了么,如今的我与其说是在“编程”,不如说我是在“抄”。你怎么看待这个问题呢?抽个空想一想。程序员
固然,一种思惟方式的造成并非一蹴而就的。它是在你生活工做中慢慢培养成形的。人,天生就喜欢走捷径,即便他知道走捷径的想法并很差,最终会自食恶果,但这种刻进基因里的意识想法时不时地就跑出来诱惑咱们。在如今这个快节奏的时代里,短平快是全部人的追求。开源、分享、培训、干货……你会发现,这个时代最不缺的就是知识了,它就在那里,却没有留在你的脑海里。因而,不少人开始了知识焦虑。程序猿这种职业尤为明显,科技带给咱们层出不穷的新应用、新框架、新工具、新模式。你还没彻底弄清楚Java是什么的时候,人家都开始用Python去搞人工智能了。你觉得本身在维持现状,其实你在退步。你说苦恼不苦恼?时不时就看到别人薪资往几十k的方向走,而你只能安慰本身稳定一点也挺好。web
为何咱们会成为这样一个本身都鄙视的人?ajax
一、学了容易忘怎么办?算法
是否是不少人像我同样,到如今为止都没有把《Java编程思想》啃完一遍?有时候看到网上的分享,有人把这本书啃了好几遍,内心那个嫉妒啊。而后鄙视下本身怎么就没静下心啃完呢?这两年我开始改变了,个人的确确啃完了一本又一本书,忽然以为从书里获取的知识确实比较全面些。之前特别喜欢看博客文章,看得挺过瘾,以为本身得到了原做者的真传。不过,博客文章都是一个点,为了解决某个问题,或者某些个知识点。编程
书是看了,当时觉得都明白了。好比有段时间看了Nginx相关的一本书,里面讲到了配置文件的写法。真正到工做中要写的时候,懵逼了。另外,有不少原理理论解释的书,人家总结的一条条,你看得很爽。合上书本,脑子空白了。有时候我在想我本身怎么感受越学越以为啥也不会了呢?架构
二、你们是否是在遇到不会的时候经过Google解决?框架
工做中遇到的问题,我基本均可以用Google来解决。说得好听点是站在巨人的肩膀上,说难听点就是看下别人是怎么解决的,有源码最好。时间充足的时候,会看下文章里解决问题的完整思路。任务紧时间少的时候,本着“拿来主义”,只校验正确与否。运气好,根据第一篇文章写的就能够解决问题。运气很差的时候,全网找了也不必定能找到答案。通常到这个时候,只能静下心想一想问题出在哪了。想明白了,本身就能够写一篇文章了。哈哈。工具
三、开源框架带来的错觉?学习
举个例子,从Spring到Spring boot,框架愈来愈强大,须要咱们配置的东西愈来愈少,使用起来愈来愈傻瓜了。不少工具,开箱即用,API高度封装,只须要写不多的代码就能够实现很复杂的功能了。因此,咱们这代人每天站在巨人们的肩膀上会产生一个错觉,觉得本身的编程能力愈来愈强了。可事实真的如此么?咱们是否还须要深刻了解各类框架的源码?大数据
会开车的人不必定会修车,咱们只是把车当作一种交通工具而已。做为Java程序员,Spring boot让你如此快速就能够构建出一个web服务,彷佛是你根本都不须要了解HTTP了。你是否和我同样有心虚的感受呢?
三、程序猿心里的不肯定?
像文章开头提到的,在这个知识爆炸的时代,每一个人都不可能把全部知识学完。程序猿所在的计算机科学,分类之复杂,叹为观止。每一年的热词层出不穷,五花八门。你的心里能安定么?你觉得PHP能一招鲜吃遍天下,你觉得Java是万能的,那你面对如今大数据、人工智能、物联网大行其道的事实有没有一点恐慌?都说程序猿的薪资很是高,直接致使了这个行业培训机构遍地开花,只要花点钱就能够轻松踏入这个行业。门槛的下降必然致使竞争的恶化,愈来愈多的企业加入到加班压榨程序猿的行列来,对于那些重复性较多的岗位,年轻人的优点愈来愈明显,而老程序猿们中年危机陡现。若是你是一线码农,技术不成长和等死有什么区别?
年轻时对新技术有足够的好奇心和耐心,当你踏入中年,有一部分精力会被划分到管理岗位,真正编码的时间会减小。你要考虑的问题就再也不只是代码自己了。你须要对商业、人事、技术架构、行业等内容付出时间和精力。一方面,不想在技术层面上落伍;另外一方面,管理能力亟待提升。
四、专注?全栈?
全栈工程师愈来愈流行,单一的技能对于门槛不高的岗位来讲竞争力愈来愈小了。大公司有明确的岗位分工,你只能负责某一个领域的某一个产品或者项目。而小公司,有可能一人身兼数职,全栈的需求更高。倒不是说你一我的扛起一个公司,而是你有能力指导其余人,把一个系统或者项目抓起来。任何一个环节出现问题,你能够临时顶一顶或者想办法能解决。所谓技多不压身嘛。
固然,也有人认为术业有专攻。你的价值在于你在某方面是独树一帜的,无人可取代。我的认为,这个目标很好,但咱们大多数人达不到这个高度。若是你能力超群,意志坚决,专注门挺好。若是你随波逐流,只是想提升本身解决问题的综合能力,全栈是一个不错的思路。
一、是否学习的方法不对?
不少人说,我也看了不少书,看了不少视频教程,可是我仍是一出现问题就找搜索引擎。知识点记不住啊。怎么办?我本身也会不定时调整本身的学习方法,包括了解一些记忆方面的书。惋惜,每一个人都是独一无二的,他人的方法还真不必定适合你。仍是得靠本身去认识本身,从各类方法里寻找到对本身有效的那些。
有时候情绪很低落,以为本身好笨,怎么就是记不住那些知识点呢?并且这种感受具备周期性。就是时不时及会涌上心头。这时候我会去看看你们是否也遇到了我这样的困惑,其余人是怎么看待的呢?
二、个例?广泛存在?
这个世界都是连通的,其实有不少小伙伴也和你有同样的困惑。因此,你要相信不少问题都是广泛存在的。悲观一点地说,大部分人都是平庸的。乐观一点说,大部分人都有本身的小宇宙。网上有不少人点燃了本身的小宇宙,默默地挣了不少钱。因此,你什么时候让你的小宇宙爆发呢?
三、善用搜索,这个度怎么把握?
搜索引擎真是一把达摩克利斯之剑,你不会写ajax,搜一下。你不知道httpclient怎么用,搜一下。你不知道crontab怎么用,搜一下。大部分状况下,直接把代码贴过来,改几个参数就能够了,而后任务完成了。过了半个月,又得写一个crontab的脚本,再搜一下。搜索引擎让咱们不少人养成了“抄”代码的习惯,包括我本身。是啊,有代码不直接抄了完工,傻啊。因此,搜索引擎其实再下降咱们的编码能力。
网上很多观点说,咱们根本不可能记住全部内容,必要的时候查下也很正常。这句话其实不许确,咱们不少人把握不了这个度。曾经个人老大批评过我一次,让我记忆尤新。他说,假如线上网站忽然不能访问了,你去Google下怎么看GC,来得及么?何况,也不必定是JVM里出了问题。因此,不少东西是须要存在脑海里的,只是说某些不经常使用的命令,能够经过man或者help能查清楚,不懂的时候能够用Google。
看到了这篇文章,我以为写得还能够,摘录到这儿,原址。
在心理学上,人的记忆分为三种:瞬时记忆,短时记忆和长时记忆。咱们看过一遍书以后,会造成短时记忆,这种记忆可以保持的时间很是短,通常只有5~20秒,最长也不超过一分钟。
这就是为何咱们有时候看书会出现如下状况:
翻开书:马冬梅 关上书:马什么梅 翻开书:马冬梅 关上书:什么冬梅 翻开书:马冬梅 关上书:马东什么
另外一种记忆类型叫长时记忆,长时记忆能保持许多年甚至终身的永久性记忆。
在有复述的状况下,保持在短时记忆中的学习材料会向长时记忆转移。复述是指经过语言重复刚刚识记的材料,以巩固记忆的心理操做过程。分为保持性复述和精细复述。前者又称简单复述和机械复述。后者又称整合性复述,它使短时记忆中的信息获得进一步加工和组织,使之与个体已有的知识创建联系,从而使信息转入长时记忆中。
嗯,而后用人话翻译一下就是:若是你只是简简单单地认了一遍字不总结不概括,甚至不作任何练习,那么遗忘在你关上书的那一瞬间就开始了。那么,如何让咱们的短时记忆转化为长时记忆呢?
一、养成记笔记的习惯
从小咱们就被教育:好记性不如烂笔头。固然这里的记笔记不是指你把书上的内容所有抄下来,而是你把你认为重要的,你不太明白的,你从中感悟到的。这就是前文所指的一种整合性复述。固然,形式彻底能够不是拿支笔拿个本儿。仅仅是帮助你总结所学知识,顺便留个底,从此遇到相关问题,能够马上从你本身的笔记中找出来。复习的时候,看本身的笔记总比从新翻书学习效率高得多。由于笔记总归是本身咀嚼过一遍的东西,更易于消化吸取。固然不是说书读过一遍就扔了,温故知新,当你发现曾经的你学到的这些东西已经不够用了的时候,从新回去翻书,从新整理新的笔记,这就是咱们不断进步的途径。
二、养成学完即练的习惯
为何老师在上完课以后,必定要给你们留做业?由于“知道了”和“会用了”之间还有一个很大的鸿沟。浮于理论的知识也许听起来很高大上,但实践的时候每每会出现不少意想不到的麻烦,好比咱们都知道的著名历史人物赵括,纸上谈兵的后果是什么也不用我在这里多说了吧……纸上得来终觉浅,绝知此事要躬行。相信你们在市面上购买的编程类书籍,课后都会有相关习题的,这些题目都是做者通过无数次审阅与修订,最终决定下来的,最适合学完即练的题目,浪费惋惜。
三、多作项目说实话,咱们学习编程,到最后都是要落实在项目上的。
作项目跟作题又不同,你须要考虑到方方面面的东西,你须要将你学过的理论知识所有赋予实践。这时候你会发现:根本没有人能记住全部的算法。甚至根本没法记住全部的基础语法。但在认真进行过上述学习过程后,你会发现:你知道这件事如何解决,知道这个项目须要什么样的算法才能解决。也许你已经记不清这个算法是如何具体实现的,可是你知道在哪儿可以找到它。其实到了这一步,你已是一位大神了,就像楼上有人说的,也许你并不能一口背出7大排序算法,可是经过学习的过程,你记住了在什么情境下应该用什么样的方法解决。这时候你再回到你曾作过的笔记,曾作过的题目中找到解决办法,并用以当前的项目。用多了以后,有些东西可能就像1+1=2同样深深扎根在你的脑子里了。
任何方法看起来容易作起来都难。就像让你天天写一篇文章,你试试就知道有多难了。每当这个时候我都想起李白,人家写诗那才华呐。为了避免打击本身的自信心,必定要量力而行。勤学苦练,假以时日,必有所成。鸡汤就很少熬了,你们都懂。
为何写这篇文章?Java我也用了快10年了,最近听了一个老师讲的Java,感受本身有些地方竟然没理解。不得不认可,如今培训机构的老师都挺会总结,比之前考试的知识点还要更精华。拿Java开发系统没问题了,可是Java基础的好多内容,个人脑海里仍是有很多盲点。明白一个知识点,和把它讲出来还真不同。时代在变,咱们也得跟着变。
说明:本站著做权归www.ddkiss.com全部,任何形式的转载都请联系做者得到受权并注明出处。