0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

软件工程师为什么经常找不到工作

工程师人生 来源:工程师吴畏 2019-04-01 15:35 次阅读

如果没有得到offer,大多数的人都会把责任推到自己身上:“我已经连续被三家公司拒绝了,所以我可能是个很糟糕的工程师吧”。由于我从事过一段时间的技术招聘工作,所以我可以告诉你随机因素和其它干扰因素(误报)也起着很重要的作用。拒绝往往是由于随机事情发生和非理性的原因(真正的消极)。

原因1:候选人因为框架而被拒绝

由于需要招聘一位前端工程师,我挑选了一位面试人员,他对ECMAScript和开源都做过很大贡献。我花了几周的时间才找到这个人,又花了几个小时来对他做正确的评估,包括视频采访。该机构的一名工程师对他提交的代码中审核了十分钟,然后拒绝了他。该公司给他寄来了一封邮件,没有正面拒绝他:

“[…]虽然你的简历和求职信是非常有竞争力的,我们的招聘团队审查完你的申请以后,并没有选择进一步考虑。”[…]

这是一个非常糟糕的邮件回复,因为没有提交过封面信。读完这些之后,我放下了手头所有的东西,开车到办公室跟那位拒绝了我在2017年面试的最好的前端候选人的工程师交谈。

首先,面试工程师不能真正告诉我为什么他拒绝了候选人,他只是说“代码过度设计”,尽管实际上它的结构是正确的,所有ES6操作符和短函数都是正确的。经过十分钟的讨论后,拒绝的原因变得更加清晰了:候选人使用了一个面试官未知的MVC框架。我对这位候选人在编码面试中使用的框架印象深刻,以至于我无法理解这可能是一个问题。

一些背景信息可以解释为什么我们使用了一个未知的MVC框架:招聘公司是一个寻找可重复流程的机构,首席工程师(不是面试官)向我抱怨说,他们倾向于“为每个客户重新发明轮子”。我推荐的候选人用他的空闲时间建立了一个定制框架,解决了该机构面临的一些问题。

因为拒绝面试者的这位面试官没有看我的笔记或我的视频采访记录,因此他没有考虑到为什么候选人使用这个框架,只是在ATS中写了个“拒绝”。而且,在那一刻,团队领导(支持这位候选人的人)正在度假,无法进行干预。

提示:一般来说,在评估之前先看待其他人对候选人的意见,这是一个非常不好的行为,但在某些情况下,如果能够多了解一点北京信息,这是有道理的。

这个故事特别令人伤心,因为CEO给了我另一份报酬,让我给他们带来“最好的人”。所以,我加倍努力。但是,员工和招聘工程师没有真正评估我推荐的候选人。拒绝候选人的工程师甚至告诉我:“招聘对我们来说是最不重要的”。如果你作为招聘人员获得了一份工作,那就会让你更有责任感,但如果你缺乏整个团队的支持,那么它的价值就很小了。

更糟糕的是,这位候选人在接受这样的对待之后,并不想和其他瑞士雇主进行交流(人力资源部的回应,没有反馈,等待两周时间才能提交代码提交)。

原因2:前谷歌工程师被拒绝的原因就是因为不知道贝叶斯公式

一家需要Python工程师的初创公司面试了一位在Google苏黎世分公司的呆了四年的程序员。因为每个人都认为他会要求Google进行赔偿(赔偿金额差不多20多万法郎,几乎是平均工资的两倍),所以我向初创公司推荐这位工程师时遇到了问题。

然而,他对自己的要求是比较合理的,只想要待在一个和谐的团队里面,负责一些有趣的技术挑战。所以,他每次面试都很高兴,而且大多数人都对他印象深刻。他通过了四轮比赛,最后一轮他以一对一的方式和团队里面的每个人进行交谈。

但是在面试之后,一个人站了起来,明确指出这位工程师由于不知道或者不能解释贝叶斯公式,因此不能被雇用。

每个人都表现的无所谓,除了技术主管。他就像是游戏中唯一有皮肤的人。他向CEO汇报几个月以来他们没有雇用任何人。所以他用自己的否决权,明确表示如果就是由于不知道这些琐事而把他拒绝掉,这个理由是有多么的愚蠢。最后他们雇用了这个人。后来事实证明这位工程师是公司这么多年招聘的人员中最有价值的资源。

技术主管的结果是正确的:这位工程师安装的开发环境的时间打破了公司的记录,并在第一天就解决了三个错误。每个人对这件事都印象深刻,也为当时雇用了这个人而感到高兴。

Google在招聘时可以使用这些具有挑战性的算法,因为这些大品牌公司有资本 - 他们可以拒绝许多本来是优秀员工的候选人,因为想进入Google的工程师每年不计其数(谷歌每年有三百万就业申请)。正如Erin Ptacek曾经说过的那样:“Google所做的这些事简直就是定义了什么叫做疯狂。”

原因3:程序员被人力资源部门拒之门外

通常我会密切跟踪参与面试人员的情况,以及在招聘过程中的情况是怎么样的。在我休假的时候,一位CEO表示他会雇用我推荐的工程师。但是此时身在异国的人力资源并没有跟进。由于我正在我休假,因此我也没有跟进,面试人员等了好几个星期都杳无音信,他以为自己被拒绝了,因为没有人跟进(因此如果没有人跟进,这并不意味着就是被拒绝了)。这种情况就是典型的工程错误。

两个月后,我联系了这位工程师,询问发生了什么事情。他和人力资源部门都不明白为什么没有人对他进一步跟进。因此,我通过电子邮件抄送了所有涉及到的人,询问我们是否能完成这个过程。

人力资源一般薪水比较低,工作也比较混乱。内部招聘人员经常负责招聘以外的其他行政工作。这些人通常不太了解技术角色。他们可能只花了15分钟的时间去简单了解一下招聘经理正在寻找什么样的人员,然后就做一些适当的“过滤”。由于缺乏语境和对角色的理解,结果往往会不怎么好。

原因4:候选人被拒绝了,因为他比面试官好

有人在HackerNews对这篇文章进行评论,其中某些观点提到了申请人被拒绝的原因就是因为太出色了。所以,我写下了一个跟我一起的故事:

我还遇到过面试者比面试官好的这种情况。面试者是一个22岁的神童程序员,对开源做过很多的贡献,但是在代码评审阶段被某个人给拒绝了,我们称暂且称他为“Jon”。拒绝的原因让我感到震惊,所以我立即组织一个电话会议来讨论这个问题。电话会议一共有三个人:HR,Jon和我。

Jon在会议中说明了他为什么拒绝这位神童,原因听起来有点滑稽,但是我却无法分辨Jon是否认真的。另外,Jon对Github得贡献也比较差,但是他就是负责代码评审的,所以我不得不听他的反馈。

Jon指出了这位神童的代码中存在一些问题,我们甚至通过共享屏幕上看了这些问题。其实他提到的所有问题都只是风格选择不同,实际上并不是真正的问题。他批评的其他事情只是由于他没有认识到,所以他认为这么写很糟糕,但实际上有很好的理由(之所以会写复杂的try-catch块,就是因为代码交互的API不清晰)。然后我发了脾气。这些批评让我很有戒心,并让我认识到候选人的代码质量比Jon在Github上的要好。因此我抛开了我的绅士气质。HR在那里阻止了我,告诉我“我们在这里并不是为了评估Jon”。这句话说得很对,我也不好在说什么了,所以我换了个话题,结束了通话。

可以另写一篇文章,介绍一下人们为什么偷偷地雇用那些比自己稍微不聪明和/或能力稍弱的人;个人面试者和整个公司都可能会害怕雇用比自己更熟悉或更熟练的候选人。因为候选人太好而拒绝这是不能接受的;所以一种方法是把重点放在候选人很不擅长的某个领域。这里有一篇关于如何在苏联的学术界是如何尝试这种办法的文章。

经验教训

招聘工作比你想象的更混乱。如果你被拒绝了,这并不意味着你就是一位很差劲的工程师,因为拒绝的原因可以有很多。

如果你问自己为什么会存在招聘机构,好吧,现在想想就可以知道这些机构存在的原因就是为了防止这篇文章中提到的一些事情会发生。我们将人们与工作相匹配,除了创始人之外,我们拥有最多的皮肤来消除障碍,让人们找到工作。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 软件工程师
    +关注

    关注

    8

    文章

    217

    浏览量

    20926
收藏 人收藏

    评论

    相关推荐

    Cognition发布首款AI软件工程师Devin

    据报道,Cognition公司今日公布了其首款人工智能软件工程师——Devin,掀起了打造软件模式变革的序幕。该产品在SWE-bench代码测验中展现出卓越表现,甚至超过了部分顶级人类工程师的水准。
    的头像 发表于 03-13 10:57 379次阅读

    企业老工程师和高校老师有啥区别

    电子工程师硬件
    电子发烧友网官方
    发布于 :2024年02月28日 17:50:00

    multisim找不到元件怎么办

    Multisim 是一款常用的电路仿真软件,它可以帮助工程师和学生对电路进行设计、仿真和分析。但是,有时候用户在使用 Multisim 时会遇到找不到某些元件的问题。本文将详细讨论为什么会出现这个
    的头像 发表于 02-23 15:44 1869次阅读

    嵌入式软件工程师常用的

    最近我换工作了,看见不同嵌入式软件工程师用的平台都不一样,所以我整理了一下。PlatformIO:多平台支持:PlatformIO支持多种嵌入式平台,包括Arduino、ESP8266、ESP32
    的头像 发表于 12-24 08:00 233次阅读
    嵌入式<b class='flag-5'>软件工程师</b>常用的

    嵌入式硬件和软件哪个好?

    ,如复位电路、常用滤波器电路、功放电路、高速信号传输线的匹配电路等;故障定位、解决问题的能力;设计文档的组织编写技能! 那对于嵌入式软件工程师来说: 嵌入式软件工程师领域较新,他的发展也是很快的,像
    发表于 12-05 15:17

    FPGA工程师需要具备哪些技能?

    在一定条件下的运行情况,来判断电路的正确性。经常使用的动态观测技术包括各种漏斗测试和信号探针。 仿真是FPGA工程师进行测试验证工作的重要方法。仿真可以帮助工程师确定是否有设计缺陷、
    发表于 11-09 11:03

    找不到adb设备有什么方法?

    那现在插网口,找不到adb设备有什么方法
    的头像 发表于 10-14 15:15 3795次阅读

    虚拟机里找不到adb设备怎么办

    虚拟机里找不到adb设备
    的头像 发表于 10-13 18:45 1111次阅读

    【社区之星】彭仲维:扎实的基本功与时间的沉淀才是工程师成功的关键!

    入了电子行业。 社区小助手:作为一名从业多年的工程师,能否分享你的工作经历和一些比较成功的工程项目或优秀作品?开发这个产品的整个过程,有什么记忆深刻的经历吗? 彭仲维老师: 一体式胎心项目,涉及到很多本人
    发表于 10-13 14:15

    为什么嵌入式软件工程师需要掌握 Linux?

    ,都默认支持 Linux 操作系统。 可以说, 打开 Linux 这扇门,你才是合格的软件工程师 。如果不能
    的头像 发表于 07-21 18:15 1321次阅读
    为什么嵌入式<b class='flag-5'>软件工程师</b>需要掌握 Linux?

    热门推荐:硬件工程师必备工具

    硬件开发的工作流程一般可分为:原理图设计、PCB Layout设计、采购电子BOM、PCB板生产、PCBA组装、功能调试及测试、小批量试产、大批量生产正式投放市场等步骤。 作为一名优秀的硬件工程师
    发表于 06-21 10:15

    招labview工程师 (广州)

    招labview工程师1-2名,工作地点:广州天河 负责仪器设备系统软件开发工作; 协助公司已有产品软件的维护及改进; 协助模块功能调试及系
    发表于 06-08 18:48