面试造核弹,入职拧螺丝,裁员我先来?凭什么?

面试造核弹,入职拧螺丝,裁人我先来?凭甚么

 · 
2018-12-28
小王只是这个季节的一个缩影,究竟这个冬天,太冷了。

这个穷冬,有多冷?

早上刚下班的时候,InfoQ 的小编发了如许一条微博:

面试造核弹,入职拧螺丝,裁人我先来?凭甚么
?

且不说他昨天六点就下班的行动
够不敷政治正确,够不敷得上体验一把这个穷冬,但从身材层面上,他确实体会到了。

但身材上的穷冬,只是物理攻打。而心思层面上的穷冬,却是邪术攻打啊。

回顾过去不到一个月的时间里,爆出裁人的互联网公司有多少?京东裁、去哪儿裁、知乎裁、美团裁、微博裁、锤子倒……固然
以上所有动静都被官方辟谣,但……你懂的。

面试造核弹,入职拧螺丝,裁人我先来?凭甚么
?

网 传不完全裁人信息

小王们裹紧了身上的同款羽绒服,开始了年末的又一轮面试,只是这次,更难了:良多大型互联网公司要么缩招了,要么干脆关闭了招聘同道。2018 到头了,本身事情丢了,闹心不?

小王们不明白这是为何
?是由于社保的费改税?是由于贸 易战愈演愈烈?仍是由于本身技巧水平不行?

面试造核弹的童话

小王回忆起了本身的面试之旅:为了拿到 offer,他必需在电话里完成一个十分复杂的代码挑战。他表现得很好,走到了下一轮面试。经过一轮又一轮艰难无比的面试,他就像孙悟空护卫着唐僧同样,披荆斩棘,文体两着花,终究
成功拿到了 offer。

但在加入公司后,他发现他所做的事情与预期相去甚远。他的主要义务等于为运行在虚拟机上的遗留零碎构建基本的 CRUD。

这就好比取经时他是无所不克不及、战无不胜的孙悟空,取完经后他就成了一个桌案上的供奉,每天只能吃点香烛贡品。

其实在招聘中,这种情况一直在产生
。企业让工程师经由过程严格的筛选程序,问他们一些有挑战性的问题,但在把他们招进公司之后,只是让他们做一些干燥乏味的事情,比如负责由五六个服务组成的零碎,或让页面看起来更标致些。

固然
,并不是说这些义务就不需求技能,只是这些义务所需求的技能与大多数面试触及
的内容根本差别样。

入职拧螺丝的管道事情业

软件是由于能够

呐喊提供营业代价,所以才被创建出来。

虽然浏览
有关软件开发的书籍并且在软件技巧上追求卓越对小王们来讲
颇具吸引力,但归根结柢,如果不克不及构成
营业并从中赚到钱(或省钱),小王们的事情就毫无意义。

因此,软件行业的近况自有它的道理。就像管道工同样,他们取得报答,是由于他们了解本身所使用的对象,并晓得怎样使用它们让设备运转起来,而不是让他们重新发现技巧,或花 80 个小时去优化只有 5% 的用户会用到的东西。

中小型企业很少会去处置与规模扩展或优化相干
的问题——一部分缘由是硬件变得越来越便宜,一部分缘由是基础的开源软件已做得很好了。

所以,企业一方面想网罗最优良的人才,以便在重大的时间节点、关键时刻能够

呐喊物尽其用(但通常不这种情况),另一方面只派给这些优良人才以增删查改的日常事情,终究
每一个优良的小王都成了 Crud Boy。

某一天,小王被开发经理叫去了办公室,他敏锐地意识到这应该是他职业生涯中的转折点,公司一定出了甚么
问题,需求像 Jeff Dean 那样的技巧人才来拯救公司,而他,等于那样的人!

“小王吧?公司最近业绩欠好,亏损严重,要裁人了,实在是欠好意思哈,你去找下 HR。”

公司的确出了一些问题,但却不是 Jeff Dean 能解决的,也不是他能解决的。他只是在推开门后回头骂了一句:“你才小王八,你全家小王八。”

技巧气力的迷思

良多人觉得,本身肯定不会成为小王。由于本身是独一无二的,特此外那种工程师,而所有近况的不如人意,一定都是时候未到、伯乐未到,究竟本身的技巧气力摆在那儿。

可技巧气力究竟是甚么
呢?

“咱们组内的 XX 技巧气力不如我,竟然他晋升经由过程了,我却被刷掉了,评委真的是~!@#¥”……

“面试官问的都是甚么
鬼问题,我晓得的基本没问,我感觉他根本不会考察我的技巧气力”……

“听说算法和数据结构最能体现程序员的气力,我要好好啃啃《算法导论》”(然而啃完又忘记了)……

当咱们聊技巧气力的时候,咱们到底在聊甚么

有的人以为:技巧气力等于指算法和数据结构很凶猛……

有的人以为:研究过 Linux 内核源码和看懂《深入浅出 MFC》的才是技巧牛逼的人……

有的人以为:会写 C++ 的才是真正的技巧高手,由于 C++ 的对象初始化有 N 种写法……

有的人以为:技巧高手必需对营业很熟悉……

有的人以为:进献了开源项目代码的才是技巧牛人……

有的人以为:只有架构师才是技巧大牛……

其实简单来讲
,判断技巧气力的一个总的准绳等于:技巧气力等于指解决问题的能力!

1)不存在放之四海皆准的技巧

简单来讲
,问题是和畛域相干
的,技巧是用来解决问题的,因此技巧也是畛域相干
的,不存在放之四海皆准的技巧。

有网友说:高斯林来做 iOS 开发,分分钟秒杀现在所有的 iOS 开发人员,由于目前 iOS 教训最丰富的开发人员,教训也不过 10 年。

我以为这是不也许的,iOS 开发畛域面对的问题,和开发 Java 编程言语面对的问题差异很大,固然
,如果高斯林真的做上几年 iOS 开发,确实也许超过良多 iOS 开发人员,但一开始就秒杀哪些做了 7~8 年的 iOS 程序员,这个是不也许的。

2)技巧要能解决具体问题才有代价

技巧只有能够

呐喊解决某个畛域的问题才有代价,否则光晓得某个技巧没甚么
用;掌握了某个技巧但在以后的畛域用不上,这个技巧对以后畛域来讲
也不代价。

固然
,确实存在某些技巧也许在以后看起来对以后畛域不用,但后面也许会用到,因此技巧人员需求本身贮备一些以后暂时不用的技巧以拓宽技巧视线。

比方以后大火的人工智能和区块链技巧,但要注意“也许”这个词,这需求技巧人员本身举行判断和平衡,不克不及拿技巧贮备作为托词一股脑的甚么
都贮备,比方数据库开发工程师至少在这几年是不需求贮备 VR 知识的。

3)问题的复杂度决定技巧气力的高度

问题的复杂度差别,复杂度越高,解决起来越困难,照应的技巧气力要求也越高。

打个比方,良多面试官喜欢让面试者现场手写冒泡排序、快速排序、链表之类的代码,以此来判断面试者的技巧气力,但咱们用这个准绳去分析一下就能够发现,如许并不克不及考核技巧气力。

假如招聘了一个会手写快速排序的面试者,招进来后你会让他用本身写的快速排序解决甚么
问题?貌似绝大部分场景下都不也许让一个新来的员工本身写个快速排序来解决某个问题吧?

咱们该怎样自处?

咱们生活在一个大多数“软件工程”基本上等于管道作业的全国里。咱们该怎么办?这对于咱们的职业生涯来讲
意味着甚么
?现金流会一直持续下去吗?

起首,咱们应该认识到并接受如许的一个事实,即咱们能够用更少的资源构建更多的东西。也等于说,咱们事情中不是那末
有代价的部分也许举行自动化,或构建对象,让营业人员为咱们做这些事情。

比方,每当我的团队中有人想要修正

休学自动电子邮件正本时,我就要去修正

休学代码。而现在,他们只需求在可视化编辑器中编辑模板,我甚至都不晓得它们被自新了。

其次,咱们在设计零碎时需求考虑到零碎的复杂性。如果有现成的解决方案,那末
就用它,不要再从头开始构建。咱们要学会组装零件,如许就能够比那些每次在启动项目时都要自定义构建框架的软件工匠更高效、更快、更好。

第三,咱们应该设定切合实际的希冀。大部分编码事情都只要求 CS 学位,而这些事情所触及
的内容也许只比晓得怎样导入库和了解 HTTP 情理多那末
一点点。

不过确实有些事情需求举行微优化,但这种事情也许很少,而且离咱们很远。你的软件也许不你设想的那末
特别。

最后,不要堕入
了舒适区而不克不及自拔。这并不是软件工程师的普遍意见,但我相信在这个畛域里,有良多人拿到的报答已远远超出了他们所处置事情的难度。

有时候是由于他们是这个畛域唯一晓得怎么做这些事情的人,有时候是由于他们所在的公司无法从人才市场上招到更好的人,有时候是由于其他工程师故意过度设计,如许初级开发人员就需求花费很长时间才能理解它。

无论怎样,如果咱们想要保持高薪和不被踢出局,就不克不及停止学习。增强知识的广度和深度,并学会怎样将炒作从真正的突破性技巧中过滤掉。