成为高效编程经理的全面指南
1. 向下管理
1.1 职能编程部门
编程团队可能会在多个职能领域实现专业化,如嵌入式/IoT 编程、系统编程、应用程序编程、数据库编程等。将志同道合的程序员分组在一起,能让他们相互帮助,在一定程度上实现自我管理。经验更丰富的程序员可以提供技术指导,但技术指导不包括招聘、解雇、薪资补偿和处理绩效问题等典型管理职能,而是确保程序以正确的方式开发,注重设计、实施实践、调试和测试。
职能编程部门汇集了解决棘手问题所需的人才,比大多数其他组织结构更易于管理和运营。例如,曾有公司设立了 UNIX 系统编程、客户端编程和数据库编程三个职能编程部门,这些部门的经理既是经验丰富的优秀程序员,也是出色的管理者,他们仍会参与编程工作,但时间占比很小。
职能编程部门会自然发展,“物以类聚”的原则在组织中普遍适用。即使在采用跨职能团队的组织中,这种职能组织倾向也会重新出现。许多公司倾向于扁平化组织,让多个程序员团队由“技术主管”领导并向编程经理或总监汇报,但这种方式会将重要管理责任推给技术主管,而他们往往不想管理,更专注于“技术问题”而非“人员问题”。随着这类扁平组织的成熟,会出现技术主管无法妥善处理、经理因团队数量过多而无暇顾及的人员问题。
1.2 跨职能团队
项目通常需要多个编程部门以及其他职能部门的参与。例如,为 Schwab.com 创建首个基于 Java 的在线投资者工具,不仅涉及 Java 客户端和服务器组的协作,还需要中间件、大型机、变更管理、发布管理、信息安全等多个部门的参与。开发多媒体产品也需要系统编程、应用程序编程、动画、艺术、声音设计等多个部门的团队成员。
这种跨职能
超级会员免费看
订阅专栏 解锁全文

2148

被折叠的 条评论
为什么被折叠?



