我被软件工程师职位拒绝的原因
我在 Twitter 上看到很多关于技术面试的讨论,其中很多都是围绕着这样的想法:应聘者需要“更懂技术”(顺便说一句,这不是一回事——技术专长不是线性的),或者他们需要能够平衡二叉搜索树或其他东西,但工作并不需要这些。
科技公司的典型面试过程几乎比无用还要糟糕,所以我想分享一些我被公司拒绝的可笑原因。
有一家公司拒绝了我,因为他们觉得我无法适应他们的规模。这件事有两点很奇怪。首先,他们在面试时完全没有问我任何关于规模方面的经验。
第二,这个团队只负责客户推荐——也就是说,他们实际上只是把客户引导到他们的客户获取渠道。除非这家公司真的能做到每秒获得数万名新客户,否则规模不太可能是真正的因素。不过,这相当于几个小时内全美人口的数量,所以规模可能不是关键因素。即使他们按照公司整体规模来算,我也曾在规模比他们大几倍、流量、数据和工程师数量都多几倍的公司工作过。
对一些开发者来说,规模是自我膨胀的体现,是一些“跟我水平差不多”之类的玩意儿。
但这是一种虚荣指标,会积极阻碍优化并鼓励不良的扩展实践,因此需要大量讨论才能了解某人对它的熟悉程度。
另一家公司拒绝了我,因为他们觉得我不会喜欢在大公司工作。我完全不明白他们怎么会做出这样的招聘决定。如果公司规模是决定性因素,我为什么要申请?他们为什么要左右我的喜好?😂
另一家公司拒绝了我,因为我在他们的技术面试的“调试部分”很难找到 Ruby gem 中的一个错误sass
——这是一场持续一整天的现场面试。
这个 Ruby 库除了包含 13000 行代码(不包括空格和注释)之外,还是一个解析器,而使用解析器与使用普通应用程序截然不同。而且,在 Ruby 中,解析器大量使用了元编程,这使得当你不熟悉代码时,查找 bug 变得更加困难,因为你根本无法grep
找到所需的代码。
我问面试官这个职位是否需要用 Ruby 实现解析器,他说“可能不需要”。所以这根本就是个无意义的练习,但他们居然告诉我,我没能在 45 分钟内找到并修复一个 13k 行代码的 gem 中的 bug,这就是他们拒绝我的原因。
在另一次面试中,面试官问的问题非常模糊。每次我哪怕只是问他想要什么样的答案,他都会把问题简化。而且他的做法让我明白,我因为得到“提示”而丢分。
当我不再追问他,而是开始猜测他想要什么时,他也做了同样的事。后来,当我试图猜测他的意思时,他又问了我之前回答过的问题。
我记得当时站在白板前,心想:“他们肯定会拒绝我,因为这个人根本问不出他想要的答案。” 我的意思是,至少我预见到了会被拒绝。
即便如此,这一次可能是最艰难的拒绝,因为工程经理对我很兴奋,甚至把我介绍给她的团队,因为她期待一个积极的结果。
在另一家公司,他们问了我自身的优势和劣势。这个问题通常来说没什么意义,但拒绝信里却说:“我们正在寻找拥有不同优势的工程师。”
这次采访从头到尾都是一场糟糕的表演,但这是我最喜欢的部分。
这些公司并非由默默无闻的科技大佬经营的小型初创公司。它们都是备受尊敬的公司。如果你身处科技行业,你可能听说过其中的大部分,甚至全部,而且你几乎肯定使用过它们的一些产品和服务。
然而,无论他们多么擅长在“旧金山市中心的超棒办公室”提供零食或“通过设计更开明的工作方式来释放世界的创造力”,他们在面试方面却很糟糕。
有时面试官会找一些与你无关的武断理由拒绝你。也许面试官沟通能力不强。也许他们有优越感,拒绝你只是为了行使这种权力。也许他们只是心情不好。
对于这类面试,你可能根本就没办法通过。你可能把所有事情都做得“正确”,但面试官还是会找个借口拒绝你。很多时候,团队可能真的很棒,但面试官可能在一个完全不相关的团队里工作,而且他们根本不会见到你。
我在这个行业工作了15年。现在的面试和我刚入行时一样糟糕。我们都被错误的标准评判。即使我们得到了工作,也可能不是因为正确的理由。
文章来源:https://dev.to/jgaskins/reasons-i-ve-been-rejected-for-software-engineering-roles-5221