好的,带头做项目是您的工作。因此,当开发人员希望您不理会标准时,您必须是执行标准,代码审查,索要进度报告以及所有这些事情的人。这些只是管理的要求,除了代码审查并不能真正提高员工的技能。
但是,您想帮助他们成长,这对领导者来说是一个很大的属性。
代码审查当然是第一步,它们将帮助您了解谁的能力不及出色,甚至需要改进以达到令人满意的性能。他们将帮助开发人员找到其他方式来做事,并理解他们自己所从事的工作之外的代码库的不同部分。我认为,最好在开发人员和审阅者的会议室亲自进行代码审阅(在可能的情况下,审阅者应该是另一位开发人员,而不总是由负责人审阅,审阅他人的代码也是需要开发的技能),主持人。您应记录需要更改的内容以识别趋势。您真正要寻找的不是错误或更改(可以改进每个人的代码),而是始终无法从错误中学习。不要告诉高层管理人员您保留这些说明,否则您会发现自己被迫在绩效评估过程中将其用作衡量标准,这坦率地破坏了目标。如果几个开发人员都犯了相同的错误,则可能需要进行有关如何执行X的培训课程或Wiki条目。
现在到越来越多的副手到最低限度。首先,您需要了解开发人员具备的技能,开发人员具备的技能以及对获得知识可能感兴趣的知识。您需要与他们交谈并审阅他们的简历,并了解他们的喜好和不喜欢做。
不要将所有有趣的任务只交给最熟练的人。这无助于其他人赶上新问题和新技术。除非有人抓住机会并为您分配更艰巨的工作,否则您不能从成为最初级的人到只承担最小,最不重要的任务的高级人。就是说,经验不足的人可能需要首先分配与高级人配对的程序,以获取更多的高级技能。将初级人员包括在代码审查中也将使他们接触更高级的技术。
首先给他们一个机会自己解决问题。但是有时人们会卡住并且不知道从哪里开始(特别是在新程序员中,您也需要开发该技能)或解决问题的方法。
如果您给他们几天时间来研究某些东西,但他们仍然没有方向如何做某事,那么您可能需要干预一些建议。如果您自己是技术人员,则可以给他们一些解决问题的想法。如果不是这样,与几个人开会,集思广益,可以帮助他们解决问题。或请经验丰富的人提供一些建议。您不想做的就是从他们那里拿走问题,自己解决。但是您必须权衡利用程序员的自我完成项目的能力,有时您需要按特定的方向发送它们。如果他的解决方案不好,并且需要解决,那么最糟糕的事情就是将其交给其他人,除非您打算解雇程序员。
我曾见过糟糕的程序员co之以鼻,在那里其他人必须修复他们所做的几乎所有事情。其他程序员对此表示不满,只是希望这个人脱离生活。缠结一个糟糕的程序员会导致优秀的程序员离开。您必须找到应付能力和发展能力之间的界线。如果您给某人几次机会,而他或她永远都不会好起来,那就放松他或她。
对于已经掌握了当前技能的老年人来说,事情变得容易了。通常,您只需要给他们机会做一些新的事情,他们就会学习。只要确保将有趣的机会散布开来,不要将所有的精力都交给可以解决任何问题的奇妙程序员乔。您想得到十个乔,而不仅仅是一个。
培养技能的另一种方法是每周进行一次1小时的培训。让每个开发者负责特定主题。这将帮助他们更好地进行交流,使他们能够深入研究某些事物,并使每个人都受益于他们的研究。应该将某些主题分配给与该主题不熟悉的人,以迫使他们在该主题上增加一些知识,而某些主题应该分配给您认识的与该主题相关的当地专家。主题应该是您在不久的将来或现在就需要人们擅长的事物的组合,以及一些您暂时不使用但希望人们使用的新的即将出现的新技术的覆盖范围。但必须为每个人,包括最初级的人,分配一个主题。
根据开发人员的时间计费方式(在客户计费情况下这比较困难),通常值得开发人员每周有4-8个小时来处理个人项目。他们将为此感到兴奋。最好的人会想在那里工作,他们会学到很多对将来有用的东西。bean计数器很难理解它的需求,但是这次将获得员工满意度,无人需要的新功能或软件(或将帮助完成某些繁琐工作的软件)和由于以下原因而更快开发的许多回报:学习新技术。一些开发人员将严格把这段时间用于与您的工作无关的个人项目(这很好,他们仍然会获得技能并为机会感到高兴),但是许多其他人将使用它来解决持久性问题,由于项目管理方式的本质,ndbody有时间事先进行修复。因此,您可以获得使所有人受益的重构。有些人可能编写测试以提高测试覆盖率,从而使重构更容易;其他一些人可能会探索一些新功能,这些新功能可能会使您的软件对其客户更有用。通常,如果您可以说服Bean计数器,则没有办法让它们具有这种自由度。
您必须学习如何平衡,以使人们的技能有所延伸,并使项目保持进度。开发人员经验越少,需要更多的人来检查进度,尤其是在更容易改变方向的早期。没有经验的人可能会挣扎,害怕大声疾呼。这些人倾向于在发布前离开,您会发现他们的项目部分离完成尚远。要特别注意检查经常更换工作的任何人的进度(除非他们是承包商,因为这是合同的性质)。
通常,经验丰富的人可以信任地告诉您他们何时无法找到解决方案,并且需要该领域有更多知识的人提供一些帮助,否则他们将寻找该人并获取知识。因此,在为项目学习新技能的初始阶段,无需对它们进行密切监控。他们将找到交付项目的方法。那些拥有交付跟踪记录的人通常只能被留下,只有很少的进度报告(您通常也必须向管理层报告,因此需要一些信息)。