当然,一种思维方式的形成并不是一蹴而就的。它是在你生活工作中慢慢培养成形的。人,天生就喜欢走捷径,即使他知道走捷径的想法并不好,最终会自食恶果,但这种刻进基因里的意识想法时不时地就跑出来诱惑我们。在现在这个快节奏的时代里,短平快是所有人的追求。开源、分享、培训、干货……你会发现,这个时代最不缺的就是知识了,它就在那里,却没有留在你的脑海里。于是,很多人开始了知识焦虑。程序猿这种职业尤其明显,科技带给我们层出不穷的新应用、新框架、新工具、新模式。你还没完全弄清楚Java是什么的时候,人家都开始用Python去搞人工智能了。你以为自己在维持现状,其实你在退步。你说苦恼不苦恼?时不时就看到别人薪资往几十k的方向走,而你只能安慰自己稳定一点也挺好。
为什么我们会成为这样一个自己都鄙视的人?
1、学了容易忘怎么办?
是不是很多人像我一样,到现在为止都没有把《Java编程思想》啃完一遍?有时候看到网上的分享,有人把这本书啃了好几遍,心里那个嫉妒啊。然后鄙视下自己怎么就没静下心啃完呢?这两年我开始改变了,我的的确确啃完了一本又一本书,突然觉得从书里获取的知识确实比较全面些。以前特别喜欢看博客文章,看得挺过瘾,觉得自己获得了原作者的真传。不过,博客文章都是一个点,为了解决某个问题,或者某些个知识点。
书是看了,当时以为都明白了。比如有段时间看了Nginx相关的一本书,里面讲到了配置文件的写法。真正到工作中要写的时候,懵逼了。另外,有很多原理理论解释的书,人家总结的一条条,你看得很爽。合上书本,脑子空白了。有时候我在想我自己怎么感觉越学越觉得啥也不会了呢?
2、大家是不是在遇到不会的时候通过Google解决?
工作中遇到的问题,我基本都可以用Google来解决。说得好听点是站在巨人的肩膀上,说难听点就是看下别人是怎么解决的,有源码最好。时间充足的时候,会看下文章里解决问题的完整思路。任务紧时间少的时候,本着“拿来主义”,只校验正确与否。运气好,根据第一篇文章写的就可以解决问题。运气不好的时候,全网找了也不一定能找到答案。一般到这个时候,只能静下心想想问题出在哪了。想明白了,自己就可以写一篇文章了。哈哈。
3、开源框架带来的错觉?
举个例子,从Spring到Spring boot,框架越来越强大,需要我们配置的东西越来越少,使用起来越来越傻瓜了。很多工具,开箱即用,API高度封装,只需要写很少的代码就可以实现很复杂的功能了。所以,我们这代人天天站在巨人们的肩膀上会产生一个错觉,以为自己的编程能力越来越强了。可事实真的如此么?我们是否还需要深入了解各种框架的源码?
会开车的人不一定会修车,我们只是把车当做一种交通工具而已。作为Java程序员,Spring boot让你如此快速就可以构建出一个web服务,似乎是你根本都不需要了解HTTP了。你是否和我一样有心虚的感觉呢?
3、程序员内心的不确定?
像文章开头提到的,在这个知识爆炸的时代,每个人都不可能把所有知识学完。程序猿所在的计算机科学,分类之复杂,叹为观止。每年的热词层出不穷,五花八门。你的内心能安定么?你以为PHP能一招鲜吃遍天下,你以为Java是万能的,那你面对现在大数据、人工智能、物联网大行其道的事实有没有一点恐慌?都说程序猿的薪资非常高,直接导致了这个行业培训机构遍地开花,只要花点钱就可以轻松踏入这个行业。门槛的降低必然导致竞争的恶化,越来越多的企业加入到加班压榨程序员的行列来,对于那些重复性较多的岗位,年轻人的优势越来越明显,而老程序猿们中年危机陡现。如果你是一线码农,技术不成长和等死有什么区别?
年轻时对新技术有足够的好奇心和耐心,当你踏入中年,有一部分精力会被划分到管理岗位,真正编码的时间会减少。你要考虑的问题就不再只是代码本身了。你需要对商业、人事、技术架构、行业等内容付出时间和精力。一方面,不想在技术层面上落伍;另一方面,管理能力亟待提高。
4、专一?全栈?
全栈工程师越来越流行,单一的技能对于门槛不高的岗位来说竞争力越来越小了。大公司有明确的岗位分工,你只能负责某一个领域的某一个产品或者项目。而小公司,有可能一人身兼数职,全栈的需求更高。倒不是说你一个人扛起一个公司,而是你有能力指导其他人,把一个系统或者项目抓起来。任何一个环节出现问题,你可以临时顶一顶或者想办法能解决。所谓技多不压身嘛。
当然,也有人认为术业有专攻。你的价值在于你在某方面是独树一帜的,无人可取代。个人认为,这个目标很好,但我们大多数人达不到这个高度。如果你能力超群,意志坚定,专一门挺好。如果你随波逐流,只是想提高自己解决问题的综合能力,全栈是一个不错的思路。