什么才是程序员的核心竞争力_最核心的竞争力是什么?
2017-08-24 13:46:17  By: dwtedx

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

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


其实这个问题主要是想试探一下求职者的核心诉求、并借此预估一下他在本公司工作的稳定性、常见的答案也无非就是这么几种:对薪酬不满意、干得不爽、或者是想换个环境、然而、我遇到过好几个初次跳槽的求职者给出的答案是:「在原来的公司学不到技术」

程序员核心竞争力


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


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

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

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


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


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


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


公司不是学校

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


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


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


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


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


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


为什么你学不到技术?

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


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


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


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

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


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


程序员该怎么学习技术?

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

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


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


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

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


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

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


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

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


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


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


后话

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


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

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

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

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

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


若资源对你有帮助、浏览后有很大收获、不妨小额打赏我一下、你的鼓励是维持我不断写博客最大动力

想获取DD博客最新资讯、你可以扫描下方的二维码、关注DD博客微信公众号(ddblogs)

或者你也可以关注我的新浪微博、了解DD博客的最新动态:DD博客官方微博(dwtedx的微博)

如对资源有任何疑问或觉得仍然有很大的改善空间、可以对该博文进行评论、希望不吝赐教

为保证及时回复、可以使用博客留言板给我留言: DD博客留言板(dwtedx的留言板)

感谢你的访问、祝你生活愉快、工作顺心、欢迎常来逛逛


猜你喜欢的

快速评论


博文评论

  • 该博文还没有评论、赶快抢沙发吧...
DD记账
top
+