优秀程序员具备的高效习惯,你具备吗?

我在《聊聊阿里面试的三个层次》中说到阿里的面试要求,其中有一个读者看完觉得很困惑,觉得这些知识点平时都用不着,如何去学习这些知识才能保证学习质量呢?

我有个迷茫的地方在于,这些知识点如果在工作中都用不上,应该怎么保证学习的效果呢,面试的时候又该怎么聊呢。例如很多软件系统(ERP、财务、税务等内部信息系统)其实核心在于实现业务逻辑,就是基于业务的CRUD,高并发、分布式这些技术都用不上,做的时间长了技术深度广度都没有。

现实中确实存在像这位读者说的情况,但我们稍微仔细想一下我们身边的人,你会发现总会有几个人,他们能不断进步。虽然他们起点低,但是通过不断努力,却可以取得不错的成绩。那他们到底掌握了什么学习技巧,能让他们不断进步呢?

答案很简单,那就是主动学习。

什么是主动学习

我的一个朋友小黑,他在公司里做的任务都是一些业务性的需求,并且都是增删改查类型的,对于技术方面的历练比较少。但小黑并不因此而闷闷不乐,反而细致地把每一个需求都做好,并且需求做完都会思考怎么才能做得更好。

而在工作之余,他也主动地学习 Spring、Dubbo 等开源框架的源码,了解这些框架的原理。就这样过了一段时间,公司因为后台架构调整,成立了架构组自行研发技术框架,这时候小黑因为之前对于开源框架的深入研究,比其他人有了更深刻的理解,而进入了架构组。

从小黑身上我们可以看到,一个主动学习的人,他并不会局限于公司的层面,他除了学习公司本身的技术之外,还会思考怎么样去优化项目的技术,业界有什么更好的解决方案,从而不断学习不断成长。

与主动学习密切相关的,是被动学习。

什么是被动学习

当小黑进入架构组之后,他会发现自己之前学习的东西还远远不够,要自行研发框架所需要学习更多的知识。于是在这样的压力之下,小黑又不断地学习更多的资料,更加深入地研究各个框架的源码。在外界(项目、排期、工作)的压迫之下,你不得不去学习的成长方式,就是被动学习。

如果一个人只会被公司的项目推着走,公司需要什么知识,他就只学什么知识,那么久而久之他会发现自己一直处于原地踏步的状态,没有进步。这个时候如果遇到一些技术变动或者人事变动,就很容易产生辞职的念头。

从小黑的例子来看,你会发现其实主动学习和被动学习都是相辅相成的。当你没有高并发的相关经验的时候,你需要主动地学习相关的理论知识,争取比别人掌握更多。而机会来临的时候,你能抓住这样一个机会,从而在实践中被动地掌握更多的知识。

如何改变

就像文章开头的那位同学一样,也有许多人都跟我说:你说的我都懂,但是我看了没几天源码,我就看不下去了。

而且我感觉这样学习效果都无法保证,自己看完之后还是懵懵懂懂的。

那么我们到底应该如何去改变这一切,让自己习得「主动学习」这个搞笑的习惯呢?

在这里我给大家几个建议,都是实实在在的能帮助大家改变的。

改变对于工作的认识

与一些刚入行的朋友沟通,我们了解到很多人期望从工作中学到一切,希望公司给与他们更好的学习机会。于是这些朋友一直没有找到很好的公司,很多都是没过几年就换一家公司。

之所以会如此,是因为这种想法本身就是错误的。公司雇佣你是让你解决问题,不是让你来学习的。学习与成长,只是解决问题之后顺带的结果,而不是目标。如果你无法接受这个观点,那么你永远无法找到正确的学习通道。

公司给你钱,你帮公司解决问题,其他的都是扯淡。成熟的公司为了留住员工,会建立一系列的培训机制,但这并不代表你就该把这种学习和成长当成理所当然。

建立自己的学习圈子

当你接受这个观点之后,你自己会明白,工作不应该成为我学习的唯一渠道,我应该有自己的学习渠道,应该有我自己的学习圈子。而这个学习圈子才是一直伴随着你,能跟随你一直走下去的,无论你在 A 公司,还是在 B 公司,你都能不断进步。

公司的成长是短期的,而学习圈子的成长是长久的。这两者的关系就像被动学习与主动学习一样,互相促进,相互融合。所以如果你希望长期不断进步,那么你就要建立自己的圈子,认识更多比自己厉害的人,跟着他们一起学习,一起成长。

技术路上是非常枯燥无味的,找到趣味相投的人一起学习,能让你们更容易坚持下去。这条真理无论对于新手还是大神都是适用的,没有人会排斥与别人交流。像我一样,无论在哪个公司,我都会跟比我厉害的人学习,跟他们加微信探讨问题。现在我把他们都拉入了一个微信群,我们经常在里面探讨技术问题。很多时候一些很难解决的问题,就在你我讨论之间就解决了。

努力、努力、再努力

很多朋友其实都不明白自己为什么做技术,甚至不知道喜不喜欢做技术。其实我一开始也不清楚,也是因为生计而选择了开发这一行,我也一直迷茫要不要一直做下去。每次看到「面试基础题」里列出的一大串技术要点,我也困惑,到底要学到什么时候啊。

其实很多人之所以厌恶做开发,是因为国内企业的加班成风,使得本来很有创造性的开发变得死气沉沉。但我们生活在这,我们可能在很长时间里无法去改变这种现状,我们只能调整自己的心态,让自己变得更加优秀,让自己热爱技术。当你技术达到一定高度的时候,或许你也不需要再加班,而能真正享受编程的乐趣了。

但在那之前,你还必须调整自己的状态,让自己努力下去。即使在难搞的日子,也要笑出声来!

总结

比起技术知识上的积累,思维方式的改变更加重要。从现在停止幻想,拓宽自己的学习渠道,主动学习更多的知识,建立自己的学习圈子吧。

如果你也是一个对技术有热情,希望不断精进自己技术的小伙伴,那就赶紧加入我的技术圈子,与众多优秀的小伙伴一起学习成长吧!(关注微信公众号获取入群二维码)

我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=jgpjhcggl6be

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏CDA数据分析师

创业公司的数据课讲点啥?

本文由CDA作者库成员王安原创,并授权发布,原文来自公众号数据化决策。 CDA作者库凝聚原创力量,只做更有价值的分享。 创业公司数据培训课程会面向哪些人,有哪些...

19650
来自专栏Java学习网

10年学到的编程经验总结

10年学到的编程经验总结 我作为一个web开发者的旅程始于2000年,那时我还只有21岁,我依然可以清楚地记得那些日子里激荡在我内心的感觉。如果一定要找一个词来...

28290
来自专栏Kiba518

另一个角度的架构师

ADMEMS矩阵,明确介绍了架构师需要思考的问题,而在这个矩阵中,做完一个架构师最需要了解的什么呢?技术?业务?都不是,最需要了解的是你的领导,其次是你的团队成...

9120
来自专栏CDA数据分析师

译文|大数据对中小企业意味着什么?

大企业or小企业 对于中小企业在小型和个人数据集上使用大数据技术,我能看到大量优势,但是对它们而言也有很多理由来关注一下大数据本身。最近的一项调查中...

21180
来自专栏罗超频道

百度大数据引擎来了,大数据瓜熟蒂落?

在昨天(4月24日)的百度技术开放日上,李彦宏现身并推出了百度大数据引擎。这在百度,表明对相关产品最高的重视了。 这个发布是什么意思呢?简单地讲,大数据引擎将...

35670
来自专栏ATYUN订阅号

人工智能将超越摩尔定律,成为科技创新的驱动者

人工智能将比摩尔定律产生更大的影响。摩尔定律是一种动态关系,它推动科技行业发展到今天,并形成了庞大的规模。但最终,人工智能创造的价值将比之前所有的信息技术都要大...

37260
来自专栏大数据文摘

如何用商业思维分析用户行为数据

305130
来自专栏BestSDK

【圣诞礼物】2017年设计趋势,用心去倾听用户所需

设计是拉开产品差异化的关键,而影响设计的因素是众多的,事物总是处在不停地发展变化中,比如蝴蝶效应,某个因素的改变就可能带来连锁反应。设计也是如此,需要顺应发展变...

29050
来自专栏华章科技

干货丨初学者必看的大数据分析实用贴士

作者:Marleen Anderson,是提供IT支持服务和IT培训的澳大利亚公司Saxons中团队的成员,是一名伟大的对企业家精神有极大兴趣的技术痴迷者。

10740
来自专栏顾宇的研习笔记

微服务实施常被忽视的 5 个难点前言如何解决这些问题

笔者从 2013 年加入 ThoughtWorks 至今共 4年时间。在这 4 年的时间里,我分别以 开发人员, DevOps 工程师、DevOps 咨询师、微...

9210

扫码关注云+社区

领取腾讯云代金券