找回密码
 注册
关于网站域名变更的通知
查看: 396|回复: 1
打印 上一主题 下一主题

技术管理者带团队的几个实用技巧

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-8-10 14:34 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
前言
. _( \2 F+ F/ f7 ^) W, _$ Z7 P0 s& _% \9 L, L  b3 r7 H2 c
个人从程序员到技术 Leader 经历了不少的心路历程,我目前在带一支十几人的技术团队(控制团队人数主要是遵循亚马孙 CEO 贝索斯提出的两个披萨原则)我记得刚开始带团队的时候我是非常抗拒的,因为总觉得管理太多的“杂事”占用了我很多写代码的时间,包括目前虽然已经是一支十几人技术团队的 Leader,但是我平时也还是偏爱技术多一些,在业余时间都会抽空写写代码或者在 Leetcode 刷刷题,在从事管理工作这些时间里看过很多书,也踩过很多坑,总结了很多经验,想必也有很多程序员刚开始跌跌撞撞的走上技术 Leader 的岗位,所以想写一篇文章跟大家分享一下,希望可以帮助到需要的人,文章大纲如下:
4 t2 K4 m& U9 M5 T. x( X6 D" K' [% {# d8 u2 Z" _- `
  • 技术管理者需要哪些综合能力? 如何才能在团队拥有 Leadership ?
  • 从工程师到团队 Leader 有哪些转变 ?
  • 如何提升技术团队的工作效能 ?
  • 如何提升团队的凝聚力 ?
  • 沟通的技巧 ?
  • 管理者的自我认知和成长
    # t9 @( J, L7 ^* \
0 N+ J  r+ N$ ?  t' M8 G3 l
技术管理者需要哪些综合能力? 如何才能在团队拥有 Leadership ?9 F# S6 m) a3 u/ o5 v

7 }/ u5 ~: e& I" s% H既然说到管理技术团队,那么管理的对象自然就是程序员,那么程序员是一个什么样的群体?大多数程序员的特点是:“聪明且傲娇”  z3 o; N3 s% s0 H
2 N! P& R( _0 j# g0 Q+ W
比如这个网上流传的段子,如何正确的向程序员提BUG:6 P# K, h6 T) {. r! }& K9 m

" E" a; |3 l5 z. m) a$ ]) q
. O" {- E9 {& M$ V- `
: ~2 {& O4 R/ a% I# p  X
技术 Leader 对个人综合素质要求很高(技术好的管理者,带技术团队是有一定优势的),先说说我认为技术 Leader 需要哪几个比较重要的综合能力6 c1 `9 u4 W! u

- _$ ^( f; K5 y0 g' r5 c
  • 技术能力和基础知识(能看懂技术表象背后的原理)
  • 沟通表达能力(逻辑,同理心,情绪控制)
  • 业务抽象能力(架构和演化)6 o# h4 v* @& I1 c) l4 p
, [/ k, m( X3 O
技术 Leader 必须要看透技术的本质,因为技术 Leader 平时的工作内容大多包含:技术选型,技术方案评审,代码审查,技术氛围的营造,如果管理者本身不是技术出身,可能无法和技术团队建立共识,沟通成本极高,最终让团队变成一个非常低效的组织,人浮于事,那么如何才能拥有这些能力,可以在技术团队拥有 LeaderShip ? 我个人总结有一下几点:
# ~% V5 N0 |, B. l4 ?3 ?1 \$ E5 ]
8 X5 U, G, T) ]
  • 吃透基础技术和弄懂技术背后的原理(万丈高楼平地起,再流行的框架和技术,剥离华丽的外衣也离不开操作系统,网络,数据结构这些原理型的知识)
  • 了解细节,永远在写代码(不熟悉代码就无法提出真正可落地的方案,就无法感知技术团队的痛点在哪里,也就无法团队提高效能)
  • 持续的学习,持续的为团队带来新的知识和理解(技术 Leader 已经是团队技术问题的终结者,不可能再上传递了,所以不要成为技术团队的天花板)
  • 有一个真心帮助大家的心态(帮助大家成长,提高效能,最终组织效能也得到提高,实现共赢的局面)% A7 h% M7 G5 ]  l, V9 G
5 h6 `! V; |& f& U2 V6 O: h
总结了以上经验和方法论之后,我们肯定会思考,上面所说的都只是过程和执行,那么管理者的目标或者说是工作的结果是以什么形式体现的?: A0 \* u2 ?# P

8 ?  M. l4 d" d# x6 ]# Z5 U0 _

! E2 J* j  V- P4 J* n6 [6 ?: p# x: Y" [! _2 X% I; }' G5 f
总体概括来说的话,管理者的目标和工作结果主要体现在两方面:
# @7 B4 f& m7 l+ r, X1 m# V) j
- }* V" U- r# [; Z! c
  • 做事:成本、效率、质量
  • 带人:人才、梯队、成长2 N2 T! P  K  R3 c  S5 z) U
; Q8 H5 e  h: |
以上的方向又太抽象,其实管理者很多时间的大部分工作都在选择和权限,主要包含以下几个方面- T/ C" T8 S9 R
1 V6 o# y" N6 [8 Y+ h% J7 j
  • 有限资源的限定下,选择最大化的产出方案
  • 做出符合当前环境的技术决策,帮助公司产品取得成功
  • 用方法和工具不断优化和提升生产效率和质量
    1 m$ w. A. i  x( f

( t0 Q3 W( p4 p5 l1 ~
/ o" I" s. l* N& V& r1 _$ W

; z  t2 z5 r5 u/ Y举一个实际的例子:2 c7 _9 Z& _( r1 ?* K! o

$ @7 }( d" i/ I2 r( D4 z
  • 比如公司A在创业期,还没有稳定的市场和客户,这个时候技术管理者的决策要倾向成本 + 效率,例如:技术团队偏向全栈型,工作流偏敏捷,快速交付功能获取用户和市场的反馈用于升级和迭代产品
  • 比如公司B在成熟期,有固定的市场和客户,行业已经没有新的蛋糕,这个时候需要比拼的就是效率 + 质量,技术团队偏向专家型,注重产品质量和客户体验用于形成行业口碑和用户粘性
      d  O, q( e: N7 L4 f( k* A: P
/ A1 k5 U6 h& s# E: C, x
从工程师到团队 Leader 有哪些转变 ?* r5 l3 d; S. t9 K0 A
, O& T. u6 p) o$ _, H
其实工作变化还蛮大,所有很多人刚开始管理团队会出现很多的不适,我总结如下:6 y- D) m5 c' N: u

2 H# y- }* P7 {( L我们先看看工程师的工作视角:
: ]( S; f, s5 T* |$ j$ C
( z0 I0 h3 f# E' q- h  O, @4 ?
  • 这个功能怎么做 ?
  • 这个需求写完,我今天的工作就完成了
  • 业余时间只看技术相关的内容
  • 看看今天领导分配了什么工作给我
    0 z4 R8 L3 u, w$ U9 F) W  t
5 i" s( D  I. u, {8 \% V, c: \* b
作为技术 Leader 的工作视角:
1 h0 k/ x* s" G0 M  Z; i  B6 q( d. I
. q. ]) W' P2 n1 t. D: [# i
  • 我们先阶段要做什么 ?
  • 团队未来向哪里发展? 团队成长不如预期怎么办? 公司今年的业绩指标如何可以完成 ?
  • 除了技术,还需要沟通,判断,组织,协调,看方向的能力
  • 规划 Q1 季度的工作目标,分解到团队成员去实施,保证工作内容和每个团队成员的能力相匹配
    3 `9 R, Z: g; c
# z' T: H+ v3 L, J( j0 u( {
看到这里大家可能会感慨到,不同于工程师工作内容的“明确性”,管理者的大部分工作是“不确定性”的,而且几乎没有尽头,也没有一个明确的时间用于标示“完成”状态,所以这对于习惯“确定性”思维的工程师来说,挑战极大
5 |' _2 u5 M$ @1 \- \( J# B: X. n0 ^
/ v/ q) p8 c; r7 f  A. K我个人用通俗的比喻来总结就是,我以前写代码时候的感受是 一人吃饱全家不饿,轻松且自由, 现在感受是 既当爹(做事),又当妈(带人),而且还上有老(上级),下有小(团队),感觉亚历山大!!
+ a3 Z# E1 f: E+ J7 S
  r$ @3 }( `4 H1 s- W5 F如何提升团队的工作效能
& D6 {8 `& @8 W: i8 k& O/ k% a0 A
( ?; R5 S/ g3 U" S) _很多人都在谈高效,但是软件行业的高效度量指标是很难的,总体来说工作效能的提升,实际上是 事 + 人 的结合,我们先聊聊事情,再聊聊人: z4 M& p& N; N1 J% w+ M+ J
( y9 b9 j6 p9 _* t9 k! |
从事情的角度,我们先说说让团队开发工作变的高效的几个条件:
9 W7 E, @7 O6 }1 `3 U$ o6 \
, q+ Y; h* K  w" k
  • 给员工配置高性能的电脑(工欲善其事必先利其器,脱离工具谈高效就是在耍流氓)
  • 工作流是否流畅(Git 服务器网络慢,合并代码要写表格走流程申请?形式主义就不要谈高效二字)
  • 自动化工具是否完善(没有自动扫面,自动测试,代码就被合并了?那么接下来就是无尽的生产 Bug,修复的死循环)$ b9 {9 `3 z7 f8 @5 v
, H% S  g# P- A) M/ D1 Z
以上侧重的是工具和流程,开发的效率和开发的体验对团队的效能都至关重要,流畅的工作流可以让开发者持续进入心流状态,产生高质量的功能和代码,不会频繁的被电脑卡死,频繁的打断,开发流程等待的阻塞降低工作的积极性,下面我们从人的方面聊聊如何提高团队效能3 M7 D! Q( f1 p; p5 G1 S) F0 \

7 D6 r% L" m8 ]5 ^' j程序员的工作大多是本质知识工作者,管理学大师彼得德鲁克说过:“对于知识工作者是无法进行严密的督导”,所以我倾向提供一种积极,主动,自驱的工作氛围给团队,让团队在这种土壤里面逐渐的形成高效能团队& g! ]6 j3 s' F4 D, @- U& T

: S8 s+ E. Q0 x; I每个团队都会有懈怠的员工,有时候管理者不要急于否定员工,看看管理者是不是没有洞察到他的心理诉求,高产出员工的两个特质是:
+ X$ N" I  {, {; n9 j
$ O- v9 D$ `/ J( f) a
  • 能力(专业知识,技术能力)
  • 意愿(团队文化,价值观,喜欢的氛围)
    $ {( q2 E; _! T- e4 d( U
: Q. e, |+ `% A3 a* M0 _
有一种情况我们常常会发现相同的员工在不同的环境,有不同的产出,所以有时候发现懈怠的员工,不仅要从员工身上找问题,还可以去思考看看是不是我们周围的人,事,环境,工作方法,价值观等地方找出问题,毕竟有一句话叫做“橘生淮南则为橘,生于淮北则为枳”1 D$ X- o) B! a% T, E
5 E; _% q2 ^) l- Y: Y
/ O! t. V# x3 T+ c4 Q8 F

  M, ?  j% h0 M! W- C, O外部激励
$ ?) Q9 L+ Q( @( I+ P; \. m
3 r. T: _' ]/ u8 }/ d除了团队和个人,还可以从外部找原因来持续的激励团队,可以理解为是外部激励,主要包含以下方面:1 T# z$ a  x* b7 C
! w8 w& j4 i6 ?0 A3 n. N
  • 安全感和成就感(稳定的工作环境,完成有难度的挑战,及时反馈 BIA)
  • 学习和成长环境(和优秀的人共事,感知到自己成长)
  • 和管理者定期沟通(让员工感到自己被重视,收集员工建议并且做出工作上的调整)
    $ K) E/ A5 R8 k4 \9 b
* h) s' H- u. n2 p2 p
自驱力和凝聚力1 W1 i; s7 d8 C* \4 a" y+ _

6 v* h# G" k$ x/ w. T3 B: v5 q很多企业都期望员工可以有 Onwer 精神,但是如果想要团队保持足够的自驱力,管理者可能要思考是否对团队做到以下几点:
0 K9 K& `& ]3 h! j) F( \* f# j- S! N# Z
  • 给予员工自主性(工作内容上的自由度,工作方法上的自由度,工作时间和地点上的自由度)
  • 成长(明确的工作目标,内容有挑战,工作发挥其优势)
  • 意义和使命(共同的目标和愿景,价值观)
  • 信任和放权(共同面对挑战,团队内的对抗活动)% K5 z6 n8 P9 s/ r$ ]: q
4 ^. n9 m+ H5 I5 Z/ l
沟通的技巧
* @% r! J% b" f1 |: ~* Q7 U2 p: Q. R6 v$ z% m
为了简单先说明沟通的重要性,我们先了解一下关于圣经中《通天塔》的故事,故事大概如下:
$ ^% r# r/ E( b$ F: e; C( p5 ?6 H3 ~0 P/ a; Q3 C' m9 x
《圣经·旧约·创世记》第11章故事中人们建造的塔。根据篇章记载,当时人类联合起来兴建希望能通往天堂的高塔;为了阻止人类的计划,上帝让人类说不同的语言,使人类相互之间不能沟通,因为不能沟通无法达成共识,人类之间相互猜忌,内斗,无法团结,最终计划因此失败,人类自此各散东西。/ |6 T! n2 U: ~- M. `

0 }" f2 Y7 j1 a' G总结一下就是,如果人们不愿意,或者不会沟通,那么就很容易产生分歧,误解,从而导致大家分裂,大家的目标就会失败,那么管理者很多事情是需要通过沟通传达,让团队达成方向共识,齐心协力,最终完成企业的目标' G7 Q$ g: K8 ]) }2 c( n
0 [$ Y2 }" H1 o' u9 b

& ?6 p; K9 a9 `; U" Q  i

9 f' t3 m! `4 M2 w% m
  \; W" Q; y, x说完故事,那我们了解一下良好的沟通能带来什么?& x  f& [9 N  g( V2 _0 @

) X- O$ F8 Y1 ^3 h1 F6 H
  • 管理者对团队的总体认知和判断力得到提升
  • 和团队成员之间建立信任和默契(信任的前提是充分的沟通,信任程度越高,沟通成本越低)
  • 高质量的沟通可以帮助管理者在团队建立和累积影响力
    & G5 u/ F; w  E/ L, N3 b: x

2 q( p# r; m9 |: S因为很多程序员可能不是很善于沟通,可能需要一些原则和指导,那么在沟通中有哪些方面可以遵循或者注意事项,我个人总结如下 3 点经验" z- X' T4 y  y. B6 I5 s
; V3 G  p* Q" x% z8 ?7 L
  • 认清个体差异(每个人的生活环境不同,对于不同的角色要学会用不同的沟通和表达方式)
  • 基于目标沟通 (明确各自沟通的意图和目的,减少不必要的误会,避免情绪对抗)
  • 多用我来回放(可以把:你是不是这个意思,可以换成,你看看我理解的是否准确)
    - w; j! Z, H5 y+ q$ L. ^* q

( G! y4 q( p) a7 M沟通技巧的核心在于学会倾听,对于还未掌握沟通技巧的同学,推荐一个沟通工具 3F 倾听,照着做也可以称为沟通小能手:
/ a! l& W% A1 e: h: i6 g# K0 {+ A: W* P5 ?6 G  Z
* S$ ~+ y9 d4 B5 `" b- G
! o8 t/ @. n/ f$ h4 e7 Q
情绪控制% K* K6 f3 q  N9 s4 P

  i2 ?. ^' A$ m) [& N5 Q聊到沟通不得不聊情绪控制,为什么管理者要避免情绪化,学会控制情绪 ? 我们先看看知识的原理:我们常常会因为出现情绪,导致沟通常常脱离事情本身,转移到情绪的对抗上,我们的大脑皮层处理本能情绪的优先级是高于理性的,例如愤怒,恐惧,饥饿等,所以我们经常可以看到被本能情绪覆盖的人,往往会失去某种理性,所以我们在沟通的时候需要时刻以下两点:% ^/ M" e( P, L

9 A; q- W; @1 G0 ]) I. @, F
  • 控制情绪
  • 保持理性
    8 d) G- N  c) ^( B7 h% V

( u  @3 J7 U% r3 |+ c, Y  o. T文字可能比较枯燥,我们通过一张冰山图来了解原理:
  @2 T4 o# j7 H& {) `- Q$ S- w* d" w$ O2 O1 _$ x" F7 v
& L6 |: h% g6 j6 Y1 C
. l+ I- T% M' c. g1 g) w( @
了解情绪控制后,我们往往会在工作中遇到,跨部门沟通,跨团队沟通,这种情况往往都会有“部门墙”的存在,这种情况往往不能诉求于共同的上级,往往出现“部门墙”的情况就是因为之间没有共同的上级,也无法相互影响,遇到这种情况可以通过如下几个切入点去达成沟通的共识6 k  L3 ~  m  G% {+ j$ j+ V3 [* K

* T1 M' v1 m9 W, P1 m. |& A
  • 人格:有口皆碑的人品和正直的人格可以让别人更加容易信任你说的内容,并且被你影响
  • 历史表现:你曾经成功完成过相同的事情,就是成功案例,可以让别人更加容易相信你
  • 影响力:你是行业的知名人物或者是团队公认的专家,权威的力量
  • 逻辑:你的内容前后呼应有着紧密的逻辑,可以增加说服力
  • 激情和情怀:心怀某种远大的理想主义,并且有使命感有激情,比较容易获得人们的帮助和认同,可以参考锤子手机的成功案例
  • 互惠:明白对方的需求,沟通的目的是建立在满足双方的需求上
    0 o. d( z7 F( F7 E3 |

, y1 y* _) h1 S0 Q: t0 [说完沟通技巧,那我们来看一下平常沟通中有哪些常踩的坑?可以对照下自己以前是否有踩过1 {4 a5 j# x, `+ {

! P% ]3 F/ Q, Z7 P
  • 沟通给人贴标签,对人不对事(例如:你这个人怎么这么笨,这点事情都做不好)
  • 没有管理自己的情绪,负面情绪对团队造成影响
  • 沟通没有闭环,消息和邮件发出去就默认对方收到了,参考下图
    , S  G, v4 c( l0 R9 e& j
9 i/ @3 r+ G% ?) o
熟悉计算机网络的朋友应该很熟悉 TCP 协议和 UPD 协议,沟通有没有闭环就可以对应计算机网络中的 TCP 协议(可靠网络传输)和 UDP 协议(不可靠的网络传输),我个人建议大家在沟通中尽量多的使用 TCP 协议
. M. Q. o5 O1 L) c5 o1 d
- n+ `! @0 f( N管理者的自我认知和成长
+ i  x' F: J. c9 j3 t9 ?/ `( A) |  ?3 N
为什么说管理者要比团队拥有更快的成长,因为 管理者是团队的天花板,你不成长则团队不会成长,那么管理者的自我认知首先要体现在哪些方面?: E' H5 W( L9 C! \, p0 [8 P

* `* i; |5 D7 r9 d* ^2 M9 v! g; Y
  • 认知:管理者的价值是体现在团队业绩上,不要跟团队抢功劳
  • 心态:归因于己,归功于外,有错都是管理者的错,有功劳都是团队的努力
  • 担当:不要推卸责任,就算是客观原因,也要反省和复盘避免,而不是把责任推给外部
    , z. Q6 r! m* K( I
: m& I% N: v/ x
能做到以上三点,我相信已经会是一个很优秀的管理者了,那么如何保持稳定和高效的成长呢?我的个人秘诀的管理者要做好自己的 精力管理,因为大家的时间都有差不多,尤其是三十左右刚刚成家的管理者(比如说我),可以抽出的时间基本是少之又少,那么还想在赛道上赢得竞争力那么就要比其他人,那么你就要保证自己有足够的时间和身体的健康,那么通过什么来获取呢?答案就是精力管理,我个人总结的精力管理分为以下几个方面:
* q+ }: a8 }# n2 ]) I) D2 E* m7 U; R8 }
  • 运动(每天定期的运动,可以让你保持一个持续充沛的精力,也更加容易专注)
  • 饮食(健康饮食,少吃多餐)
  • 睡眠(早睡早起,不要熬夜)
  • 健康(定期检查,避免久坐)
  • 情绪(放松,感恩,好心情)
    ( o: m$ E2 s, ]9 Y. z+ Y
( x' `6 b* s( J) z: E  B: S- }
说完角色认知和精力管理,那么有人会不仅的思考,那么我们持续为止努力的目标在哪里?具备以上两点,就像一辆高性能的好车,高速道路已经铺好,但是要如何开往目的地?这个就要因人而异了,毕竟每个人的目标和理想都是不同的,先说说我个人,我是技术出身,到目前为止我其实也是偏爱技术的,转管理岗位更多的是想要锻炼自己的软技能,所以我持续努力的目标是有 2 个:: T3 w' `, S9 o( P" C, s

3 I* q" s, j  j& m! d- B
  • 软技能的提升:产品思维,项目规划,带团队,带人,沟通,执行力
  • 硬技能的提升:架构,设计,算法,网络,操作系统,编程语言  g1 b% M( n" x, _1 d% f8 ^+ W
% m# j# Y5 v2 W- R9 P. ]7 m
以上仅仅是代表我个人的目标,也可能是多数技术 Leader 的目标,对于技术管理者很多人总是有误解,认为已经是团队 Manger 就不需要去做具体的执行工作的,起码这一点对于技术管理是行不通的,我个人认为技术管理者 要一直写代码,因为如果不了解技术细节就无法做出有效的决策,而且管理者如果脱离技术,那么也是很危险的一件事情,因为市场对管理者的需求并不多,市场需要更多的工程师去写代码,管理者更多的价值是依附于企业,其很多业务知识也并非可迁移的技能,如果管理者放弃技术的话可谓是“自废武功”,也会让自己陷入一个很尴尬的境地,比如的性格发现自己不适合做管理的话,甚至都不能退回去做工程师了( t* U" R1 P" i$ U5 J- l. M$ _1 k
9 _) r: e* u5 |
总结
6 f0 `; {. I+ \" U; Z
3 T4 m1 @+ F( q9 T7 [
  • 个人而言,做技术还是管理都不是很重要,找到自己最大的价值才是最重要的
  • 不要被别人走过的路限制住,也不要被职业限制住,没有谁可以定义你的发展
    5 i3 c% f3 E! t9 D- f1 S% S
% u# F" \+ P( j9 \2 {& e
中国的官本位思考其实还是挺严重,很多人以为做管理就是当官,但是在软件行业其实并不存在这一现象,目前大多数互联网公司都是偏向扁平化管理,管理者的大家在工作中并没有本质上的不同,而且管理者的工作更多的是偏向“打杂”(工程师视角),如果抱着这种心态去做管理,那么我想说初衷就已经错了,我先在这里劝退,因为最终也可能会走向失败,管理者更多的是要有利他精神,空悲和开放的心态,真正愿意去帮助团队成功,最终实现自己,通过成就他人来收获成就感,关于技术管理的道理长篇大论说了很多,道理都很简单,能不能走好管理路,还是要在“事上练”,自己感悟出来的道理才能真正的为自己所用( F) i& C# Z0 r4 X
( c0 j* M8 _" Q* |+ f# I

该用户从未签到

2#
发表于 2020-8-10 15:17 | 只看该作者
做事:成本、效率、质量
" w8 n8 T3 Q! ^带人:人才、梯队、成长
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-1 07:24 , Processed in 0.125000 second(s), 27 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表