团队中高级开发人员和初级开发人员的理想组合是什么?


19

在任何团队中,您都将需要更多灰白色的开发人员和一些幼崽。一些原因包括:

  • 钱。通常,有些任务不需要相同水平的经验即可交付,因此不要为完成这些任务付出高昂的代价。
  • 能源。新人们可以带给团队充满活力和热情,以阻止其变得过时和过时。更高级的人可以带来平静和智慧。
  • 知识转移和职业发展。无论是在项目还是在技能上,教人和学习新知识都是有用的,而且常常很有趣。帮助“培养”新的团队成员感到很满意。

我意识到有一些最前沿的项目,对于其中的高级人员要比初级人员要多,这可能很重要,但是总的来说,团队中是否有理想的经验组合,还是完全取决于项目?

Answers:


14

我真的很喜欢Eric Brechner在这个问题上要说的话

将您的团队视为河流而不是湖泊。湖停滞不前。没有改变的动力或动力。停滞的群体也是如此。他们培养平庸和自满;他们讨厌冒险。河流总是在奔腾而变化,充满着巨大的能量。你想要一条河。

河流取决于水的流动,​​而您的团队则取决于人员和信息的流动。您可以将人们分为三类:新成员,新领导人和准备迎接新挑战的长者。这些小组应该如何保持平衡和流动:

  • 最大的人群应该是新人。并非所有人都会成为技术或组织领导者。

  • 有时您的新领导者要比长者更多,有时则要相反,但理想情况下您应该保持平衡。

  • 对于流程,您希望源源不断的新血液成为您的新领导者,而新领导者成为长者。

  • 流动的关键是有新的血液流入而长者迁出。为此,您希望您的长者在他们阻塞潮流并破坏他人机会流向之前转移。

并非所有技术都以相同的速度流动。诸如Windows内核之类的中央引擎流量缓慢,而诸如MSN Search之类的基于Web的服务流量却很快。您需要根据情况进行调整,但是即使是最保守的技术也会发生变化和发展。您如何成功地鼓励和维持健康的人流?

  • 不断供应新人。

  • 灌输信息共享作为一种生活方式。

  • 塑造组织和角色以创造增长机会。

  • 为您的长者找到新的挑战。


当我们有正确的搭配时,编程变得很有趣!
pramodc84'9

5
我希望“为您的长者找到新的挑战”不是裁员他们的委婉说法!
Paddyslacker

我唯一认为这是对的错误是,它假定长者始终是领导者。我遇到了不想领导或不那么擅长的老年人。
詹森·贝克

1
@Conrad-这是错误的问题。问题是“您是否需要对整个组织毫无用处的高级人员?” 答案当然不是。一个人不一定要对整个组织有用。
詹森·贝克

1
@Jason也许我们对领导者的身份有不同意见。在我看来,领导者的职责要远胜于开发者。例如,担当设计/分析角色,项目经理角色,指导角色等。我认为有人希望每年获得加薪,但仍然保持低调,这会随着时间的流逝而降低他们带来的价值。
康拉德·弗里克斯

7

我认为没有理想的组合-完全取决于项目和环境。几个例子:

所有经验丰富

让所有经验丰富的团队成员在关键项目上进行紧迫的期限可能比较合适,因为在该项目中,初级开发人员没有足够的空间来跟上进度。

所有初级

在另一个示例中,让所有初级开发人员都参与一个面向R&D的项目可能是合适的。在我工作的一家公司中,有一个团队完全由实习生组成,向他们分配了需要创新(但不一定快速或正确)解决方案的项目。他们是真正的客户问题,但是他们没有任何已知的好的解决方案,因此他们招到的实习生是新手,很少有先入为主的观念。

这里的要点并不是说这两种方法通常都是正确的-更重要的是,项目将根据业务需求,组织因素和开发人员的可用性在它们之间运行整个范围。


3
我认为在几乎所有项目上至少有一位高级开发人员会很有用,即使他们没有全职工作
Casebash 2010年

2
以我的经验,“创新”通常是指大量初级人员燃烧午夜的石油,写出他们自己的,更糟糕​​的,已经存在于工具集中的版本。也许我只是停滞不前。
NeedHack 2012年

2

我认为理想是完全不区分“高级”和“高级”。人们应该被视为个人,而不是抽屉里的物品。同样,每个项目都应视为一个需要解决个人技能,才能或个性的问题。将此类分类为“初级”和“高级”仅是为了将现实变成现实的越来越近似,从而使在每种情况下做出的决定在任何意义上都是“理想”的可能性越来越小。


2
我认为这是一个有用的区分,只要您认识到某些人可能正处于初中/高级鸿沟的边缘
Casebash
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.