你是在寻找最好的程序员,还是最好的纯粹主义者?

你是在寻找最好的程序员,还是最好的纯粹主义者?

原文:https://medium.com/hackernoon/are-you-looking-for-the-best-programmers-or-the-best-purists-49901cb92977

一年多前我写过为什么编码面试是懒惰和过时的:

就我个人而言,我曾经完全支持这些算法,可能是因为我在大学时在数据结构和算法方面取得了很高的成绩。

至少在我开始全职工作的第一年,我很自豪地尽我所能去实现它们。我有一个观点,我正在重构的 PHP 代码是懒惰的,我不想变得懒惰,与算法失去联系。因为你知道,我很擅长!

直到首席开发人员问我,当我基本上是在重写已经存在的 API 时,为什么还要费心。抱歉,乔希,我错了。

就在那时,它突然出现了——这些算法(和采访)来自所有这些 API 和框架可用之前的时代。他们必须发明轮子,他们别无选择。

现在只是浪费时间。现在,这只是对那些喜欢感觉聪明和看起来聪明而不做任何真正有价值的工作的人的自我检查。

它的动机是我的个人经历和当时 TechCrunch 的一篇文章的结合。我有我的假设,面试把关人已经从一篇像这样的文章中得到他们的建议。

这个帖子是由 StackOverflow 的联合创始人杰夫·阿特伍德在 2007 年发布的。但我最近才发现,3 年后有一篇后续文章,令人惊讶的是,他根本没有解决低级算法问题的背景,尽管它出现在评论中。举一个卡车司机使用油门踏板的例子:

这是我们要求候选人做的极其简单的事情。他们不能。这相当于试图雇用一名卡车司机,却发现 90%的求职者找不到油门踏板或换挡杆。

嗯。事情是这样的,油门踏板实际上是卡车司机使用的。每一天。面试测试中 99%的编码问题都没有被使用。这是事实,承认这一点是不受欢迎的,因为程序员的守旧派让所有人都感到内疚,认为事情与现实不同。

这更像是一个卡车司机在卡车驾驶学校学习如何更换一个已经报废 20 年的发动机的稀有零件,并且再也不需要碰那个发动机了。也许卡车司机汤姆可能需要在 10 年后挖掘这些信息——在这种情况下,他们会使用谷歌搜索。问题结束。那才是真正的白板回答。

我意识到我去年的博文和这篇后续文章涉及到 2016 年的观点。重申一下去年的观点,2007 年,我是计算机科学研究生的第一年,2008 年末,我开始全职做开发人员。

我可能足够幸运,在我的数据结构和算法课程中取得了高分,所以我想我很擅长。但我也真的真的很喜欢它!这很有帮助。

然而,如果我认为某样东西不相关,我就很难去爱它,这将是这种知识的命运。

如上所述,当我在 2008 年被聘为 web 开发人员时,我非常喜欢这些知识,以至于我煞费苦心地用 PHP 中的一堆链表和递归算法来“改进”代码。在对 PHP 和技术领先有了更多的了解之后,我开始慢慢意识到,拥有一个像 PHP 这样的框架或库,就不需要每天重新发明轮子了。

有道理。所以我适应了。其他开发者也适应了这种情况——这个两年前的帖子比杰夫 2007 年的博客帖子有更多的不同意见。来自的 AndreyErmakov 的一条评论,特别分享了我在我工作过的地方进行和不进行编码测试的经历:

我所有的好工作都是在没有技术测试的情况下提供的,而且都是由优秀聪明的人提供的。每次涉及到一些技术问题时,这些人都很傲慢,居高临下,无论如何我都不想和他们一起工作。

出于某种原因,面试官花了 10 多年才明白。我怀疑这是因为这些大多是老男孩编码员,他们实际上不再编码,因此并不真正知道在 2016 年编写实际应用程序涉及到什么(?).这可能是因为他们投入了大量的时间来获得这些知识,并且不愿意接受现在只是浪费时间。

2008 年,我肯定也有这种感觉!但为了进步,我不得不放手。让它去吧。

音乐行业也是一样,我上辈子也参与过。纯粹主义者对那些没有晋升到上层并在酒吧巡回演奏几年的音乐人持谨慎态度。呼声是“很多音乐人其实不会现场演奏”。这是不是有点可悲?是啊,算是吧。但它可能更多地说明了消费者而不是游戏中的玩家——音乐家不需要现场演奏就能成为音乐家。

软件模式的知识,以及如何用 MVC 写程序,可能感觉像是流行趋势。但事实是,这是开发人员今天解决的大部分问题,而那些在这方面真的真的很好的人,是真的真的很好的开发人员。

把礼貌性的讨论放在一边,关于让一个已建立的工程师展示他们的编码能力是否值得尊敬,问他们一些他们每天都在使用的东西。因为一个卡车司机,正如我们已经确定的,会被问到他们如何使用油门踏板…这是他们每天都在使用的东西。为什么理解起来如此复杂?

谷歌已经存在了将近 20 年。但是他们解决的问题并不是我们今天需要解决的问题(除非你从头开始发明一个操作系统,或者在嵌入式系统中工作。罕见)。我们仍然会在面试时问这些问题,因为这是“谷歌之道”。但是,为什么我们仍然在为我们 20 年前想要雇佣的开发人员进行测试,而不是为我们在 2016 年想要雇佣的开发人员进行测试?

黑客中午是黑客如何开始他们的下午。我们是 @AMI 家庭的一员。我们现在接受投稿并乐意讨论广告&赞助机会。

要了解更多信息,请阅读我们的“关于”页面在脸书上点赞/给我们发消息,或者简单地说, tweet/DM @HackerNoon。

如果你喜欢这个故事,我们推荐你阅读我们的最新科技故事趋势科技故事。直到下一次,不要把世界的现实想当然!


本站为非盈利网站,作品由网友提供上传,如无意中有侵犯您的版权,请联系删除