发布于 2026-01-06 3 阅读
0

我应该接受编程挑战来争取一份工作吗?DEV 全球项目展示挑战赛(Mux 主办):展示你的项目!

我应该接受编程挑战来换取一份潜在的工作吗?

由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!

答案是“不”!绝对不行。就是不行。

听着,我不是说这是个简单的话题。你看,这里就几个Reddit帖子和一篇Y Combinator的帖子,再看看评论。

https://www.reddit.com/r/programming/comments/8dbv04/the_latest_trend_for_tech_interviews_days_of/

https://www.reddit.com/r/webdev/comments/8deo8l/the_latest_trend_for_tech_interviews_days_of/

https://news.ycombinator.com/item?id=16874015

有一点你不能告诉我,这个话题不具争议性。它绝对具有争议性。

让我试着解释一下我认为尚未得到真正探讨的观点。为了阐明这一点,我们先来分析一些论点。

从雇主的角度来看

我曾经也当过“雇主”。作为一名开发人员,我也曾有机会与许多优秀的开发人员共事,当然也遇到过一些水平不高的。

如果你招到的开发人员要么经验极其不足,却不知何故“骗”你让他误以为经验丰富;要么可能经验丰富,但对工作漠不关心(只是为了糊口);或者(天哪!)招到的人兼具这两种极端情况……

我不需要把这些都解释清楚。

如果你的开发人员对工作漠不关心,那么浪费的时间将不计其数。我并不是说要你成为一个超级热情、每时每刻都投入其中的开发者布道者。我的意思是,要认真对待你的工作。认真对待你的工作,在你领取工资的时间段内,努力做好你的工作。

那种诚实敬业的职业道德都到哪里去了?

我的话题已经转移了。关键在于,作为一名雇主,我曾聘用过这类经验丰富的开发人员,我知道这会给同事和公司带来多大的损失。工时损失就意味着金钱损失。这也会打击员工的士气。

当然,任何公司面临的最大代价莫过于倒闭。只需要一个人欺骗或漠不关心,就可能导致这种情况发生。同样,一个人也拥有创造巨大积极改变的力量。

因此,对于雇主要求求职者完成测试或编程挑战,以证明你对所申请的职位有所了解,我并不感到惊讶。我完全理解这一点。

反对它的论点

我当爸爸了。刚当爸爸几个月。时间非常有限。所以我们来算算账吧。

想象一下,你身处一份无法继续维持的工作中,也许是因为公司倒闭,也许是因为你即将被解雇,又或许你只是单纯地讨厌这份工作。这都无关紧要。你决定离开。

该去找工作了!

所以你决定玩“数量游戏”。你申请的职位越多,被录取的几率就越大,你也完全明白质量比数量更重要。这意味着你不会盲目地向所有职位投递简历。你会花时间阅读招聘信息,认真听取招聘人员的要求,但同时也会牺牲一些时间,尽可能多地申请职位。

这是一个好的开始。

于是你开始申请。

接下来会发生什么?终于有点意思了!于是你被要求参加一个测试。你有48小时的时间完成,而测试通常需要2到5个小时。

太棒了,你的第一次考试。你信心满满,充满希望,一晚上就把它写完了。你提交了试卷。现在你得等着审核结果了。

第二天,又有人表示感兴趣。事情开始有了进展。你被要求参加另一项测试。这次测试有三天时间完成,同样需要在两到五个小时内完成。

第二天,有两个人表示感兴趣,一个要求做5小时的测试,另一个要求做2小时的测试,但你必须立即完成2小时的测试。同一天,你申请的第一家公司想和你进行一个小时的电话会议,讨论你的测试结果,并和你探讨你选择进行这项测试的技术原因。

好吧,今天确实有点忙乱,你得在做好本职工作的同时完成所有这些事情,如果你能做到的话。可行。虽然不是最佳方案,但可行。

继续加油,兄弟。

你一周的最后几天是怎么安排的?又是考试又是面试,可能还要参加好几轮面试,甚至可能被派到某个地方进行现场面试。你知道你一个月要花多少时间在考试上吗?我们只讨论考试部分。

假设你每周做 3 次测试,每次大约需要 2 小时,持续一个月。一个月有 4 周,每周有 6 小时的测试时间。那就是 24 小时的测试时间。这意味着你现在已经贡献了超过 3 个完整工作日的免费工作时间。

假设你每月收入约3000美元。假设一个月大约工作20天。那每天大约是150美元。税前。

你白白浪费了价值 450 美元的时间。

这还不包括常规面试的时间,与技术团队聊天,像个木偶一样展示你的解决方案,准备演示文稿的时间等等等等。

据我所知,资本主义的运作方式是双方进行某种形式的交换,通常是一方支付金钱,而另一方则提供某种东西作为交换。说白了,就是商品交换。

如果一家公司付给我 450 美元,他们肯定会期望得到一些回报,这是理所当然的。

你花钱找工作,能指望从公司得到什么回报?你最终一定能得到这份工作吗?当然不能。我亲身经历过,你提交了测试,结果出现了一个更优秀的候选人(姑且这么说),他们就以一些愚蠢且武断的理由让你不及格,这样他们就可以毫不愧疚地把你淘汰,而不用为浪费你的时间而感到愧疚,因为他们可以继续等待更合适的人选。

如果你像我一样,连两个小时的测试都抽不出来,那你很可能就错失了一位经验丰富的优秀开发者,而他根本不会费心去做你那愚蠢的测试。然后你就可以坐在那里抱怨人才短缺了。

我们关注的事情不对。

在我看来,雇主试图回答的是错误的问题。开发者接受这些测试时,也是在回答错误的问题。

更重要的是,开发者本身也是问题的一部分。那些漠不关心、撒谎,或者妄想不劳而获的开发者——这样的人比比皆是——他们都是问题的一部分。

雇主们试图回答这样一个问题:“我们如何确保招聘到最优秀的开发人员,他们既适合我们公司,又具备我们想要的技能?”答案是:技术测试。

问错问题

正确的问题是:“我们如何确保尽可能多的开发人员拥有在任何公司、任何地方、任何时候都能高效工作所需的培训和资质?”

换句话说,开发者生态系统到底出了什么问题,导致开发者的素质参差不齐,以至于雇主觉得有必要让我们所有人经历一番繁琐的程序才能获得应聘机会?

为什么我们不从根本上改善生态系统呢?而不是试图制定越来越多的规则,从而激怒那些一直以来都秉持公平竞争精神、对自己的作品充满热情的开发者,以至于他们也不想再玩这款游戏了?这样做又能解决什么问题呢?

停止接受技术测试,也停止要求他们进行技术测试。开发人员需要为他们的故意不足负责,而解雇、裁员或晋升受阻的威胁可以起到很好的激励作用。公司也需要尊重开发人员,对他们进行一些投资,把他们当作人来对待,而不是把他们当作只会敲代码、大脑里装满了普通人难以掌握的各种知识的机器。

我们该如何解决根本问题?为所有人提供更好的培训。为开发人员提供更好的培训(我不认为训练营是解决之道),并为企业提供更好的培训,使他们能够充分了解这个领域,从而做出明智的决策。

这些话题我们将在另一篇文章中讨论。

文章来源:https://dev.to/spirodonfl/should-i-accept-coding-challenges-for-a-pottial-job-4p2m