作者丨刘汪洋
审校丨重楼
一、序言
每个程序员都是一个艺术家,他们的画布是屏幕,颜料是代码。然而,当你晋升到团队主管时,你会发现自己不再是画布前的艺术家,而是开始在背后引导一支技术乐团的指挥家。你发现自己的工作重心不再是写代码,而是花费更多时间去协调团队、分配任务上。
然而,当你刚开始管理团队时,如果你不能将很多不再适宜你去做的任务委派给下属,自己将疲惫不堪。然而当你将部分工作任务委派给团队其他同事后,你可能会发现他们并不能像你那样游刃有余得处理工作中的各种棘手问题。他们可能无法准确评估项目所需要花费的时间;他们可能无法准确预判任务的复杂性;当他们把完成的任务完成汇报结果给你的时候,你很可能会感到不满意。
如果你能灵活掌握授权委派的艺术,这些情况都可以避免。接下来,我将介绍授权委派的重要性以及如何有效地将任务分派给团队成员。
二、授权委派的重要性
作为团队主管,你的KPI已经与你作为程序员时大不相同。你现在的关注点从完成代码转向了如何将任务合理地分配给团队成员,以及如何提供帮助,使他们能够在完成任务的同时,也能帮助你完成你的KPI。
你的工作重心将包括以下几点:
1、项目管理你需要确定项目的优先级,并保证任务能按预定时间完成。这涉及团队内部,甚至涉及到与其他团队或部门的协调,如产品管理、销售和客户服务部门等。
2、团队管理作为团队的领导,你需要关注团队成员的表现,给予反馈和指导,促进他们的职业发展。这可能包括定期进行一对一的交谈,为员工设定目标,以及提供持续的反馈。
3、技术决策你可能需要参与到技术决策中,如选择使用哪种技术栈,或者设计系统架构。这可能需要你保持对新技术的关注,并能评估其对项目的影响。
4、代码审查尽管你可能不会直接编写大部分代码,但你可能需要进行或协调代码审查,以确保代码的质量和可维护性。
5、危机管理当出现重大问题或故障时,你可能需要进行决策,例如确定修复策略,以及决定何时应该调整项目优先级以解决这些问题。
6、人员招聘为了保持团队的发展,你可能需要参与到招聘流程中,包括筛选简历、进行面试以及决定聘用哪些候选人。
7、培训和指导作为一名经验丰富的程序员,你可能需要向团队成员提供技术指导,例如通过内部讲座或一对一的指导。
聪明的领导者应该学会恰当的授权,这样可以提高团队的工作效率,同时也能减轻自身的工作压力。未掌握授权艺术的领导,可能很多事情都会亲力亲为,而不是依赖他的团队。
结果,他会在处理这些细节上耗费大量时间,无法有效分配和管理资源,导致自身过度劳累,同时团队的效率和成果大打折扣。一个大型项目中,领导者没有明确项目的优先级,结果导致团队在处理次要任务上浪费了大量的时间,而关键任务的完成进度却大大延迟。同时,没有预见到可能的风险,比如可能的技术难题、人力资源不足等,导致项目进度受阻。领导者可能把所有的人力都集中在一个项目上,而忽略了其他同样重要的项目,导致这些项目被延迟,甚至导致客户的损失。
三、如何进行授权委派
当你能够意识到授权的重要性,就需要了解哪些任务适合委派给他人,委派过程自己需要关注哪些事项,以及还需要给被授权的同事足够的信任和自由,让他们更愉快的做事。
1.明确授权的内容
首先,你需要审视你当前的任务列表,思考哪些任务必须由你亲自处理,哪些任务可以委派给团队其他成员。你需要找到一个平衡点,既能确保自己有足够的时间处理重要的任务,又能让团队成员有机会学习和成长。
下面是一些常见可以授权给下属的一些内容:
- 项目的开发:当你把大量的开发任务分配给其他团队成员,你就可以将主要精力投入到关键任务上。
- 代码审查:将代码审查任务分配给团队成员可以帮助提高他们的代码质量,同时也有助于他们学习和理解新的编程技术和策略。这也能减轻你的负担,让你有更多的时间来处理更重要的任务。
- 问题的排查:问题排查是一项需要团队协作的任务。通过将其分派给团队成员,你可以使他们更好地理解系统的运行情况,同时提高他们解决问题的能力。
- 新技术的研究和验证:授权团队成员进行新技术的研究和验证,不仅可以增加团队的技术深度,也可以提高团队对新技术的接受程度,有利于团队的技术创新。
- 基础文档的编写:将文档编写工作分配给团队成员可以提高他们的沟通技巧和理解力,同时也能让你有更多的时间来处理其他的关键任务。
- 团队活动的组织:通过将活动组织任务分配给团队成员,你可以培养他们的领导力,同时也能增进团队的凝聚力。
2.把握授权委派的流程
确定了委派的内容后,你需要有效地分配任务。请记住,你和你的团队成员是合作伙伴,你并不应该是只负责催进度的冷冰冰的工具人。
- 设定明确的目标:给团队成员分配任务时,需要设定明确的目标,这目标不仅包括项目的主要时间节点(如技术方案评审时间、开发完成时间、测试完成时间、产品验收时间、发布上线时间等),还包括最终要达成的效果(如要达成多少收益,要新增多少用户等)。
- 提供必要的信息:你需要给团队成员提供必要的背景信息,但应避免过度解释和过多不必要的细节。比如,如果你需要团队成员去为某项业务接入 AI 的能力,可以介绍已经有相关经验的同事或其他相关团队的成员让他去咨询。
- 提供必要的帮助:你需要给团队成员提供完成任务所需的必要资源。比如做模型训练可能需要你出面去争取 GPU 资源,需要你去和算法团队的领导打招呼等;比如做一个紧急倒排项目,你需要考虑安排更多地开发或测试资源投入进去,避免让被授权的同事 996,甚至 9106 也完成不了任务,造成该同事身心俱疲,也无法避免项目延期,导致项目质量下降。当团队成员遇到困难时,你可以亲自给予指导或委派团队中资深的成员给予其必要的帮助。
- 适度的进度管理:你需要对项目的一些关键节点进行检查,而不是每天开展各种晨会、午会,让团队成员写日报等,让他们疲惫不堪。你需要保证让自己能够识别项目风险的同时,不对团队成员造成太大困扰。
- 做到知人善用:你需要根据团队成员的技能特点和兴趣等为团队成员分配任务。有些同学对代码审查特别热衷,可以让他多分担一些重点项目的代码审查任务;有些同学对 AI 模型特别热衷,可以让他去探索如何将 AI 和业务结合起来,更好地解决业务问题;有些同学架构经验更丰富,可以让他多去把关一些重点项目的技术方案。有些同学擅长组织活动,那么可以让他去安排团建或 Outing。这样,既可以提高团队成员的积极性,又更容易将任务做好。
另外,你需要根据团队成员的职级进行任务分配。给初级程序员分配相对简单的任务,给高级程序员分配相对复杂的任务,给资深的程序员分配一些更有难度和团队其他成员的指导任务。
- 适度放权:你可以让一些稍微资深的团队成员去管理资历更浅的开发人员来降低你的工作压力。比如你是一个 P8 的团队主管,你可以让 P7 的资深软件工程师带一些高级软件工程师和外包同学去做一些重要项目,让 P7 同学对一些项目进行进度、质量把控,给高级和初级工程师必要的指导等。
- 提供正反馈:你需要在同事达成目标后给予一定的正向反馈,让他们意识到自己的努力得到认可,当团队成员遇到挫折时,也应该鼓励他们进行复盘从挫折中汲取经验。
3.给予信任和一定的自主权
信任和自主权是授权的核心和灵魂。
- 建立信任:所谓“疑人不用,用人不疑”。你分配任务前就应该做好评估,将适合的任务分配给对应的人,虽然你需要做好过程跟踪,但必须给被委派的同事充分的信任。让被委派的同事能够感受到足够的信任,他才能够更有动力将任务做得更好。
- 给予一定自主权:将任务授权给团队其他成员时,还应该给予他一定范围内的自由发挥的空间。如果你对团队成员的任务做过多的干预,会让团队成员感受到不信任,容易产生负面情绪,进而影响工作进展。
四、拥抱授权委派
掌握了有效的委派技巧,你将有更多时间去处理重要的事情,并让团队成员有机会投入到他们擅长和感兴趣的任务中,发挥每个成员的长处。在委派过程中,给予团队成员必要的帮助,足够的信任和一定的自由,并提供正向反馈,这样他们能更好地完成任务,同时也能感受到自身的成长和价值。
委派这项技能和其他技能一样,需要不断练习才能掌握,希望本文对你有帮助,希望你能在实践过程中举一反三、灵活运用。
团队主管在授权任务时还有哪些文中没有提到的技巧?
——作者介绍——
刘汪洋,51CTO社区编辑,昵称:明明如月,一个拥有5年开发经验的某大厂高级Java工程师,拥有多个主流技术博客平台博客专家称号。