程序员最核心的竞争力是什么?

更新日期: 2019-09-24阅读: 1.4k标签: 程序员

进行社招面试时,有一个问题几乎是必问的:

你为什么要离开上一家公司?

其实这个问题主要是想试探一下求职者的核心诉求,并借此预估一下他在本公司工作的稳定性。常见的答案也无非就是这么几种:对薪酬不满意、干得不爽,或者是想换个环境。

然而,我遇到过好几个初次跳槽的求职者给出的答案是:「在原来的公司学不到技术

一听到这个,我就不由得叹口气:今天这一小时又算是交代了,这人基本上没戏。因为根据我的经验,这句话如果由工作不满两年的人说出来,很大概率这是个不会学习不会感恩又特别爱抱怨的人。


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

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

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

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

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

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


公司不是学校

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

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

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

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

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

学习是自己的事,没有人能替你去做。这就跟吃饭一样,谁真的关心你吃没吃、饱没饱?就算你的亲人再怎么关心你,也不能替你去吃。我们都知道,人不吃饭肯定是要饿死的,那你为什么不去给自己找吃的,却在埋怨没有人给你嘴里喂食呢?


为什么你学不到技术?

很多人在学习之路上已经饱尝了痛苦的滋味,因此在离开学校之后。他们不到万不得已,是决然不会去学习的。你不妨回顾一下,从参加工作以来到现在,自己哪段时间里学习最认真,进步最明显?

如果不出意外的话,应该就是你找到的第一份工作的试用期。因为不想失去自己通过努力争取到的工作机会,所以你不得不逼自己打起十二份精神来学习,结果居然以自己都无法想象的速度掌握了工作必备的知识和技能。

然而,大多数人在自己的能力满足当前工作的要求之后,就丧失了学习的动力。下班之后要追剧,要玩游戏,要打球,要谈恋爱……为啥我要学习?不学又不会失业!学这个有啥用?谁知道用得上用不上?等要用的时候再学呗!

其实, 学不到技术最核心的原因只有一个:动机不足。至于环境条件,只是影响学习效果的因素之一,但绝对不是最重要的因素。在一个恶劣的环境里选择放弃学习的人,不可能到了一个优越的环境里就会去主动学习,因为在他内心深处对学习是抗拒的。

难道说换上了Macbook Pro和4k显示器,坐在数千元的人体工学座椅上,下班后就会有兴趣看框架源码了吗?看电影、打游戏不是更舒服一些?

在我看来,学习力的源泉就是好奇心,也就是对新知识的渴求,以及对探索未知的冲动。我们的大脑是「用进废退」的,如果不定期给它输送新鲜的知识营养,它就会逐渐退化。有学习力的人一段时间不看书,不折腾点新玩意,大脑真的是会「饿」的。


程序员该怎么学习技术?

有的求职者觉得自己没学到技术,是因为公司不给机会,或者缺乏条件

「上次的H5让小王做了,这次的微信小程序又给了小李……完全没我什么事啊!」
「公司最大一张表才10W数据,根本用不着分库分表啊!」
……

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

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

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

「读源码」是深入学习开源技术的唯一途径。只有理解了某个功能在底层是如何实现的,你才能真正把握它更适合用来做什么,不能用来做什么。正如不明显汽车的构造和原理,我们也能把车开好。而如果多少知道一点,开起来就会更得心应手。当车出现问题时,也不至于完全束手无策,只能蹲在路边等待救援。

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

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

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

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

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


后话

「吾生也有涯,而知也无涯 。以有涯随无涯,殆已!」*——《庄子·内篇·养生主第三》

技术世界就如同一片汪洋大海,细分领域真是多如牛毛。我们只是站在其中一个小岛上,怎么确定自己该朝哪个方向进发呢?

学习技术不外乎以下两个方向:

1、广度:整个使用链条由哪些环节构成?每个环节的作用是什么?都有哪些类似的可替代方案?它们之间有什么区别?各自优劣点是什么?……

2、深度:这个「技术 / 产品」的本质是什么?都能做什么?运作原理是什么?底层是如何实现的?可以做怎样的改进?……

不管你在做什么工作,都应该先把自己每天都要用的核心技术做到一定深度,再去拓展广度。 「什么都知道一点,但都不甚了解」是最可怕的,它会让你误以为自己已经很NB了。

学习,是一辈子的事。


链接: https://www.fly63.com/article/detial/8402

1024节日的由来,程序员的你最想对自己说的是什么?【1024程序员节日】

吃饭睡觉写代码,基本都程序猿的大部分生活了,作为从事最累的职业之一的我们终于有了自己的节日,那就是1024。1024向程序员致敬,向自己致敬,向未来致敬。

一个程序员的运气有多重要

互联网注定是一个不能安宁的行业,有一些人在努力引领变化,有一些人在努力适应变化,有一些人在被时代的浪潮淘汰。这个世界唯一变的就是变化,人生唯一不能停的就是学习,说到底,要想不被淘汰,只有不断的学习。

如何成为10倍速的程序员

国外有个词叫做10x Programmer,直译是以一当十的程序员。我并不认为一个技术大牛能完成10个普通程序员的工作,技术大牛会花1/10的时间把工作做完,然后用剩下9/10的时间平衡生活、爱好和未来,所以我仅把10x Programmer叫做10倍速的程序员。

优秀的程序员是不看源码的,这是真的么?

仍是要永远 ctrl+v,永远拿来主义。仍是要时时刻刻对美好满怀期待,对未来充满渴望,对经典心怀敬畏。要记住啊,能原创而不原创,有源码而远源码,才是最无知的成熟。

优秀程序员的十个习惯

优秀程序员有哪些好的习惯:1. 想清楚,再动手写代码,2. 不交流,就会头破血流,3. 文档没人看,但还是要写,4. 一定要写注释,5. 别指望需求会稳定

程序员和用户

我曾经说过,程序员不是一般的人,是具有某种超能里的人。但问题是,程序员往往意识不到自己的这种特异功能,在他们的眼里,会认为自己很普通,跟常人一样,所以,程序员能做到的事情

一个程序员送给大学生弟弟的那些话

分析自己的处境; 做适合自己的选择; 以成长为目的,担负起更多责任,打破对做事的认知; 把握机遇,去锤炼自己; 抛弃一些懒惰,多一些积极;向牛逼的人靠近,向给你提供条件帮助你学习的老师靠近。以上结合了我自己的经历,希望文章能更形象。

程序猿跳槽季,为什么你的薪水总升不上去?【转载】

现在身处跳槽高峰季,作为即将跳槽的我,在这里分享几点建议给大家。众所周知,找工作的前提是面试,面试的前提是过了简历,过了简历的前提是你怎么投。

程序员养生攻略_程序员防猝死指南

程序员在其职业生涯中,健康问题尤为突出。但是大部分程序员只顾码字,却往往忽略了自身的健康问题。这或许是因为写代码太入神,也或许是因为来自老板的压力太大。

程序员笔名、别名_适合程序员的英文名字

一个厉害的程序员,都会有一个牛逼哄哄、有辨识度有个性的英文别名。在公司同事中很更好的称呼,这篇文章翻译整理了一下适合程序员的英文名字

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!