第一讲 研发技术型人才的特点
一、为何要重视技术与研发技术管理
1、中国技术型企业近十年的发展路线图以及经验教训
2、技术还是营销:中国企业的痛
3、名家论技术与研发技术管理
二、研发技术人才的特点
1、有理想,渴望有价值
2、是贡献深度脑力,而非简单脑力劳动
3、自尊心强,思想单纯
4、成就感强,个人英雄,渴望学习成长
5、不喜欢受约束,喜求新
 
第二讲 共享愿景、使命、目标,建立利益共享机制
一、共享愿景使命与目标
1、技术人才需要看到远大的理想、蓝图与希望??行业、企业、团队、项目、专业、个人发展
2、技术人才需要感到工作除金钱之外的价值与意义??使命、价值、意义、赶超标杆
3、共享全局的目标与里程碑目标
4、明确的可检查的目标,同时不忘目的的分享
5、黑暗中指出光明??信念、乐观、激情、感染力
二、建立共享的利益机制
1、当今社会,金钱成为成就感的一部分
2、劳动、知识、企业家、资本共同创造了企业的价值:知本主义
3、高风险高收益??这个企业也有我一份
4、共享的利益机制??期权、分红、其他金手拷
5、绩效文化优先于绩效考核制度
6、沉淀层退出机制
7、金手拷的长期弊端
 
第三讲 尊重与创造归属感
1、尊重员工??IBM、华为等企业的核心价值观
2、自尊心强??尊重的文化,平等地沟通,直呼其名,认同与鼓励,训练心理承受力
3、两点一线??创造服务与配套,解决后顾之忧,主动建立可掌控风险的交流圈,业余生活
4、单纯??可塑性强:白纸需要你去写,文化教育的良好开端,案例与SOP
5、企业就是另外一个“家”
6、影响研发团队士气与团队凝聚力的因素
 
第四讲 打造技术人才发挥与发展的空间
1、保持适度的主动的产品技术更新速度
2、不能停下的红舞鞋??宁可新,不可旧
3、给研发技术型人才舞台:项目与专业度
4、给研发技术型人才一个发挥的空间:授权锻炼
5、任职资格:提供双通道的职业发展路径与健全的培训机会
 
第五讲 创造性与规范性的平衡
1、游戏队与正规军的优缺点??微软如何将大企业管理得象小企业一样有活力
2、创造性是研发技术型团队的灵魂,规范性是研发技术型团队上规模的保证
3、研发技术型团队的创造性从何而来
4、研发技术型团队的规范性如何打造
5、衡量研发技术管理水平的三维标尺
 
第六讲 从技术精英如何到管理精英
1、技术精英与管理精英的角色不同点
2、做管理与做技术的思维有何不同
3、技术精英到管理精英需要突破的心理障碍
 
 
 

怎么做好互联网公司的技术团队负责人?

对这个问题有些兴趣,不请自来。
先审个题:怎么做好互联网公司的技术团队负责人?

首先技术团队负责人这个表述可以有多种理解,我将其分为两种:一线Tech Leader与其他。Tech Leader往上可以有一些层级,直至CTO, 取决于公司扁平程度与规模,不同的角色其实需要思考解决的问题是不一样的。

其次题主特意提到了互联网公司,我在传统软件行业与互联网行业各自摸爬滚打过几年,跟过不同风格的“老大”,见过不少优秀的Leader, 自己也在不同行业有过带技术团队的经历。以我个人的感受来说,互联网与否,对技术团队负责人的要求并没有太多区别,区别来自于公司或团队文化,来自于技术对于公司而言的重要程度。

仅就如何做好一线Tech Leader谈一下我自己的看法,很多地方自己还做得不够,与大家共勉。
马天宇 的回答很好,其划分是比较合理的,基本上做好业务、团队、技术三个方面就很不错了,我换个角度补充几点:

业务

  1. 要充分理解业务,不仅理解自己的产品,也要关心竞品,业内趋势,如果能对趋势有自己的判断最好不过了,没错就是要把自己当半个PM。

  2. 积极参与业务目标的拟订形成过程,比如每个季度或每个月的大体规划,在充分理解业务的基础上,你就可以更有底气地发表自己的看法,确保在大的业务方向上,团队不至于走太多弯路。

  3. 一旦目标拟订,就要尽量与之保持一致,唯有整个团队形成合力才能最大化战斗力。

  4. 在具体执行层面,比如细化到每个迭代的具体任务时,要思考如何利用现有资源合理安排,还是以业务目标为优先,计划做的这个feature是不是与目标一致?对关键目标的达成有多大帮助?就是考验你何时Say Yes,何时Say No。然而这并不是要你拍脑袋,而是要根据自己的专业素养,综合考量权衡事情的重要程度与开发成本。尤其是要敢于Say No, 很多时候不做某件事,比瞎折腾一顿要更加重要,别总怕大家没活干,除了做feature, 有意义的事情还有很多,微信就是一个典型的例子,不难想象他们肯定拒绝过非常之多的花哨feature。

  5. 业务数据的跟踪与透明。产品的激活,留存率、活跃,评分,crash rate,各种feature的转化率等等,这些产品的关键指标,作为Tech Leader也要关心,不仅如此,还需要共享给团队全员,大家每天不停地做着一个又一个feature, 做完上线之后一个一个石沉大海,貌似跟我没关系,这种氛围很糟糕,自己做的东西受大家欢迎,成就感是很棒的。产品各项关键数据飙升,大家会跟打了鸡血一样。我听说一些团队直接把产品的关键指标放到电子屏幕墙上,挂在公司显要位置。然而因为一些你懂的原因,很多公司产品的关键数据是严格保密的,但我们仍然应该在可行范围内做到尽可能的公开透明。

团队

  1. 首先我觉得最重要的,是在条件允许的范围内,保证团队成员的质量,虽然常说一手烂牌也要能打好,但谁都想要两个王四个二吧。现实情况是,在大部分情况下团队成员都是已经决定好的,给我们选择的机会不多,但在补员的时候,还是有机会调整的,其实就是在说招聘,关于如何做好招聘话题很大,一个关键原则就是新来的不能在团队中位线以下,否则团队质量会逐渐下滑至失控,后面想要再做提升调整,耗费的精力会大得多。关于招聘我有个回答大家可以看看:
    面试时,问哪些问题能试出一个 Android 应用开发者真正的水平? - 汤涛的回答

  2. 团队成员一旦确定,团队建设的重点要放在如何提升大家的水平上,这不仅是每个人所期望的,也是一个Tech Leader的职责与担当,不能帮助大家提高姿势水平,也就是失职的Leader。如何做好这点,有几点建议:
    1)首先要充分了解每个组员,包括大家的专业技能水平与性格特点。
    2)针对每个人,要定期的1对1谈话,了解大家对自身、对团队的期望。
    3)根据每个人自身的期望,以及你自己对他的了解,结合现有业务,给大家制定合理的目标,目标不宜太大或太小,跳起来刚好够得着的那种。目标的制定过程也是要与他单独沟通确定,尊重对方的想法,可以在定期绩效考评的时候做这些事情。
    4)每隔一段时间的1对1谈话中,与之回顾之前目标的达成情况,对他的工作进行评价,提出表扬或改进建议。

  3. 除了给每个人专门拟订的计划外,团队还应该有一些整体的方案用以提升水平,比如培训、技术分享、集体的代码评审会议。尤其是技术分享氛围的建设,应该是要重点关心的。

  4. 其他的关于明确职责,充分授权,团队沟通,团队协作,Team Building之类,@马天宇 已经提到过,我也不再赘述。我个人的观点是:团队里的每一个人,都应该同时具备很强的单兵作战与团队合作的能力,只要把人的姿势水平提升上去了,大家合作起来就会愉快很多,经过一定程度的磨合,很多团队管理过程中的问题,也就不是问题了。

技术

相信如果有机会成为Tech Leader, 在团队内部而言,技术水平应该是没问题的。关于技术可以再补充几点:

  1. 你的水平也许只是在团队内部还不错,在行业内如何呢?世界范围内呢?如果对技术还有追求,不要停下追求技术进步的脚步。

  2. 作为一线Leader, 不仅仅要做好团队管理工作,代码还是要坚持写,时间安排上,至少要做到对半开,不然失去了对技术细节的了解,很多工作也就不好开展。

  3. 时刻牢记团队的输出最大化才是最终目标,而并非事事亲力亲为,总担心别人做不好,容易陷入微管理的困局,这是很多新晋Leader常犯的错误,要相信大家能做好,及时review工作,必要时给予帮助就好。

  4. 思考如何提升开发团队的工作效率,积极引入业内领先的技术方案或开发工具,保持团队技术水平不要落后于时代。

  5. 关键的技术问题或技术决策上,要积极发挥作用,面对技术债务,也不要退缩保守,鼓励大家积极改进代码质量,要有担当。

最后想说,关于这个问题,大家心里其实早就有一个简单的答案:
能为大家争取利益(有钱途),跟着你能成长、能做成事(有前途)。

 
 
 
 
 
 

无论哪个团队都想成为拥有超强技术实力的团队,而建设一支这样的团队也是每一位组长、技术主管、架构师的责任之一,要问起怎样建设,会得到很多种回答,有人说涨工资,有人说搞绩效,有人说多聚餐,有人说去旅游……那么哪种方式能低成本高收益的提升团队的技术能力呢?

当然,答案肯定不是唯一的,这个答案既会随着企业文化变化,也会随着管理者风格变化,但是我认为,提升团队的技术实力首选的还是进行技术培训。

显然,技术实力的提升要靠团队成员的技术能力来保障,因此提升每位成员的技术实力就尤为重要。在本文中我们暂且不讨论技术培训的重要性,而是把关注点放在如何进行技术培训上。

一.培训目标

在一个理想的软件团队中,技术实力可以大致分为三种:一种是基础技术能力,这种能力可以认为是一个初级软件工程师应该具备的知识和技能;第二种是中级技术能力,可以认为是一定的分析设计能力;第三种是高级技术能力,可以认为承担软件全局的设计或架构的能力。

比如一个手机软件团队,通常大部分人在从事AndroidiOS等具体平台下的编码工作,这部分工程师熟悉某平台的API接口、平台特性,可以完成对给定类的代码实现,也具有一定的网络、UI等知识,可以实现指定的功能,这可以被认为是一种基础技术能力。还有一小部分人承担了更复杂的更大粒度的模块开发,可以对复杂功能进行设计工作,并分解为更小的单元,可以指导其他成员的开发工作,可以看到代码中不合适的地方并进行重构,这可以被认为是中级技术能力。另有一位或几位负责软件全局的结构设计、质量保证等工作,对软件的质量属性有保证能力,这可以被认为是高级技能。

通过这样的分解,就可以进行针对性的培训目标设定了。如果软件中的低级bug较多,可用性降低,可能是在基础技能上需要加强,可以考虑由经验丰富的开发人员进行经验分享,或者针对特点问题进行重点剖析,从而提升基础技能。如果复杂功能的实现不够顺畅,可靠性降低,灵活性降低,可以寻找是不是功能的设计上不合适、类结构上不合理,耦合度是否太高,并针对性的进行中级技能的培训。当然,如果想提高架构等能力,就可以进行高级技能培训。

二.培训周期

在培训目标中说了很多,可见其太重要了,目标不对或没有目标的培训只是在浪费时间。在明确了培训目的以后,需要设定培训频度。这个就相对容易进行了,对基础技能的培训频度可以高一些,比如每周一次,对中级技能的培训频度可以略低一些,比如两周一次甚至更长,对高级的当然可以周期更长。另外也不必拘泥于固定周期,但固定周期往往能让被培训成形成习惯,所以还是建议这样进行。

三.培训内容

培训内容的选择就要根据自己的实际情况了,举个例子,比如进行Android平台开发的团队,可以进行Android平台本身的培训,也可以进行Java语言能力、OO设计、重构、设计模式等培训,这些一定要具体团队具体分析,要有针对性而不是盲目从众,否则会有费力不讨好的嫌疑,造成收效不高的结果。

四.培训讲师

培训师的选择最好是在内部产生,这样设计的内容更有针对性,甚至可以直接通过项目代码进行实际演示,往往事半功倍。这是重点的是内容设计,不仅要难易适中,更重要的还是针对性,不务虚,不泛泛。对有兴趣为大家分享一些知识的成员,也可以安排时间来作讲师,形成良好的交流氛围。记住,这是内部培训,形式不那么重要,重要的是高效的知识传达。即使请外部的培训师,也一定要在内容设置上把好关。

五.参加人员

参加培训的人员既可以是指定的,也可以是成员自愿的,当然也可以二者结合。重要的是不要遗漏目标受众。对于个别不愿参加的人员,可以通过建议等方式邀请参加。在这个过程中,一方面可以发现成员的技术取向,另一方面可以补充某些成员薄弱的知识环节,有利于知识体系的完整。

六.培训反馈

培训结果反馈是最容易忽视的一环,往往培训完了就结束了,但恰恰这才是最重要的一步。结果反馈不是随便填一张调查表,而是针对每位参加培训的成员进行回访,进行一对一的谈心和效果反馈,征求意见和建议,指导他在实际工作中的知识运用,并寻找对后续内容的期望。这种反馈未必每次都进行,但一定要进行,并且通过观察长期的bug数量等指标来评估培训的成果。

相信通过以上这些描述,我大体上能展示出技术培训的主要环节和实施方法,这些内容可以根据企业或团队特点进行灵活处理,但不管怎样,作为团队建设的重要环节,培训是低成本高收益的事,也是各团队负责人或技术负责人的一项责任,同时是成员取得团队认同和技术能力提升的重要方式,需要长期坚持,在潜移默化中团队的已经具有了超强的技术实力了。

TL Cop的更多相关文章

  1. TL认证和运作经典案例评选

    评选背景: 1.TL能力模型推出一年多时间以来,各地区.部门的TL认证和运作如火如荼,中开社上已有部分案例输出: 2.有部门在认证和运作上希望能借鉴优秀案例的经验,并且更希望能得到本地其他部门的帮扶: ...

  2. Atitit 编程语言编程方法的进化演进 sp  COP ,AOP ,SOP

    Atitit 编程语言编程方法的进化演进 sp  COP ,AOP ,SOP 1.1.  Sp  oop>>COP ,AOP ,SOP1 1.2. Sp  oop 结构化方法SP(Stru ...

  3. Atitit 面向对象编程(OOP)、面向组件编程(COP)、面向方面编程(AOP)和面向服务编程(SOP)的区别和联系

    Atitit 面向对象编程(OOP).面向组件编程(COP).面向方面编程(AOP)和面向服务编程(SOP)的区别和联系 1. 面向组件编程(COP) 所以,组件比起对象来的进步就在于通用的规范的引入 ...

  4. TL(简单)

    TL time limit per test 2 seconds memory limit per test 256 megabytes input standard input output sta ...

  5. soa vs cop

    soa强调分层:底层为高层提供服务: cop强调分块:有明确的职责和服务提供接口,为外部提供服务. SOA 原则非常强调将服务使用者和服务提供者分离开来,关于此类分离实际的含义,有很多不正式但非常有用 ...

  6. 鼠标到哪tl到哪

    $(".navcon a").mouseover(function(){ var that = $(this), index = that.index(); that.addCla ...

  7. 双足步行机器人的ZMP与CoP检测

    静态步行与动态步行 机器人步态分为静态步行和动态步行.当机器人做静态步行运动时,身体的各个部分运动速度很小,机器人的整体稳定性较易控制.静态步行稳定性采用机器人的重心地面投影点(Center of G ...

  8. aix操作系统的版本中TL SP 含义

    AIX 分为四个主要的操作系统级别:版本.发行版.技术级 (TL) 和服务包 (SP).版本和发行版通常指的是 AIX 的名称,例如AIX 7.1.TL 是包含重大更新的操作系统的发行版,而 SP 包 ...

  9. 面向对象编程(OOP)、面向组件编程(COP)、面向方面编程(AOP)和面向服务编程(SOP)

    http://blog.csdn.net/hjf19790118/article/details/6919265 1.什么是面向对象编程(Object-Oriented Programming)? 面 ...

随机推荐

  1. Verilog 加法器和减法器(3)

    手工加法运算时候,我们都是从最低位的数字开始,逐位相加,直到最高位.如果第i位产生进位,就把该位作为第i+1位输入.同样的,在逻辑电路中,我们可以把一位全加器串联起来,实现多位加法,比如下面的四位加法 ...

  2. 【转】从QDataStream向QByteArray中写入数据时的注意点(QT)

    最近发现从QDataStream向QByteArray中写入数据常常是写不进去的,通过查看QT的源码: QDataStream &operator>>(QDataStream &a ...

  3. 【转】QT 串口QSerialPort + 解决接收数据不完整问题

    类:QSerialPort 例程:Examples\Qt-5.9.1\serialport\terminal,该例子完美展示了qt串口收发过程,直接在这上面修改就可以得到自己的串口软件.核心方法 // ...

  4. Extend一个web application没有反应怎么办?

      通过SharePoint管理中心Extend一个web application的时候, 点完确定按钮后,没有反应,怎么回事? [解决方法] 多等一会,不要连续点. 等待的过程中看看iis, 过一会 ...

  5. XE6入门(一)Hello World

    XE6的IDE已经设计的非常棒了,是该放弃D7了,投入XE6的怀抱.. 本人用的XE6版本是 Embarcadero.Delphi.XE6.RTM.Inc.Update1.v20.0.16277.12 ...

  6. OpenGL ES 3.0片段着色器(四)

    片段着色器流程图 片段着色器(fragment shader)实现了一个通用的可编程操作片段的方法.片段着色器执行由 光栅化生成的每个片段. • Shader program(着色器程序)—片段着色器 ...

  7. 微软BI 之SSRS 系列 - 使用 LookupSet 和 Adjacent Group 等高级技巧在报表中跨 Dataset 分组查询

    SSRS 报表中有一些高级的技巧,平常很少用到,下面我通过这个案例来展现一下如何在实际开发中使用它们,并且如何解决一些实际的需求. 这张报表分别统计了不同的 Product 产品在不同的月份的 Ord ...

  8. SqlServer2012自增主键跳跃增长的问题解决方案

    1.问题:SqlServer2012自增主键插入几条数据,然后重启服务,然后再插入几条数据,发现重启后插入的记录ID出现跳跃. 2.解决方案: Open SQLServer configuration ...

  9. Go语言中Socket通信TCP服务端

    1.用法: (1)定义远程IP地址.使用net.ResolveTCPAddr()方法,定义一个TCP地址,做为本机监听地址. (2)使用net.ListenTCP("tcp",lo ...

  10. Mahout 协同过滤 itemBase RecommenderJob源码分析

    来自:http://blog.csdn.net/heyutao007/article/details/8612906 Mahout支持2种 M/R 的jobs实现itemBase的协同过滤 I.Ite ...