速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

资深技术面试官吐槽:我“骄傲”地招了一群“谷歌”程序员

  • 2022-07-14
  • 本文字数:2608 字

    阅读完需:约 9 分钟

资深技术面试官吐槽:我“骄傲”地招了一群“谷歌”程序员

很久以前,我是一名技术面试官,在一家公司负责招聘程序员。我有一套简单、清晰、聪明的招聘计划(虽然这不是我原创的)。首先,候选人需要先回答一大堆问题,然后再做一些编程任务。他们在一张纸上写代码,就像我们在大学里做的那样。


现在回想起来,我发现这个招聘流程真的很有效。我们招的候选人都成为了当地 IT 界有名的专家。他们中超过一半的人很早以前就在各个领域建立了自己的 IT 业务。


但也正是这种辉煌的经历让我开始膨胀了。我决定对招聘计划做出一些改变,我认为这一切都是我个人的成就。我是一个很棒的技术面试官!


改变


我做了一个非常简单的改变——让候选人在电脑上写代码,而不是在纸上。我想:“为什么他们要坐在那里在纸上涂鸦,就好像在古老的修道院里写手稿一样?”我自己已经忘记了在没有 IDE、上下文提示、调试工具的情况下写代码是什么感觉。


于是,我给了候选人一台电脑,并交给他们一个编码任务,让他们在半小时到一小时内完成。等我回来时,就看到了已经完成的解决方案,而且非常棒——代码写得很漂亮,优化得很好。这让我大吃一惊——现在的程序员如此崇拜技术,以至于对他们来说写代码就像呼吸一样!


我录用了这些人。


最初的表现


一开始,一切都很顺利。我对他们的工作生产力进行跟踪,他们掌握新技能的速度连连另我感到吃惊。在过去,新工作的前几个月对新员工来说都是一个挑战——他们能够为学习任务写一些代码,但几乎无法应对真实的工作任务。但对于我招进来的这些人,我没有看到他们有这样的问题。


他们轻松地完成了简单的任务,然后我给他们安排了更复杂的任务——那些需要一年经验的人才能完成的任务。你猜怎么样?他们在没有帮助的情况下完成了这些任务!我既震惊又兴奋。新一代程序员正在成长!


我以为会一直这样。我的意思是,我希望他们的生产力能保持目前的增长速度。但事实是,我想多了!


平台期


3 到 6 个月后,他们的工作生产力进入了平台期。不幸的是,由于新冠疫情的影响,他们都开始远程工作。我也待在家里,仿佛被吓坏了。


时间流逝得飞快,一个月又一个月,但他们的生产力始终没有提升,就好像他们永远无法突破实习生的水平。他们有时会出现生产力极值,但这很容易解释:大量简单、单调、相似的任务。我在跟他们沟通的时候一直抓狂,大喊大叫。


我认为这跟远程工作有关,因为我很难对他们施展我的个人魅力。他们可能是因为缺乏动力,缺乏现场交流,甚至是因为没有人偶尔把他们胖揍一顿。此外,高管们也似乎跟我有同样的看法,问了我诸如此类的问题:“生产力增长停滞是因为远程工作吗?”当然,我回答是的。等我们回到办公室,生产力就会直线上升!


回到办公室


我们在 8 月份回到了办公室。我们有很多事情要做,唯一缺的是时间(在我们远程工作时,很多任务都没有完成)。我看了看绩效——没有增长……该死!我不得不撸起袖子,亲自着手解决这些问题。


我开始为他们提供帮助。解决不了问题?让我来。我会走过来坐在你的椅子上帮你完成任务。你就坐在我旁边看着我怎么做。


然而,他们有很多人,而我只有一个。我意识到这行不通,我必须解决问题的根源。我决定回到源头——技术面试。


重新面试


我不再要求他们在纸上写代码——我只是坐在他们旁边,给他们一个任务,让他们试着去实现。我曾计划进行一系列测试,从最基础的开始,然后逐步提高难度等级,但最后只停留在基本的任务上。


事实证明,只有十分之一的人知道如何使用基本的实体、类型,并知道它们的属性和方法。更糟糕的是,只有 2 到 3 人在使用了内置的辅助工具的情况下才完成了任务。他们就是找不到属性和方法,更不用说使用它们了,他们甚至连最基本的任务都完成不了。


只有一个人敢问我:“可以用谷歌吗?”就在那时,我——这个白痴——终于醒悟了。


“谷歌”程序员


就像有人用一袋面粉砸了我的头,我花了两天时间来消化这种疼痛感。这怎么可能呢?他们在第一次面试时给我看的那些漂亮、优化良好的代码来自网上。最初几个月生产力的爆发式增长是因为他们在网上搜索解决方案。这些家伙给出的神奇答案是在网上找到的。


他们写代码不求甚解,连最基本的结构都不去了解一下。不,他们没有写代码,只是下载了。不,他们甚至连下载都没有,下载代码起码要运行“npm i”之类的命令。他们只是复制粘贴了代码,却不知道为什么要那么写。


这就是让我感到恼怒的地方。我理解你们到网上去弄清楚新技术的工作原理,或者当你们需要使用一些奇特的特性时不希望让不必要的信息造成认知负担。但是,你怎么能无脑地从网上复制粘贴最基本的代码呢?


你想知道他们说了什么吗?他们说:“这有什么大不了的?”这让我感到痛苦万分,或许修道院才是我的归宿。我消停了一下,不再和他们说话。我蜷缩进了自己的世界里,并开始反思。当然,我知道这与他们无关,我自己才是问题所在。


他们只是在遵循他们自己世界里的法则。是我傻,我没有看到这些法则——我不了解它们,没有意识到它们的严重性。这就是肤浅要付出的代价!


肤浅的代价


在我上大学的第一天,我们聚集在学院的大堂里。一位兼任副院长的老副教授告诉我们:“大学不教你们知识,而是教你们如何自己获得知识。”


我很幸运,我是在 2000 年左右上的大学。我从图片上了解互联网。如果你想了解 C++,那就坐下来,这里有学习 C++的材料。如果你想写一篇关于表面粗糙度测量的论文,就去图书馆看书,然后开始写你的论文。如果你想做一场关于历史的演讲,那就去读期刊吧。是的,你需要一本接一本地读,直到找到需要的文章。


不幸的是,“谷歌”程序员没有那么幸运。他们随时随地都能获得任何信息。他们已经学会了如何快速找到这些信息——无论是卖饼干的商店地址、打折的裤子还是生成查询代码。


书上说:大脑会形成并强化人们经常使用的神经元连接。如果你一直写代码,就会做得越来越好。如果你经常在网上查找信息,就会掌握这项特殊技能。如果你一直从网上复制代码,就会成为这方面的大师。


然而,并不是所有的代码都会被开源出来,所以就会出现平台期。“谷歌”程序员的生产力并不是对编码技能的衡量,而是对从网上复制代码技能的衡量。就像下载速度一样。大约 15 年前,你要看电影必须先下载,而如今,只有老一代人会这么做。


有时候,“谷歌”程序员可能会超过普通的程序员,至少在解决普通标准的任务时是这样。但与此同时,我们也会形成使用基本对象、类型和编程语言构造块的神经元连接。


这对我来说是一件很糟糕的事,可耻的人是我。


另外,请重新面试你的程序员吧!


原文链接:https://pvs-studio.com/en/blog/posts/0952/

2022-07-14 11:471801

评论

发布
暂无评论
发现更多内容

现代APaaS产品的5C特点

明道云

一文参透:缓存一致性策略以及雪崩、穿透等问题

Java 程序员 后端

【数据结构 Java 版】玩转顺序表

Java 程序员 后端

【数据结构与算法 11】常见的7种排序算法

Java 程序员 后端

《黑客之道》-- 网络安全之利用0day双杀-java环境-宏感染渗透

学神来啦

网络安全 漏洞 渗透 kali

JDK16的新特性

程序那些事

Java 程序那些事 java16 11月日更 JDK16

【并发编程】Thread类的详细介绍

Java 程序员 后端

音频 AI 算法在 RTC 中的实践

网易云信

人工智能 算法 音视频

【程序人生】为什么Java开发人员在简历上不敢轻易写精通Java(1)

Java 程序员 后端

【数据库实验】《小型MIS的开发》

Java 程序员 后端

【源码分析设计模式 10】SpringMVC中的适配器模式

Java 程序员 后端

【玩转Linux】史上最详细的Linux命令大全和线上问题排查手册

Java 程序员 后端

外包学生管理系统详细架构设计

stars

架构训练营

【大厂技术内幕】字节跳动原来是这么做数据迁移的!

Java 程序员 后端

做云原生时代标准化工具,实现高效云上研发工作流

CODING DevOps

云原生 研发管理工具 CODING

【源码分析设计模式 9】SpringIOC中的模板方法模式

Java 程序员 后端

【面试准备】Spring框架面试题

Java 程序员 后端

存储大师班 | 浅谈 RDMA 与无损网络

QingStor分布式存储

网络 分布式存储

【并发编程系列3】volatile内存屏障及实现原理分析(JMM和MESI)

Java 程序员 后端

【消息队列最佳实践】消息恰好被消费一次

Java 程序员 后端

【设计模式系列24】GoF23种设计模式总结及软件设计7大原则

Java 程序员 后端

一个CURD三年的Java程序员刷完这份《阿里面试指南(恒山版)》

Java 程序员 后端

【死磕JVM】什么是JVM调优?

Java 程序员 后端

【消息队列最佳实践】消息恰好被消费一次(1)

Java 程序员 后端

【程序人生】为什么Java开发人员在简历上不敢轻易写精通Java

Java 程序员 后端

一个简单的字符串,为什么-Redis-要设计的如此特别?

Java 程序员 后端

一周4大厂Java开发岗面试日记(已拿offer)

Java 程序员 后端

Java程序媛的秋招历程(附字节,阿里,百度,网易,美团等面经)

Java spring 程序员 面试 大厂

【设计模式系列14】组合模式及其在JDK和MyBatis源码中的运用

Java 程序员 后端

【设计模式系列17】中介者模式原理及其在JDK源码中的体现

Java 程序员 后端

一个SpringBoot问题就干趴下了?我却凭着这份PDF文档吊打面试官

Java 程序员 后端

资深技术面试官吐槽:我“骄傲”地招了一群“谷歌”程序员_文化 & 方法_nmivan_InfoQ精选文章