2017-11-17 02:28:49 +0000 2017-11-17 02:28:49 +0000
72
72

礼貌地告诉一个无能的软件项目志愿者,他们太没有经验了

我目前是一个在线志愿者运营的软件项目的项目负责人。这是我最初创建的,在空闲的时候,我就在这个项目上工作。也有一些其他的人对这个项目感兴趣,主动请缨来帮忙。我之前从未与其他开发者合作过。目前,还有一个开发者自愿帮忙编程这个项目。

之前,我是在网上认识的,因为他们对这个项目有兴趣,所以在网上认识的。他们并没有很多软件工程的经验,但对这个项目使用的编程语言确实有一定的了解。这时,我想找另一个程序员来帮助加快开发速度,于是告诉他们可以帮忙编写项目的代码。我希望尽管他们的经验不足,但在我的指导下,我还是能让他们加快开发速度。

我错了。

这是两个月前的事了,到现在我已经意识到,要把他们培养成一个完全胜任的开发人员,需要_长的时间。目前,他们的技能还不足以胜任现在的项目工作,几乎每一项任务都需要我的帮助才能完成。现在回想起来,这可能是我的错,因为我计算错了培训一个新开发者所需要的时间。我希望这听起来不会让人觉得不近人情,但从纯粹的业务角度来看,我花在指导他们的大量时间根本不值得我在项目本身上花费的时间。

我考虑过,指导他们是一种投资,最终他们会有能力更有效地贡献给项目。但就目前的情况来看,我做这个项目是为了好玩,在承担了很多责任之后,我真的没有精力每天晚上回家后再去指导别人。辅导会让我失去了项目的乐趣此外,我计划在未来3个月内放弃和/或完成这个项目,所以对我来说,在我即将放弃的事情上做一个投资是没有价值的。

总的来说,如果把他们从开发人员的工作中撤掉,或者把他们重新分配到另一个角色,对我和项目都是非常有利的。然而,这很尴尬,原因有三:

  1. 他们是这个项目的志愿者。事实上,他们表现出了帮忙的热情,我感觉他们很乐意做开发者。因为他们为了这个项目牺牲了自己的放松和空闲时间,这和开除一个带薪工人是不一样的。简单的 “开除 "他们是非常不尊重他们的,

  2. 他们已经做了两个月左右的开发商了。如果要我以经验不足为由拒绝他们,我(通常情况下)会马上就会这样做。之前我也说过,我没有想到他们的经验不足会对项目造成这么大的干扰。

  3. 早前我在网上就已经认识这个人了,他们是朋友,也一直是这个项目的热心支持者。我不想烧掉任何桥段,

4.提前谢谢你的建议。


注:我认为这一点并不适用于The Workplace,因为他们是志愿者,而我和这个开发者是相当不拘一格的–事实上,我已经提到过我和他们是朋友。

同样,我看了这个问题关于因技能而解雇某人的问题,但那是针对职业环境的。正如我在拙劣理由#1中提到的,他们是志愿者,为这个项目牺牲了宝贵的空闲时间,应该得到一些尊重。

答案 (6)

106
106
106
2017-11-17 07:19:54 +0000

你甚至不需要欺骗他们,只需对他们说,他们可以实际帮助的那部分项目已经完成了(既然已经完成了,那就完全是事实),如果有其他的事情需要他们帮助,你会再次联系他们。这样做的主要好处是:

  • 你不会烧毁任何桥梁。
  • 它可能会促使初级开发人员学习更多的技能,以获得与项目更相关的技能。在某些时候,没有特定技能的人可以做的事情就结束了。

使用这种策略,你完全避免了不得不 “解雇 "他们的问题。

或者,你可以把他们重新分配到需要完成但不需要开发人员来做的任务,或者是次要的任务(很好的)。通常情况下,这包括:

–编写文档 –代码审核 –广泛的Q/A测试

要注意的是,这些任务如果做得不好,不会给你带来任何损失,但当他们热情地完成这些任务时,确实会给你带来很大的帮助。

20
20
20
2017-11-17 10:15:52 +0000

我不确定你一定要把他们完全从项目中开除,你也可以把他们调到一个不妨碍其他人(包括你)的位置上。

首先,听起来你的主要问题是教练的问题–所以要缩减教练的规模。你可以这样说:

嘿,鲍勃,目前我的生活中发生了很多事情,我根本找不到时间来参加我们的培训课程[或者是你所说的任何事情],很抱歉。如果他们能够自己学习并完成任务:很好,那就给他们一些更有挑战性的任务,然后重复进行,直到你找到他们的能力水平。如果不是,等任务的优先级提高了,再来找他们(当他们很快就需要的时候)。如果你想外交地处理,你可以说:

嘿,鲍勃,我们需要文档/翻译/测试执行/foobar很快。你能帮我处理一下吗?

如果你能让自己相信文档和测试是很重要的任务,那就真的很有帮助了–因为它们是很重要的。很多开发者不想写文档,这就注定了很多小型开源软件项目的命运:他们的软件解决了一些问题,但大多数人都不知道如何使用,所以没有人使用它。

最后:你提到 “我以前从未与其他开发者合作过",我不太清楚你是如何组织项目中的工作的。组织软件开发是一项非常有价值的技能,所以你不妨利用这个机会学习和成长自己。学会将工作分解成任务和子任务,弄清楚相互之间的依赖关系,估计所需时间,确定哪些工作是重要的,哪些可以等一等,衡量谁能做什么。学习如何与你的同事们进行最佳的沟通,以及当事情没有按照你的预期进行时,如何重新规划。使用协作工具(问题跟踪器、版本系统等)。

也许目前商业世界中流行的方法论(Scrum、Kanban等)会给你一些有用的指导。

7
7
7
2017-11-17 16:37:39 +0000

首先,我同意感谢志愿者到现在为止的时间/精力,说你需要他的主要发展的部分已经完成了,

我建议,为了你们两个人的利益,你们再投入一次辅导课。话题。**告诉他坏自己怎么写单元测试的*。然后告诉他,如果他想做更多的技术帮助(相对于其他种类),就应该开始扩大DeepL的稳定性。好处:

–你得到了单元测试!

–志愿者被介绍到了单元测试的重要性质!

–如果志愿者慢了或者卡住了,不影响主线开发

然后,按照其他答案,你可以求下更多的培训,因为你的时间安排上已经失去了任何的松懈。

3
3
3
2017-11-17 06:29:58 +0000

由于他们是志愿者,我认为没有必要 “解雇 "他们,因为这样的措辞会显得很不礼貌。相反,说你需要他们做的志愿者工作已经完成了,可能更合适。另外,一定要感谢他们已经完成的工作,对他们的成功和个人成长表示感谢,但不要给他们任何新的任务。

这对志愿者来说尤其有效,因为他们从来没有被雇佣过,只是在需要他们的地方提供帮助,如果你能用一种方式来表达,说明他们成功地完成了任务,那么不再接受任何任务,应该是积极的而不是消极的。你已经做了我需要的一切,但如果你不介意的话,我可能会要求你将来再做一些工作?

问他们是否可以做一些他们****喜欢的事情是相当方便的,因为它可以让他们保持你提到的隐喻桥,让他们同意你,它提供给他们选择,让他们选择哪一个,你就完成了你的目标,停止他们在当前项目上的工作,这是很有礼貌的。

不幸的是,这不会在所有的情况下工作,我不知道你的项目的细节/他被分配了什么。

如果你必须在钝一点或撒谎之间做出选择,从长远来看,钝一点可能会有帮助(这并不是说你应该把重点放在坏的方面!)。

你已经帮了我们很多忙,也提高了很多,但我认为如果我和{其他人}完成剩下的任务会更好。

2
2
2
2017-11-18 02:31:41 +0000

我对这种情况的解读是………..可以说是有点愤世嫉俗。在外面,不断有人建议新开发者把自己的名字写在 pull 请求上,以此来提高他们在 GitHub 上的可信度。在其他网站上,不断有人建议新开发者加入一个开源项目,作为获得经验的一种方式。

虽然是的,初级开发者放弃了他们的空闲时间,但我并不这么认为。这是一个初级开发者以你的志愿者项目为代价获得免费的指导和简历建设。在我看来)在一个志愿者项目上的指导费用很少值得花时间,除非这个人对这个项目有承诺,并且对这个项目有真正的兴趣,而不是GitHub的信誉。你将继续指导每一个提交,并确保提交的材料符合你的项目标准。你的主要角色是指导者,确保你的项目和初级开发人员对项目的投入都符合你的要求。你为你的项目工作而自愿付出的时间和他的时间一样有价值,甚至比他的时间更有价值。有可能有很多人在准备说 “它已经完成了",然后转到另一个项目上。通常情况下,这些工作都是繁琐而枯燥的,但他们仍然需要完成。例如:

  • 文档—让另一个人通读所有的文字,确保它有正确的拼写、标点、语法、格式等等。将所有的样式清理项作为每个文件的问题记录下来,作为需要清理的文件。 –测试编写–努力提高代码的覆盖率。

意识到并记住,如果有一个任务需要你自己花4h的时间去做,或者是你的3h的时间和初级开发人员的8h的时间,那么让初级开发人员去做这个任务是没有什么商业/时间意义的,除非你考虑到让初级开发人员获得经验的价值。你们都是志愿者。如果没有志愿者可以做的事情,那也没关系。

0
0
0
2017-11-19 03:55:09 +0000

告诉他们真相,但要坚持事实。

要直截了当,诚实地把事实摆在这里:

–事后诸葛亮现在看,你看到他们需要的帮助是非常耗费时间的。它已经开始阻碍了你自己在项目上的工作能力。 –你的项目正在逐渐收尾。你正在接近一个点,你将不再从事这个项目的工作。让他们知道原因。(例如:。 - 感谢他们为这个项目付出的所有努力,并告诉他们,你希望这段经历对他们的能力发展有帮助。 - 可能会帮助他们找到另一个项目,让他们继续做开发工作,也许这个项目更符合他们目前的技术水平。如果可行的话,你可以考虑有意识地采取一种更多的放手的方式,然后在他们的工作完成后(例如,作为一个拉动请求),对他们的工作进行审查。这取决于你是否可行。如果你能找到一个小的改变让他们实施,你可以考虑这样做。如果你试了一下,结果不顺利,你可以具体地告诉他们,他们的工作有什么问题,你可能需要回到这个讨论没有时间和项目清盘的问题上。

事情****不要说:

–你要开除他们。

–你因为他们而不喜欢这个项目了。

–他们无能或者其他关于他们的先天能力的事情。不是因为你不诚实,而是因为你知道自己的感受和想法并不完全客观。我们的判断有时会被我们未满足的欲望所蒙蔽,所以有时我们对那些我们知道并不真实有效的想法和感受闭口不谈。

是的,有一些内在的风险,你可能会伤害到他们的感情。这里的任何方法都是有风险的。什么都不做的风险是你会变得沮丧,并以非建设性的方式释放出来,而撒谎或伪造事实的风险是对方发现了真实的情况。诚实的美德是相信对方会自己评估情况,并和你一样来看待事情。对方能看出你并没有不公平,也能看出你在努力客观地接近情况。如果对方不理解你的观点,可以和他谈一谈,解释一下;如果你不直截了当,那是不可能的。

如果你感觉到对方开始怀疑你们的友谊是否会继续下去,那就明确表示你想继续下去。如何做到这一点超出了这个问题的范围,因为这取决于对方的具体反应。