程序员都讨厌被管理,而乐于被领导。管理的角色由PM(project manager)扮演,具体来说,PM负责提需求、改改改。大多数情况,PM是不懂技术的,这也是程序员觉得PM难以沟通的原因。而后者由技术领导(technical leader)担当,当然技术领导更接地气的叫法是组长、老大,后文统称为技术Leader。技术Leader复杂带领程序员重逢陷阵,实现PM的需求,技术Leader同时担当研发与管理两重角色。一般说来,技术Leader的专业技能都比较牛逼,组员都比较信赖,因此愿意被领导。

  本文讨论的是互联网行业中比较常见的小团队,即由几个、十几个成员组成的技术小组中,一个好的技术Leader者是怎么样的。“好”的定义有两方面,第一是对公司而言,保质保量完成项目,培养人才;第二是对团队成员而言,带领大家前进,获得精神与物质上的报酬。前者是核心,后者是达成前者的重要条件。程序员都有一个共识,选择一个好的团队、领导有时候比选择一家公司更为重要。

  以下是我对优秀技术Leader的一些思考,排名不分先后

  本文地址:http://www.cnblogs.com/xybaby/p/7629392.html

对新技术保持敏感

  互联网行业,每年都有大量的新技术出现,作为技术Leader,需要对新技术保持敏感,特别是领域相关的知识。不管这些新技术能否用上,作为知识储备总是必要的。对于技术Leader而言,甄别、了解一门新技术并不是很难,一来在《怎样才算得上合格的程序员》一文中也提到,有了良好的计算机基础能更加本质的看待新技术;而来,技术Leader能有更丰富的资源,比如来自其他小组或者本小组成员的技术报告。

谨慎使用新技术

  了解、掌握新技术是一回事,但在业务中使用新技术是另一回事,特别是在已经上线的、复杂的产品中。决定是否采用新技术不能看噱头、追潮流,而要考虑诸多因素,比如替换旧技术的必要性、新技术的优缺点、是否开源、新版本发布频度、社区是否活跃、上手难度、组内是否有靠谱的同事深刻掌握。很多时候,新技术听起来很酷,但不一定适用于当前的团队和任务,选择合适的,而不是追逐最好的。

不存在技术单点

  在之前介绍分布式相关的文章中,都提到,分布式中最怕的就是单点故障。团队中也是如此,任何比较复杂的逻辑,或者技术难度比较高的部分、或者涉及到多方合作的业务,都应该有两个人了解、负责,至少一主一辅,否则当有人撂担子的时候,事情就很难办了。团队成员解决不了的问题,最终都需要技术Leader来解决,维持standby也就减轻了自己的负担。

以团队产出作为核心任务

  普通程序员到技术Leader的角色转变中,需要意识到,对自己的考核不再是代码写得多好,而是整个团队的产出。工作重心是让整个团队高效的协作,将任务分解给适当的人员,而不是事必躬亲。

代码不一定要写的多,但一定要写得好

  技术型的领导、管理还是要以“技术”服人,牛逼的技术才能征服程序员。但术业有专攻,技术Leader也不可能在方方面面都是专家,但至少需要在业务领域有所深度 。代码也不一定写很多,但写出来的代码一定有足够好,可以作为组内示范。如果是新项目、新业务,技术Leader一般会参与基础模块的开发,这个时候就一定要把代码写好,因为这部分代码会接受跟多人的检验。

解决线上问题的能力

  线上突发问题,更能考验一个人的能力和心里素质,当大家都一筹莫展的时候,如果技术Leader能够抽丝剥茧、定位问题,自然能够让诸多程序员佩服不已。

鼓励改进,公开表扬

  有上进心的程序员都愿意自发的改进、优化代码。小的粒度比如提取共用接口、增加文档;大的粒度比如重构一些基础性模块、引进新的思维或者技术。且不论效果如何以及最终是否采纳,这种行为都是值得鼓励的,作为技术Leader要多给大家点赞。在对外分享、讲PPT的时候,将功劳归功于组员,首先表扬、感谢组员。程序员的职业认同感还是很强的,需要来自业内人士的肯定。

为组员争取利益

  当团队的利益与组员的利益不冲突的时候,应该尽量为组员争取利益,精神层面和物质层面的,前途与钱途。一味的画饼而不兑现只会失信于人,程序员是单纯但并不傻,而且大家都要养家糊口,少来点虚的。

冷静理智

  在《怎样才算得上合格的程序员》就提到,合格的程序员需要管理好自己的暴脾气,优秀的技术Leader更应该如此。不管是面对重复犯错的菜鸟,还是不负责任的老鸟,发火都不利于解决问题。先解决好问题,然后再私下与当事人沟通、批评。

剔除老鼠屎

  在团队中,一两个技术弱一些的同事问题也不太大,只要态度认真,且愿意学习。最怕的是“老鼠屎”:不负责任、难以沟通、整天抱怨、传播负能量。对于这种人,不管技术水平如何,技术Leader都应该利用手中的权利,在沟通、警告无效的情况下,将其驱逐出团队,当断则断。

知人善任

  在一个团队里,自然有不同性格的人。有的人喜欢钻研技术,有的人善于交流沟通。不同的人适合不同的工作,扮演不同的角色。技术Leader应该了解大家各自所长,在达成团队目标的情况下,尽量安排各自喜欢的工作。

团队的成就感与成长

  经常看到有人说,如果在当前的公司、团队学不到东西的时候,就可以考虑跳槽了。这就是说,大家在这个团队里面,是希望有所成长的,所做的产品是能够得到认可的。技术Leader应该多促进组内、组外的技术分享,推荐好的学习资源,让大家共同进步。

总结

  综上所述,个人觉得,要做一个好的技术Leader,首先得培养自己的技术魅力和人格魅力,技术是安身立命之本,是服众的武器。其次也得利用好手中的权力,为成员谋福利、争取利益,同时将老鼠屎剔除团队。

  程序员特别是新手程序员,如果能遇到一个好的领导是一件非常幸运的事情。

  以上只是我的一点思考,而我还不是一个技术Leader,所以请轻拍

技术领导(Technical Leader)画像的更多相关文章

  1. 从码农到技术总监分享Leader经验

    从一个毕业的IT小伙或者一个码农成长为一个管理者,有很多需要转变的思想,那么当你遇到了瓶颈,或许我的经验能帮到你,感谢. 系统的掌握了.NET,JAVA技术,能够熟练的使用springcloud + ...

  2. SAP 技术设置(technical setting)

    在创建数据库表的时候,需要设置它的技术参数:这样才能使用. 在技术设置里,有个数据类(data class),如APPL0,等等. 有好多值可以供我们选择.这些值保存在表DDART中,表的描述:DD: ...

  3. 技术管理进阶——Leader的模型、手段及思维

    这里可以添加关注交流一下嘛-- 本文更多的是个人认知,有不足请批评. ​Case 在之前一次年底考评的时候,有一位leader将一个案例同时用到了自己和下属身上,老板发出了责问: 这个项目到底你是负责 ...

  4. 技术管理进阶——Leader应该关注成长慢的同学吗?

    原创不易,求分享.求一键三连 两个故事 我该怎么办? ​在大学毕业的时候,恩师跟我说了一个故事: 有一个女同学跟他说,不知道毕业了该干撒,不知道该怎么办. 正处于「低谷期」的恩师突然一怔,想到貌似自己 ...

  5. 程序员、技术领导、管理者各有烦恼,你占了几条?ZZ

    Q1: 作为学生,你学习 SE的烦恼有哪些? http://blog.jobbole.com/101840/

  6. 下篇:技术 Leader 的思考方式

    作者: 朱春茂(知明) 技术 Leader 是一个对综合素质要求非常高的岗位,不仅要有解具体技术问题的架构能力,还要具备团队管理的能力,更需要引领方向带领团队/平台穿越迷茫进阶到下一个境界的能力.所以 ...

  7. 晋升挂了!leader说不是我技术不行

    大家好,我是对白. 今天给大家分享一位朋友在互联网大厂晋升失败的故事,不是每一位校招生第一年都可以稳稳晋升的,这不仅取决于你的业务收益,还取决于你是否会包装自己的项目,以下为原文. 晋升 去年秋季,我 ...

  8. Team Leader 你不再只是编码, 来炖一锅石头汤吧

    h3{ color: #000; padding: 5px; margin-bottom: 10px; font-weight: bolder; background-color: #ccc; } h ...

  9. 一个优秀团队leader应该具备的几点素质

    首先,技术要过硬.毕竟一个团队是在靠技术为别人创造价值的,一定程度上,团队leader的技术能力决定了整个团队的技术上限.leader对技术的坚持和追求很可能会影响团队成员对技术的坚持和追求,至少le ...

随机推荐

  1. java匿名内部类举例

    public class Test { public static void main(String[] args) { //4.匿名内部类 //主要是针对那些不能直接创建对象的抽象类和接口而来的 S ...

  2. 红黑树的插入Java实现

    package practice; public class TestMain { public static void main(String[] args) { int[] ao = {5, 1, ...

  3. nginx小问题

    配置nginx与ftp图片服务器:安装后,要在/usr/local/nginx/conf/nginx.conf里面的server中(带有localhost的那一块)修改为location \ {roo ...

  4. php的mysql语句里变量加不加单引号问题

    第一种[{$_GET['id']}加不加单引号都能正常执行没问题] $sql = "select * from `news` where `id` = {$_GET['id']}" ...

  5. 如何将RDS的数据同步到本地自建数据库

    长期以来有很多的用户咨询如何将RDS的数据同步到本地的数据库环境中,本篇文章以在阿里云的ECS服务器为例来说明如何将RDS的数据同步到本地数据库中.RDS对外提供服务是一个DNS地址+端口3306,这 ...

  6. 团队作业8----第二次项目冲刺(Beta阶段) 第一天

    BETA阶段冲刺第一天 1.开了个小会议 2.每个人的工作 (1) 昨天已完成的工作: 今天是第一天,所以是新的开始. (2) 今天计划完成的工作: (3) 工作中遇到的困难: 由于有新的成员加入,默 ...

  7. 团队作业4——第一次项目冲刺(Alpha版本)2017.4.23

    1.当天站立式会议照片 本次会议为第一次会议 本次会议在5号公寓1楼召开,本次会议内容: ①:做第一天的简单分工 ②:讨论每个人是否对安排的任务有苦难 ③:规定完成时间是在第二天之前 ④:遇到困难,及 ...

  8. 201521123071 《JAVA程序设计》第七周学习总结

    第7周-集合 1. 本周学习总结 以你喜欢的方式(思维导图或其他)归纳总结集合相关内容. 1.1 Iterator<E> iterator(); //iterator()返回一个实现了It ...

  9. 201521123115《Java程序设计》第6周学习总结

    1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结. 注1:关键词与内容不求多,但概念之间的联系要清晰,内容覆盖 ...

  10. 201521123090《JAVA程序设计》第二周学习总结

    1. 本章学习总结 java基本数据类型 String类对象使用 枚举类型及switch分支 容器的概念 2. 书面作业 Q1.使用Eclipse关联jdk源代码(截图),并查看String对象的源代 ...