当技术天才还不足以成为成功的开发人员吗?[关闭]


18

关于“ Stack Overflow的良好声誉是否有助于找到一份好工作? ” 这一极好的问题,已经进行了很多讨论。我立即同意JoshK,基本上说“ ”(我会解释为什么),但乔尔 插话与很多说服这让我给予好评他以及事实的。

我的问题是,开发人员还需要什么其他技能(不是技术天才)?得到这份工作,或保留它。

我相信,成为一个天才远远不够。我在我工作过的各种公司中遇到了许多技术天才,这给我留下了深刻的印象,但可悲的是,在许多情况下,它们只是在几个月后被开除或放入象牙塔中(主要是由于其他开发商的内部mu变)。据我了解,由于这种情况,我已经看到许多人身困扰。

这就是为什么我非常热衷于非技术性问题。我想知道应聘者将如何与他人(包括非技术性员工)进行互动,对企业有多大考虑,如果他愿意为预期的结果而工作,等等。

我想知道您对开发人员的要求,为什么这很重要(毕竟,您雇用了某人来编写代码,对吗?您为什么要让他保持自信?)理想情况下,我希望您提出一个示例性的问题,以便在面试时提出以支持您的答案。


我的公司到处都是象牙塔,上面有居民的象牙薪水:(
Hannibal Lecter博士2010年

从象牙塔的顶部,景色很不错:)

很高的声誉吸引了我邀请我介绍StackOverflow的职业生涯,这导致了招募人员的电话,这导致了他提出搬迁到西雅图的提议:-)
凯文·克莱恩

Answers:


22

高超的交流技巧。

如果您的同事无法直接阅读您的大脑,您将需要能够告诉他们您的想法。最好是口头和书面形式。


编辑:在面试时看他们的一种方式可能是问他们最喜欢做X的框架是什么,然后说他们需要在可以使用X的项目上工作,但这是使用技术的政治决定。 Y(显然更老,并且具有X可以解决的一些限制)。

如果这最终导致了关于为什么政治决策错误的争论,那么您有充分的迹象表明此人在实用决策方面做得不好。


您是否会增加有关如何与非技术人员(例如管理层或客户)就高科技问题进行沟通的更多详细信息?我目前正在阅读一本关于《即使是极客也能说》的主题的优秀著作。

好吧,从本质上来说,这只是一个问题,您是否可以思考一下。我曾经发现,将软件开发解释为“我们编写编织食谱”非常符合祖母的心态。

3
对于那些具有良好英语水平并且愿意花更多的时间来提高他们的书面和口头沟通能力的候选人,我总是很偏爱。另一方面,如果他或她说话或写作就像生活只是部署在Twitter之上的另一个应用程序一样,我将尽我最大的努力向我展示门。
亚当·克罗斯兰

@Pierre,这本书可以在线获得吗?我在Safari上找不到它。

1
@ Pierre303您可能会发现“书呆子手册”很有趣。 randsinrepose.com/archives/2007/11/11/the_nerd_handbook.html。作者有一个非常有趣的博客。

15

团队合作/沟通:

  • 能够解释您的解决方案或问题
  • 能够与其他人一起工作而不会使他们感到难过(无论如何)-使他们觉得与您一起工作很愉快

没有这些技能,您将无法与团队合作,如果不能,那么您将无法进入一家需要这种技能的公司(自然而然,几乎所有员工都需要团队合作)。您仍然可以是自由职业者,可以从事没有其他人可以从事的项目,但是您仍然必须与其他公司的人进行沟通。

即使是学习,如果您无法与很多不同的人交流(例如在网络上),那么您可能无法在现实生活和社会中做得更好(无论工作如何),这是一个障碍。

编辑>在面试中,团队合作/社交/沟通确实很容易检查,这可能是最简单的事情。您只需要问一些问题,而不是技术性问题,易于回答的问题,或者仅是关于候选人对某事的想法或候选人在某个领域或其他领域中喜欢或不喜欢什么的问题。让他说话。你会看到的。


15

持久性是我很少提到的一项技能。它是一种技能-即使您看不到结局,也能够使自己解决问题的能力。许多人不这样做。他们只在势头上工作,或者只是尽力而为。不幸的是,无法通过与他们交谈来判断一个人是否具有这种特质。您确实需要能够与与该人合作过的其他人交谈。引用可以做到这一点,但是该选项并不总是可用。


持久性评论+1-我想知道SO代表是否会与持久性相关?
加里·罗

@Gary-我想,如果它是通过回答需要解决一些问题的问题而不是缺少分号或其他东西的新手问题获得的,那它可以。;)
Michael K 2010年

12

这些不是技能,而是更多的特质,但我可能建议在一个成功的开发人员中仍然值得寻找这些特质:

多功能性将是我的另一个特点。有时,开发人员可能不得不担任纯开发人员以外的角色,例如业务分析师,架构师或测试人员。我知道我在项目中有很多部分,除了设计或编写代码外,我还在做其他事情,这应该从另一个角度来看。并非每个人都能接受担任其他角色。询问开发人员过去曾在哪些情况下必须担当另一个角色,以及结果如何。

我可能会要求谦卑。自我会在某些地方造成很多麻烦,但并不是每个人都能接受的是,某人的处境可能比他们更好。如果其他人有更好的主意,那就去做。您可能有一个要求开发人员进行批判的开发人员代码示例,并查看他们是否可以正确地进行自我纠正。

骄傲将是另一个放在那里的地方。这与以前的素质有些不同,但是如果某人对自己的工作没有自豪感,您认为这是一种什么样的素质?这里不满意的情况略有不同,因为很多开发人员可能都是完美主义者。问他们对过去的哪个项目感到最骄傲?

自我激励也将是一项重要技能。是什么驱动他们?他们能说得如何好? 彼得·吉本斯(Peter Gibbons)的这一行是“办公室空间”

八,鲍勃。因此,这意味着当我犯错时,会有八个不同的人来告诉我有关情况。那是我唯一的真正动机是不要为麻烦而烦恼,还有害怕失去工作的恐惧。但是,鲍勃,你知道,这只会使某人努力工作,不会被解雇。

我怀疑这与许多开发人员和非开发人员都有关。你为什么做你的工作?这可能是一个很好的问题,但确实要在响应中寻找诚意和真实性,因为有时会出现罐头答案,这是必须要发现的。

好奇心将是我要添加的最后一个。看到事物如何工作,学习新技术并走出舒适区的渴望,是成功开发者中可以找到的其他标志。关于他人如何进入发展的简短故事可能是一种了解这一特征的方式,尽管另一个故事是询问他们未曾见过的东西,然后看看他们是否有“探索可能很有趣”或“噢,兄弟,别再说了。”


谢谢一百万,虽然已经有了一些出色的答案,但是您的答案正是我一直在寻找的答案。我希望更多的人来这里学习,并拥有更多的技能可以发展成为更好的程序员。(抱歉,我今天不能再

7

1)沟通可能是任何人(包括软件工程类型)拥有的最重要技能。这些沟通技巧对于与经理和客户打交道与与同事打交道同样重要。

2)团队合作是一项稍有不同的技能,在很大程度上取决于第一手。从本质上讲,我需要确定我要雇用的人员是否会使整个团队受益,或者我可能会雇用一些人格冲突。没有人可以预测未来,但是您也不能在面试中忽略警告信号。

我在面试过程中使用的一种策略是让此人描述一个更具挑战性的技术问题(他们可以谈论)之一以及如何解决这些问题。当他们讨论他们的推理过程以及如何发现问题时,您可以更好地了解他们如何就潜在的复杂事物进行交流。如果他们在此过程中寻求其他帮助,我认为这是一个加分。我们谁都不是完美的技术专家。如果他们选择的问题最终导致人格冲突(仅发生过一次),您可以通过或更深入地探讨。

在许多方面,面试过程就像相亲。双方都摆出自己最好的脸,试图弄清楚他们是否想与对方共度更多的时间。您越能使访谈像对话一样畅通,那么受访者就越轻松。因此,您会更好地了解它们是否合适。


6

尽管与团队开发人员相比,与个人开发人员相比,这种质量更适用,但我认为“伟大的工程师随身携带”的说法还有很多。

对于大多数人来说,要在面试中很难证明这一点,但是,如果我要采访的候选人,例如,已经编写并交付了大量的开源应用程序,库或框架,并且可以雄辩地谈论那些额外的东西,它实际上需要完成一个不平凡的项目,我必须让这个人在他或她的竞争中有所作为。

相反,如果一个潜在的候选人将我引向他的Github帐户,而我发现它充满了半完成,越野车,被忽视或文献记录不充分的项目,那么我将有充分的理由无视他的候选人资格。

一个男人在电影中曾经说过:“咖啡是为了闭门造车。”


4

沟通和团队合作能力很重要,但是我想补充一下,根据我的经验,能够理解客户的需求并获得业务领域知识也很重要。


2

我同意沟通是至高无上的,但是我遇到了一位优秀的编码人员的失败,他没有向其他工程师展示他的流程的使用。我能够复制他的流程并将其展示给其他人,但没有他的帮助。他被解雇是因为他不会教书。


1

它永远都不够。

常识。解决问题。对整个技术的兴趣。以正确的方式做事的态度。坚持不懈。团队合作/交流。

在1-5上为每个技能评分。如果您的分数至少为3,则平均分数为20+。作为开发人员,您将过上美好的生活。25岁以上的开发人员将是成功的。少于10,您需要认真考虑软件开发的职业。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.