如何创建一个热情的开发团队?

时间:2010-01-28 21:25:08

标签: development-environment

如果你有一个满是开发人员的房间,可以做些什么来鼓励那些开发人员对软件和软件开发感到兴奋和热情?

没有任何噱头,但真正的举措是创造一个人们希望在软件中工作的环境,而不仅仅是因为公司是一个整体工作的好公司。

27 个答案:

答案 0 :(得分:40)

在我看来,绝对的,#1,最重要的事情是激励开发人员对他们的工作充满热情,这是对他们产品的所有权感。所有团队建设练习,阅读小组等都很好,但如果开发人员没有主人翁意识,最终效果不佳。

这是一个快速的,在我认为重要的事情的袖口清单,以确保这种情况:

  • 开发人员在系统的未来设计中拥有真正的诚实利益。开发团队外部总会有需求,但开发人员应该在发现这些需求时代表他们。能够为你正在做的工作的未来状态提供真正的输入。
  • 开发人员提出的要求或对您的解决方案的更改应该给予发言权。当然需要找到平衡,但是太多的公司没有适当的机制来允许纯粹的开发重点请求通过。这些可能是产品增强,构建单元测试或简单的重构,但它们对于产品质量和为开发人员提供项目利益至关重要。
  • 开发人员应该与用户联系。开发人员就像地下室里的人一样对待产品代码,他们永远不会对产品或开发自己的技能采取非常热情的方法。
  • 拥抱新技术,即使它只适用于PoC或技术可以做的原型。世界上没有任何开发人员对制作样板代码感到兴奋,他们永远不会
  • 让开发团队拥有自己的流程。开发方法从一开始就会有所规定,并且会使开发团队失去动力,开发团队现在需要处理规划会议和瀑布式开发的额外负担。要求存在一个过程,但在出现问题之前,请不要忘记具体细节。
  • “只是事情的运作方式”绝不是破坏过程的借口。如果开发人员对他们需要遵循的流程有合理的关注,那么他们需要一个诚实的机会来反对它。作为经理,你可以说最糟糕的事情之一就是“这就是副总裁/执行官/首席执行官/上帝想要它的方式,所以我们需要遵循它”。您需要支持您的开发人员关注,或者失败,允许他们与相关人员直接互动。如果你作为一名经理被视为高管的sockpuppet,那么祝你好运再次激励开发人员。

答案 1 :(得分:25)

尽最大努力保护开发人员免受所有政治攻击。让他们做到最好,开发软件。 没有什么可以杀死一支富有成效的团队,比如不得不在内部政治中吵架。

这个众所周知的对话最好说:

  彼得吉本斯:鲍勃,我有八个   现在不同的老板。

     Bob Slydell:请原谅?

     彼得吉本斯:八位老板。

     鲍勃斯莱德尔:八个?

     彼得吉本斯:八,鲍勃。以便   意思是当我犯错时,我   有八个不同的人过来   告诉我这件事。那是我唯一的   真正的动机不是麻烦,   那和害怕失去工作。   但是你知道,鲍勃,只会这样做   有人努力工作不够   被解雇了。

答案 2 :(得分:20)

雇用合适的人

在面试过程中,提出问题,让你看到他们对手艺的热情。

一些例子,他们:

  • 阅读软件书籍或博客,收听播客?
  • 在家玩新语言/图书馆?
  • 有助于开源项目吗?

一旦你有好人,就会让他们远离他们。有适量的流程,不要强迫不必要的标准化,倾听问题,诚实地说明事情的发生。

答案 3 :(得分:16)

阅读DeMarco和Lister的Peopleware

答案 4 :(得分:14)

我还没有遇到一位能够开发出优秀软件的有能力的开发人员。诀窍是尽量避开自己的热情。

Joel Test是一个好的开始。

答案 5 :(得分:12)

  

可以做些什么来鼓励那些人   开发人员变得兴奋和   热衷于软件和   软件开发?

没什么。

对软件开发的热情来自内部,不能从零创建。提供现有的激情很容易 - 资源,培训,以及对管理层的热情的明显欣赏都是需要的。

唯一的例外可能是以身作则。如果你很兴奋,其他人可能会跟随。

更新:正如在其他答案中所说的那样,预先雇用更好。我要通过十位优秀的程序员,他们只想为一位优秀的程序员提供薪水,这位程序员在业余时间编码以获得乐趣。

另一个更新:这个答案一直在上升/下降,所以让我澄清一下。 OP的措辞专门询问如何让现有团队对“软件开发”感到兴奋。我的观点是,如果他们对自己选择的职业不感兴趣,那么雇主就无法产生兴趣。一个无私的,没有动力的团队将把最迷人的项目搞得一团糟。相比之下,一支积极的专业团队喜欢他们的工作,可以制作最好的计算器程序,并享受它的每一分钟。

答案 6 :(得分:7)

要解决一个有趣,具有挑战性且有利可图的问题,所有开发人员都会在结果中占有一席之地。如果没有,只要支付清算明确,就会有一个满是开发人员的房间。

答案 7 :(得分:6)

我不得不同意Pascal的评论,但我不打算这样开始。

总的来说,已经证明,为开发人员提供一个让他们喜欢自己工作的环境的最佳方法之一就是给他们自由。但是,你在这里寻找不同的路线,你正试图寻找“热情的”开发者。

诚实地说,没有直接联系到“有能力”和“热情”。有数百名开发人员能够成为程序员,并且有很多优秀的开发人员。但他们中的许多人并不想成为充满激情的开发者。

要创建一个充满激情的开发人员团队,您必须从招聘流程和HIRE热情的开发人员开始,而不是试图“创建”他们。

答案 8 :(得分:4)

我认为最重要的是公司必须重视开发商可以为公司做些什么。如果公司是由那些只看到你的开发人员作为开支的吝啬鬼经营的,他们迫不及待想要摆脱,那么你就注定要失败。管理层需要将开发人员团队视为一项战略资产,使他们现在赚钱,并在未来为他们赚更多钱。

公司的良好沟通也至关重要。开发人员必须能够找出公司需要他们做什么。专制的自上而下的官僚机构和蘑菇管理可以破坏士气,使开发人员无法增加价值,无论他们对工作的热情程度如何。您的团队构建的软件将与公司的沟通一样好 - 我认为这就是Conway's Law的内容。

所以这是一个很大的挑战,在很多情况下是一个不可能的挑战,因为高级管理层会对优先事项和沟通以及影响他们的好运有自己的想法。但另一种选择是guerrilla development,,你正在与自己的公司进行无休止的斗争。

答案 9 :(得分:4)

对我而言,让我充满动力的是:<​​/ p>

  • 我发现有挑战性的问题/任务,我可以向
  • 学习
  • 以我认为合理的方式实施解决方案的计划。对于我来说,没有什么比强迫我不相信的技术的管理团队更能激励我了。
  • 其他人讨论可能的解决方案,无论他们是否在同一个团队。
  • 一位管理团队,非常感谢我所付出的努力。

答案 10 :(得分:4)

给他们带来有趣的问题。

给他们解决这些问题的方法。

尽量减少他们必须处理的垃圾量,这与解决这些问题没有直接关系。

奖励他们成功解决这些问题。不要低估那些签下你薪水的人背后真诚拍拍的价值。

让他们在更大的企业中获得股份 - 超出下一次薪水。

当他们提出他们认为值得解决的新问题时,请听。

答案 11 :(得分:4)

准确地说,问题是“我有一个开发团队,我想让那些特定的开发人员对软件开发充满热情”,或者只是“我想要一个热心的软件开发团队”?在后一种情况下,根本不雇用不热情的人。

在前一种情况下,你几乎搞砸了。很难改变某人的个性,以至于他们开始关心他们之前并没有真正感兴趣的事情。当然可以做到,但让我们面对现实吧。这里有多少人无法说服他们更好的一半编程很有意思?就此而言,有多少人未能接受女友对购物或鞋子的热情? ;)

说服人们分享你对某事的兴趣和热情是一项艰苦的工作。

除非你愿意为了进入每个开发人员的头脑而留出几年的生命,了解他们以及是什么让他们打勾,然后逐渐推动并刺激他们对某些东西感兴趣他们之前只是考虑过一份工作,你可能最好还是让他们去雇用那些有动力开始的人。

答案 12 :(得分:3)

金钱,金钱,金钱......并且如果项目是令人兴奋或无聊的例行公事,并不要说金钱无关紧要。

答案 13 :(得分:3)

你没有。

你或者让团队中的人学习,并且总是希望自己变得更好,或者你的团队中没有这些人。当然现实是,你有一个混合包。

只雇用热情的人(很容易说出来),不要雇用那些将编程/开发软件视为“正义”工作的人。

IMO不可能将完整的非爱好者变成热情的程序员。没有银弹。

答案 14 :(得分:3)

Hookers and blow?

答案 15 :(得分:3)

以Weinbergesqe的方式:

你问过错误的问题。正确的问题是“管理者做了哪些让开发人员感到不满并减少道德的事情?”然后不要容忍你环境中的那些东西。

哦顺便说一句,你应该已经知道了这个问题的答案。如果你找不到另一份工作。

答案 16 :(得分:2)

阅读吉姆麦卡锡的“Dynamics of Software Development”。说真的,几乎整本书都涉及这个问题和相关问题。

答案 17 :(得分:2)

  

如果你有一个满是有能力的开发人员的房间,可以做些什么来鼓励那些开发人员对软件和软件开发感到兴奋和热情

正确的问题实际上是“可以做些什么来鼓励那些开发人员对我们公司的中的软件和软件开发感到兴奋和热情。”

实际上很简单。答案从来都不是秘密。只是没有人听它。

非常简单的元素:

  • 让那些热心的开发者与其他热情的人一起工作。删除那些不关心团队的人。否则,他们会像患病细胞一样,向其他团队成员传播冷漠和沮丧。

  • 致力于开发优质专业的产品

  • 建立专业有效的流程

  • 信任并尊重他人。珍惜他们的知识。尊重他们的意见。实际上,这是一个更大战略的一部分:让你的开发人员能够发挥作用,让他们看到他们能够真正影响和改变事物。

  • 让他们专业发展,让他们看到这种增长得到你的赞赏和需要

现在什么都没有用。

  • 付出不好的代价。开发人员也是人类(大多数情况下),他们也需要支付账单。

  • 拒绝他们的倡议,提案和改进建议。告诉他们每次他们想出一些他们试图引入变革的东西,使他们成为公司中的外国和不受欢迎的元素。

  • 拥有低质量的产品,并没有兴趣让它变得更好。黑客,复制/粘贴代码,累积技术债务,每次发布后分崩离析,这不会激励开发人员。

  • 严重运行开发和混乱过程。每隔几天拍摄一个新载体的任务,项目和小决策将最终消除任何人参与的愿望。由于不可预测的工作量和功能设置而导致计划失败,因此它们都会继续发展。一天喝完咖啡就足以让他们中的一些人开始搬到其他地方。

  • 有一个无聊和无趣的社交环境。没有人与之交谈以分享他们的兴趣的开发人员最终会感到乏味。并非所有人都对税收,足球和幼儿园问题感兴趣,因为这是社交聚会的唯一主题。

答案 18 :(得分:2)

如果他们对软件开发从根本上不热心,那么你无能为力。

如果他们热情,这很好,你需要避免压制它。在这些答案的其他地方有一些很好的建议。

如果他们过去很热情,并且已经遭受了殴打,那么通过给予他们合理的挑战,保护他们免受糟糕的管理,并且通常将他们视为有价值和受人尊敬的人,你可能会获得良好的结果。 / p>

答案 19 :(得分:2)

虽然我同意创建对编程的热情并不容易(甚至可能),但我认为有可能让热情的开发人员对他们的工作充满热情。如果处于停滞不前的工作环境中,即使是最有激情的程序员开发人员也会失望。

那么可以做些什么呢?

  • 为个人发展提供充足的机会,为学习新事物提供充足的自由。让开发人员可以选择他们所参加的课程以及他们希望参加的会议。
  • 玩具 - 不是传统意义上的,但能够使用最新技术
  • 提供一个好地方工作。它不一定是谷歌,但它必须是你想要花时间的地方。
  • 当然钱有帮助。不是因为公司可以为热情的员工付钱,但人们需要为他们的努力获得适当的回报。

我发现在一个拥抱敏捷开发的组织中工作有很多建立热情团队的正确素质。

答案 20 :(得分:2)

如何让他们在软件项目的结果中获得经济利益?例如,企业利润分享。

话虽如此,热情的开发人员是那种在业余时间回家并编写软件的人。

答案 21 :(得分:2)

与善于鼓舞人心的演讲者一起参加软件开发会议可以带来巨大的变化。

答案 22 :(得分:1)

我倾向于像其他人一样说没有,我必须同意,对它的真正热情不是你可以创造的东西,它既存在也不存在但是你可以做。

Joel's test得分高是一个很好的开始,

答案 23 :(得分:1)

一个了解计算机并且能够在技术对话中保持自己的管理团队是一个非常有用的功能。不要试图通过炒作,趋势和流行语来销售热情的开发者。

答案 24 :(得分:1)

解雇所有PHB并聘请智能管理人员,以最大限度地提高软件实际完成和正常工作的机会。

答案 25 :(得分:1)

明确且稳定的目标准确地传达目标给团队或人员。然后只需开始让开发人员完成这项工作。

不要远离开发人员,你需要解决这些问题,比如免费食品,购买花哨的办公设备以及开发人员不关心的其他微不足道的事情,这些事情对提高生产力和为开发团队增加额外津贴。

答案 26 :(得分:1)

Dan Pink注意到如果工作中需要创造力,则会激发人们的3件事。 RSA Animate - Drive: The surprising truth about what motivates us是关于这些的10分钟视频,但以下是3件事:

自主权 - 让团队控制时间表并授权他们拥有自己的工作。

掌握 - 他们如何发展他们制作优秀软件的工艺。

目的 - 他们为什么要制作这个软件?它会带来什么样的巨大好处?

关于这个问题的一些其他消息来源: