什么是“技术美德信号”?


作者:Spiro Floropoulos
当一家公司要求你使用一些复杂的算法或解决一个你可能永远不会遇到的疯狂问题时,我会说这是一种美德信号。
对我而言,该公司正在说“看看我们有多酷。我们知道这些算法或结构或数学或[在这里插入一些很酷的流行语],这意味着我们很时髦,你应该为我们工作”。
这是真正的问题:你会在日常工作中使用所述算法,结构,范式或[在这里插入一些很酷的流行语]吗?如果答案是否定的,那么除非你有非常具体的理由,否则不要让开发人员面试这些问题。
有些情况下,像这样的面试问题是有目的的。也许面试官只想看看你的思维过程是什么样的,以及你如何解决问题。那很好,我理解。
我一直在进行的一些最好的访谈(并且可以说其他人一直在进行)更像是解决公司中存在的实际问题并将某些事情编程在一起,或者当你通过某些事情来影响某人时。这可以让您真实地了解作业对您的实际需求以及您将如何处理它。

我最近看到了这一点:开发人员在Twitter上表示,除非他们以x,y或z方式编程,否则人们不是真正的程序员。
实际上所说的是“看看我有多好。我是一个真正的程序员,你不是,这就是为什么你不是”。
你的工作增加了不必要的开销。您不必将任何事物政治化或定义事物到某种程度,以至于您愿意根据自己对编程的定义来标记它们(或删除标签)。
你把你自己带进入了工作,将你和你的工作混淆在一起:“如果你没有使用这个复杂的算法来解决这个问题那么你就不是真正的程序员,因为我确实在使用它,所以请听我的意见并解决这个问题,我是怎么告诉你的。”
那不是建设性的。如果你说这样的话,你也不会编程。

所谓“美德信号”是愚蠢和荒谬的,至少不属于科技行业的特定领域。