豆瓣工程副总:谈谈技术团队的管理

2023-11-08 12:20

本文主要是介绍豆瓣工程副总:谈谈技术团队的管理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

豆瓣网工程副总裁段念,他有10多年的软件从业经验,从事过通讯、嵌入式系统、互联网等多个行业的工作。

临近年底,接到《程序员》杂志的邀请,希望我能写一篇与团队管理有关的年终盘点文章,盘点2013年业界与团队管理相关的大事2013年可以归纳为团队管理大事的事件倒是不少,例如Yahoo!美女CEO宣布取消在家办公制度,最近又按照绩效评估结果排名开始裁员;最近知乎上好事者提出的“你问什么离开xx公司”系列,各种回答纷至沓来,为2013的团队管理大事记提供了不少素材可惜,不在局中之人,就算怀着最善意的心思去揣摩,也难以一窥其中究竟,所以对作者来说豪气万分地指点江山,倒极有可能落得个牛头不对马嘴的下场思忖至此,不觉赧然。正欲一口回绝之际,忽又想起,虽然没法过一把“粪土今年万户侯”的瘾,在这蛇尾巴的当口,和大家分享一下2013年在国内团队管理方面的各种新名词,也是件颇有意思的事情当然,本人身处互联网行业,做的主要是技术团队管理的事情,眼界所限,也只能以我的个人体验作为整篇文章的基础了

 2013你方唱罢我登台的名词们

 说起团队管理,我想但凡超过一个人的团队,都会面临这个问题。团队规模小,个体能力强,依靠个人能力就能维持住团队;而如果团队规模较大,一般就需要投入更多的精力来建立良好的团队协作体系,依靠文化和制度建立团队的执行力从微软到Google再到Facebook,概莫能外。当然,规模与团队管理的方式并不能简单地划等号,巨大如Google这样的公司,仍然在良好的工程师文化的基础之上,保持了相对宽松和灵活的团队管理体系

  团队管理并非是什么神秘和高端的事情,采用什么样的团队管理方式,既与组织的目标和文化根基相关(说白了就是公司的创始人和早期员工),也和当下的环境(包括行业环境与公司内部环境)相关随着一波一波的组织兴起,一阵一阵的环境变化,团队管理领域的新名词也如长江后浪推前浪般层出不穷。在2013年的舞台上,全端工程师、自组织团队新兵训练营等名词闪闪发光。

 有句老话说:“太阳底下没有新鲜事。”这话放在团队管理领域显然极为适合。纵观技术团队的氛围,从软件领域史前时代单兵作战的黑客群体,到重量级软件工程束缚下的“开发资源”,再到轻量级软件工程对个体能力的重视,团队管理的方式明显在“注重个体”与“注重流程”之间走了一个轮回显然,采用什么样的团队管理方式无非是“现阶段能够最大化收益的做法”与“团队成员期望”之间的博弈结果。幸好,这种博弈不必是零和博弈,而可以是一种协作博弈。敏捷方法把软件开发看作团队的“合作博弈”,尝试在软件开发效率客户满意度和工程师的满意度之间找到新的平衡。过去若干年敏捷思潮在软件领域迅速地攻城掠地,一方面固然是由于这种方式能够提升效率,满足了客户和公司业务发展的需要;另一方面也是因为敏捷方法较好地平衡了团队与开发个体的需要

 不管怎么说,软件行业发展到了现在,软件从最初的个体手工制作进入需要某种规模的协作时代,软件从业人员快速增长,软件开发工具正在逐渐降低开发的门槛,各种软件开发方法与实践层出不穷,这些都使得软件行业中的团队管理方式愈发丰富在当下,恐怕我们已很难用某种特定的模式或者架构来描述软件领域的技术团队管理趋势,反而活跃在2013年技术团队管理舞台上的新名词,或许能够给我们打开一扇窗,让我们能够透过这些名词窥视到技术团队管理领域的大潮

  2013年终名词盘点

 全端工程师(Full Stack Engineer)

 2013年最让人印象深刻的技术团队管理方面的名词,非“全端工程师”莫属。“全端工程师”是指那些具有多端开发能力的工程师(例如前端后端、移动开发端,甚至还有运维端),这类工程师可以一个人搞定一个项目,或者至少可以一个人搞定一个功能所有的设计和开发工作从“前端工程师”(听说有些企业甚至还有“JavaScript工程师”和“HTML工程师”的分工)、“后端工程师”等日渐细化的职位描述变成高端大气的“全端工程师”,其中的变化可不是简单的名词替换

  和真实的社会一样,程序员的世界也处于不断的进化中。社会分工往往是社会进步的标志,因此,当程序员分裂成架构师设计师、开发工程师时,我们并不觉得惊讶;当开发工程师细化成后端工程师、前端工程师之后,我们同样可以把它看作是程序员社会的进步与发展。可“全端工程师”是怎么回事?难道社会分工的发展在程序员的世界中不再适用了?而且“全端工程师”的称号特别让人容易回想起软件领域的史前时代,那时候的黑客们可是真正的全端工程师(当然,我猜他们不一定喜欢工程师这个一点都不酷的称号),软件硬件编程电路无所不能。

在当下的软件环境中,“全端工程师”这个概念到底意味着什么呢?在我看来,“全端工程师”的概念与生产工具的发展以及开发需要更加“快速”直接相关开发语言与开发工具的发展,加上技术开发平台的标准化程度越来越高,可直接使用的框架和组件越来越完善,和几年前相比,如今的工程师可以更容易地掌握多端开发技能另一方面,越来越受重视的“快速”开发和部署则在进一步寻找开发过程中可优化的部分显然,如果一个工程师能够从前端到后端完成一个功能或者产品,那么开发人员之间、开发人员与相关协作者之间的沟通成本无疑会变得更小,开发的响应速度也会变得更快一个拥有足够多“全端工程师”的组织,显然可以以更快的速度和更低的成本开发产品;而一个拥有全端开发能力的“全端工程师”显然也具有更好的适应性和改变世界的能力《与机器赛跑》这本书把经济周期归结为生产力的提升,认为生产力的提升是造成就业结构变化的主要原因,那些跟不上生产力变化的个体将会被社会无情地淘汰虽然我并不同意这本书关于经济周期原因的判断,但关于未来,我想说:“一招鲜,吃遍天”早已行不通了。未来的工程师不再需要用前端或者后端的名称定义自己,变革只会把保守的人甩下车技术的作用在于满足用户已经表现出来或还未表现出来的需求。对工程师来说,发挥价值的地方仍在于与产品的强联系积极发挥技术的力量,影响产品,影响设计,探索各种可能性,用技术帮助自己所在的组织改变世界才是迈向未来之道

 自组织团队(Self-organizing Team)

“自组织团队”这个词2013年也大有市场。这个名词本身并不新鲜,但今年,我多次在各种场合听到演讲者提到这个名词,要么是介绍自身自组织团队的经验,要么是信誓旦旦要成为自组织团队那么,这个自组织团队,究竟是什么名堂?

其实,自组织应该可以被看作是宇宙的常态:原子自组织成了分子,细胞自组织成了生命如果将企业比作生命体,从生命的发展过程来看,我们现在所习惯的这种完全自上而下的控制方式才是怪异且不自然的当然,社会组织(公司)不是生命体,但越来越多的研究表明,组织更接近类似生命体的复杂系统,而不是对特定输入具有可预测输出的简单决定性系统

对一个团队而言,自组织意味着什么?在一个组织中,任何一个参与者都不具有完整的信息,也无法完全理解整个系统因此,参与者必须集思广益。但如果参与者不能够成为真正的决策者,他们即使能够将所有信息集中起来并得到合理的解决方案,也无法采取任何行动另外,从心理的角度考虑,如果没有合理的激发机制让参与者有意愿集中自己的信息并解决问题的话,那么组织也无法快速响应遇到的问题一个自组织的团队需要良好的沟通和决策机制,以及良好的激发和激励机制

  当然,凡事不可极端。设想企业是一个完全由个体自发组织起来的团队,它能够正常工作吗?我想很难。毕竟,组织的目标与个人的目标不大可能完全一致。从这个意义上说,组织中必须存在一定程度的控制,这样才有可能让整个组织朝着组织的目标顺利前进。然而,过度的控制往往又是扼杀创新的主要原因,卢茨在《绩效致死》这本书中,用生动的案例描述了通用汽车这家曾经是美国骄傲的公司是如何在超强的控制下变得死气沉沉,一片萧条那么,我们要决定的,就是在自组织和控制之间选择怎样的平衡。而作为一个管理者,借用《管理3.0》一书的描述,管理者就像花园中的园丁:偶尔照料成熟期的系统,让它们自己解决自己的问题;频繁维护年轻的系统,让它们按照组织的意愿生长;对趋于死亡的系统,发现它们并把它们清除出去

 新兵训练营(Basecamp)

 2013年,新兵训练营“突如一夜春风来”,瞬间在不少公司站稳了脚。各公司开始建立自己的新兵训练营,训练营的名字也各有千秋,从忠厚朴实的“新兵训练营”到高端大气的“特种兵训练营”,不一而足其实,这些软件公司早就意识到了生力军的重要性,而且也早已有各种形式的新员工培训帮助新员工快速融入自己的组织虽然新员工培训这颗羊头下,各企业卖的狗肉各不相同——有的企业把新兵训练营做成了技术培训营,有的企业则把新兵训练营变成了“洗脑营”但毫无疑问,这些组织并非不明白新员工的重要性,也并非没有帮助新员工熟悉工作环境的机制,为什么2013年的舞台上,新兵训练营会受到格外的重视呢?

 新兵训练营这个名字早已有之,在国内软件行业被广泛接受应该与Facebook的实践有关。扎克伯格2012年宣布IPO时对外发表的公开信中提到了Facebook的Bootcamp,并说“业内有许多人负责管理工程师团队,并不愿亲自动手编写代码;然而,我们寻找的实践型人才都希望也能够经受新兵训练营的检验”Facebook的新兵训练营以严格著称,它不仅是一个培养和训练人的地方,同时也是生产真正符合组织文化的员工的工厂毫无疑问,Facebook的新兵训练营有不少值得借鉴的地方,无论是它的组织方式,它的强制性,以及它的导师机制,都是值得称道的不过,在期望新兵训练营发挥文化方面的作用时,各位可得多留点心。

 我相信,每个管理者都希望自己的组织是一个有“文化”的组织,并且愿意花费相当多的精力在自己的组织中“打造”企业文化这样看来,Facebook的新兵训练营确实是个值得效仿的方式——文化,从新员工抓起可是,设立一个新兵训练营,设计一套课程,派培训师上去喊喊口号就能够让团队的新成员变成“符合组织文化”的个体?显然没有这么简单文化并不是虚无缥缈的口号,组织的工作方式、工具、流程、奖励机制等才是实打实的企业文化的体现一个为经理安排单独办公室,并根据级别设置办公室大小的公司,就算找来全世界最好的培训师,恐怕也没办法说服新员工相信“平等尊重”是公司的文化因此,想要效仿新兵训练营,首先得理解Facebook的新兵训练营只不过是它的文化体系中的一个组成部分,并非是文化的生产者与其花大代价去折腾新兵训练营,不如老老实实把自己团队内的文化根基建设好。说白了,新兵训练营值得借鉴的是它的理念和实践,而不是期望它成为组织内的洗脑机器

 写在最后的话

  2013年即将过去,软件行业又将翻过新一页。在这个唯一不变的就是变化的时代,我尝试从记忆中把今年耳闻最多的三个名词揪出来,算是管中窥豹,和各位读者分享对技术团队管理的理解

这篇关于豆瓣工程副总:谈谈技术团队的管理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/369800

相关文章

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

nvm如何切换与管理node版本

《nvm如何切换与管理node版本》:本文主要介绍nvm如何切换与管理node版本问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录nvm切换与管理node版本nvm安装nvm常用命令总结nvm切换与管理node版本nvm适用于多项目同时开发,然后项目适配no

Redis实现RBAC权限管理

《Redis实现RBAC权限管理》本文主要介绍了Redis实现RBAC权限管理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1. 什么是 RBAC?2. 为什么使用 Redis 实现 RBAC?3. 设计 RBAC 数据结构

mac安装nvm(node.js)多版本管理实践步骤

《mac安装nvm(node.js)多版本管理实践步骤》:本文主要介绍mac安装nvm(node.js)多版本管理的相关资料,NVM是一个用于管理多个Node.js版本的命令行工具,它允许开发者在... 目录NVM功能简介MAC安装实践一、下载nvm二、安装nvm三、安装node.js总结NVM功能简介N

SpringBoot中使用 ThreadLocal 进行多线程上下文管理及注意事项小结

《SpringBoot中使用ThreadLocal进行多线程上下文管理及注意事项小结》本文详细介绍了ThreadLocal的原理、使用场景和示例代码,并在SpringBoot中使用ThreadLo... 目录前言技术积累1.什么是 ThreadLocal2. ThreadLocal 的原理2.1 线程隔离2

Linux内存泄露的原因排查和解决方案(内存管理方法)

《Linux内存泄露的原因排查和解决方案(内存管理方法)》文章主要介绍了运维团队在Linux处理LB服务内存暴涨、内存报警问题的过程,从发现问题、排查原因到制定解决方案,并从中学习了Linux内存管理... 目录一、问题二、排查过程三、解决方案四、内存管理方法1)linux内存寻址2)Linux分页机制3)

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

SpringBoot使用minio进行文件管理的流程步骤

《SpringBoot使用minio进行文件管理的流程步骤》MinIO是一个高性能的对象存储系统,兼容AmazonS3API,该软件设计用于处理非结构化数据,如图片、视频、日志文件以及备份数据等,本文... 目录一、拉取minio镜像二、创建配置文件和上传文件的目录三、启动容器四、浏览器登录 minio五、