程序员最核心的竞争力——「学习力」


程序员最核心的竞争力——「学习力」
前端

若是有人问我:你在面试程序员时,最看中的是什么能力?那个人答案必定是:学习力程序员


互联网时代的技术来得快,去得更快。就像Flash这样曾经雄霸天下多年的技术,都有被人人唾弃的一天。若是没有足够强的学习能力,就没法跟上变化,被淘汰只是早晚的事。想一想看,你苦心钻研多年引觉得傲的技术,一晚上之间就没有用武之地了,不免会有一种「身体被掏空」的感受。面试

学习力强的程序员敢大胆地体验尝试新技术,他们的技术栈始终在保持不断地更新。他们能快速把握事物的本质,并判断出它能用来作什么,不能用来作什么。他们拥抱技术升级和革命,由于他们学习并掌握新技术的速度比其余人更快,因此他们永远不用担忧失业。事实上,他们掌握的是「驾驶」和「学习驾驶」的技术,而不是「驾驶XX牌汽车」的技术。api

而学习力差的程序员呢?为了继续停留在旧技术的温馨区,他们每每会抵制新技术的推广,甚至百般阻挠。由于那会使他们过去的经验通通无效,只能和后来者站在同一块儿跑线上。抱死一个框架好几年,脱离了框架啥都干不了的程序员实在太多了。事实上,这样的人不能驾驭技术,反而是被技术给奴役了。前端工程师

一样是自行车,为何山地车比公路车更普及更流行?除了皮实耐用价格低外,主要是由于它的经过性好,什么泥地沙地都不在话下,上下马路牙子跟玩同样。而公路车呢?只能老老实实地跑在平路上。框架


公司不是学校学习

面对这些由于「想学点技术」而换工做的求职者,评价他们「不思进取」貌似不太合适。但显然他们的思惟模式仍是被学校洗脑的那一套,没能真正地融入社会。也许他们认为,学习就是要由老师手把手带着,而本身之因此学不到技术,就是由于没遇到一个好leader,能替本身设计好成长路线,指出全部重难点,提供各类参考资料……优化


在中国传统文化里,不论是匠人仍是武师,收徒都要找毫无根基的幼童。这一方面是为了保持师父的绝对权威,方便贯彻落实教学;另外一方面是为了尽可能延长学徒期,以考察徒弟的品性。拜师以后,徒弟便跟随师父一块儿生活,通过数年的言传身教,这才得以出师。ui

师父收徒的核心诉求,是「传承」本身的技艺和名声,但愿徒弟往后能作出一番成就来光耀师门。这就要求徒弟流动性低、忠诚度高、归属感强。与其说是收徒,还不如说是在挑儿子,因此有句俗话叫做「一日为师,终身为父」。spa


然而公司是盈利性的商业组织,不是学校,更不是新手训练营。公司招聘员工的核心诉求,是生产出实实在在、对得起薪水的价值,而不是传承技艺。公司但愿员工入职前就具有工做的能力,至少在通过短暂的培训和指导后就能独立开展工做,正所谓「能干就干,干不了走人」。


通常状况下,为了使新人尽快进入工做状态,公司会安排一位老员工来作一段时间的导师。但导师只有为你解惑的义务,却没有教你技术的责任。 由于导师本身手里还有作不完的工做,带新人又没什么利益可图,凭什么为你提供私人教练级的服务?能有耐心听完你的问题,指点一下方向,就已经很不错了。


学习是本身的事,没有人能替你去作。这就跟吃饭同样,谁真的关心你吃没吃、饱没饱?就算你的亲人再怎么关心你,也不能替你去吃。咱们都知道,人不吃饭确定是要饿死的,那你为何不去给本身找吃的,却在埋怨没有人给你嘴里喂食呢?



程序员该怎么学习技术?

学习技术最有效的方式是阅读、实践和交流。公司没给你安排这方面的工做,那你本身都作了些什么呢?八小时以外的时间都用在哪了?有没有读源码?有没有看原版书?有没有泡技术社区?有没有尝试最新流行的技术?有没有尝试把它们用在公司的项目上?有没有主动去接触行业里使用这些技术的团队和大牛?


「看文档」实际上是最快的学习方法。对于本身工做中经常使用到的技术,抽时间把官方文档通读一遍(其实篇幅都不大),绝对收获满满。没事的时候多翻翻本身使用的框架/系统/平台的API,看看有哪些本身不知道或者没用过的功能,想一想这个功能能够用来作什么,能不能解决现存的问题,或者优化当下的解决方案。


若是你是前端工程师,通读HTTP协议和ECMAScript标准,就能秒杀95%的同行,不开玩笑。


「读源码」是深刻学习开源技术的惟一途径。只有理解了某个功能在底层是如何实现的,你才能真正把握它更适合用来作什么,不能用来作什么。正如不明白汽车的构造和原理,咱们也能把车开好。而若是多少知道一点,开起来就会更驾轻就熟。当车出现问题时,也不至于彻底一筹莫展,只能蹲在路边等待救援。


你一个框架用了N年了,却连一行源码都没读过?若是它是你女友,估计早该分手了。


「折腾」是学习任何技术的必经之路。在有保护的环境下进行大量的试错,是最高效的学习方法。如今虚拟机技术已经那么成熟,VPS也很便宜,你为何不分分钟弄一个,而后在上面花式做死呢?


据说过无数次 rm -rf / 的事故,可你竟然一次都没试过?知道输出啥样子么?


公司给你提供的最有价值的东西,就是实战的机会。 你所学习的技术,最终须要经过工做来变现。你有机会接触到真实的数据,了解真实的用户,观察真实系统是怎样运转的,积累真实的经验……


然而,所谓的机会,只属于已经提早准备好的人。 不要等到工做都安排到你身上了再去学习。公司不是你的试验田,你也不应拿用户当小白鼠。公司不给你机会,那只说明你尚未准备好。


记住,学习是一生的事。


----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------