一个称职的技术负责人应该是什么样的?

Posted under 工程师职位 On By yang549582

技术 管理 分配工作 生活 预研 软件工程 团队规划等方面都可以,各位资深的leader都来聊聊。

大叔级 OO 程序猿、软件架构狮,特级资深 Agile 2 敏捷开发教练

在创造业绩的同时,开发团队也能不断地吸收优秀的人才、后续力量,不断充实壮大,而不出现人才逐步流失的情况。

国内外的许多一流企业团队都符合以上的正循环,他们的技术负责人自然是称职的。然而如果要详细分析技术负责人是否称职的评判标准,那么就有点复杂了。

软件研发的技术负责人有许多种类和称呼,例如从 TL(Technical Lead or Team Lead,也叫班长、队长、小组长等)、开发经理(主管)、技术经理(主管)、架构师(Architect)、主任架构师、首席架构师(Chief Architect)。。。一直到 CTO、总工等等,这些都是技术负责人,而不同职位、不同级别的技术负责人,对于“称职”的评判标准和要求也各不相同。

此外,软件研发组织可分为一流、二流、三流。三流企业或团队的技术负责人肯定是不称职的,而一流、二流组织对于“何为称职的技术负责人”的要求也有所不同。

不管哪里的江湖,二流、中等企业的数量是最多的,以下先结合二流企业的情况来谈。一般来说,称职的技术负责人具有以下几个特点:

得到公司领导、团队成员的基本信任(Trust)是开展任何工作的前提,没有 Trust,何来称职?

我把“懂政治”和政治素质放在第二位,这在中国人的企业文化环境中尤其重要。

历史上许多技术骨干、技术还不错的新人由于不懂权力政治,年少傲娇,不懂得把握说话做事的分寸,在这个上面摔过跤,吃过苦头。这些 TL 常常以为自己技术牛,便不把别人放在眼里(包括领导,甚至自己的直接上司),盛气凌人、桀骜不驯,处理不好关系、得罪领导和同事的结局当然是被领导冷藏,逐渐边缘化,最终被排挤出团队。

五千年来,这样的领导与下属的案例举不胜举。大家可能都听说过一两个,而且有的就发生在自己身边。最著名的大概是曹操与杨修的故事。

二流企业的公司政治环境,比起一流企业来,往往复杂得多。别忘了,作为技术负责人,你只是被老板雇来干活的。政治素质不好、平时爱大嘴、容易得罪人的人不可能升级到更高级的技术管理岗位。

4 能代表技术和其他部门协调工作,告诉他们那些问题利用技术可以轻易解决,那些不要抱幻想,能不能换个方法。

1. 不敢承担责任,每次做决策都要拉上一堆相干不相干的部门一起担责任;

3. 合作商整个team加班support他联调,老兄到点一句话不说下班走人了;合作商傻傻的等了一个多小时,在qq里问调试结果怎么样了,答曰,我在地铁,明天再说;

4. 合作商整个技术team,自己公司的运维,dba都等着调试结果,问了好多话,半天没反应,过去一看,玩LOL呢;

5. 遇到问题不反馈,快到交货的时间点,和他check,哎呀我遇到XXX问题了,这个时间恐怕不行了;

6. “我本周内一定给” “周五我加班也给你做完” “这周我挤时间给你做” “明天要公测了啊,我现在做!”

与此类似的还有很多。。。。数不胜数,说真的,沟通问题,真的是最头疼的事儿了

对技术负责人的要求,是和技术团队的规模有关的。好的技术负责人应该有好的动态领导力,在团队的不同阶段,发挥不同的作用。下面就从技术团队角度看看,称职的Leader是啥样的。

团队规模偏小,团队协作上容易组织,团队成员的分工比较清晰,此时的工作重心应该在技术上,而且在技术的深度上。

此时的Leader更像是技术攻坚者或技术领头羊,将研发上的难点重点扛起来,能及时解决问题,能让团队成员感觉跟对人,有信心。

进度与质量控制方面,决定因素在于难点是否能及时攻克,如果问题都能及时解决,那进度压力相对就小,也就有更多的时间来照顾代码质量考虑程序架构。Leadr的研发能力基本就是决定性因素了。

研发方面,在深度研究的同时,要拓宽视野,多了解所处行业的新动态新知识,即在广度,在知识面上要铺开来。这时的团队规模,足够出1-2个牛人了,在研发的深度上,可以交给这1-2个牛人,把人员梯队给建设起来。而Leader应当寻找突破点,打破瓶颈,将整个团队的研发能力,工作效率,都提升起来,提升木桶中最低木板的高度。

代码方面,工作重点不再是如何实现某一两个功能点,而是产品整体实现。以何种模式组织程序结构,如何实现低耦合高内聚,如何向前兼容,如何避免版本分裂,如何控制bug率,如何挖掘业务数据,如何有计划地将上述问题逐步解决,才是Leader的重点。

进度方面,人多会出乱子,为了避免出现不可控的情况,要先分组。人员分组可以是动态的,根据迭代情况调整小组成员。分组能确保重点功能按时完成,但很容易 出现能者多劳,其他滥竽充数的情况,所以及时反馈进度也必需跟上。Scrum的站会+邮件知会,可以将具体任务落实到人,既不占用太多时间,又能实时掌握动态,很推荐。

质量方面,这个规模的代码量注定了Leader不可能单挑所有成员了,需要靠规范,制度来提升质量。具体到每个团队,会由于历史原因,公司文化,进度压力等等,出现不同的规范。举例来说,设计文档,接口文档,代码交叉review,单元测试,代码检查工具,自动化集成与测试工 具,这些都可以有。

团队建设,Leader需要培养好的团队文化,说白了就是各种好习惯,各种好的潜规则。10人的团队,技术水平,个人背景,年龄,都有差异,如何让大家都认可团队目标,都认可自己的工作,是一件长期且很有意义的事情。什么是好的团队文化呢?比如每个RD都觉得自己是PM,哈哈:)

十多个人研发人员共同做一个项目,肯定是大项目了,此时Leader的应当有足够的经验和能力,而在众多能力中,我认为最重要的是“杀伐决断”。

方向。Leader有权利也更有义务,确保整个团队的方向是正确的,同时Leader要足够坚定,独立判断,能扛得住上边的压力,也能分辨出身边的误导。不要犹豫不决,在决定前三思而后行,在决定后一鼓作气势如虎。

业务。如此规模的团队Leader,只精通技术肯定不够了,必须对所经营的业务也有深刻的认识。技术上的所有努力,最终的目标是让产品有更多人喜欢,让业务有更好的发展。如果不熟悉业务,很容易犯方向上的错误,在这个层面上出错,往往又很要命。

资源。领导是拿来干啥的,就是拿来要资源的嘛。你手上有这么多兵,你也要给团队足够的弹药,足够的信息,足够的后勤,要为了超额完成KPI争取足够多的资源。有了资源怎么用,要放权。巧妇难为无米之炊,舍得放权,懂得给资源,才能有美味佳肴。

好了,由于个人经验有限,超过20人的团队该怎么带就不YY了,以上内容也算抛砖引玉,希望对有兴趣的同学有所帮助~

哎呀这是个非常好的问题,题下张老师王老师的答案非常好,我的回答只是一点而已点赞的几位仁兄谬赞了!

1.懂的维护手下,针对扯皮撕逼问题敢于置高层面前替下属解释,而不是推卸责任让手下背锅

2.懂的把控团队节奏,张弛有度,不做强制规定,一切结果导向,充分发挥下属主管能动性

3.出于对产品质量的考虑与风险的把控,敢于对产品经理及高层say no,不为KPI盲目实现需求赶进度

5.了解每个下属所擅长的及不擅长的,把每个人放到最需要,最合适他的工作位置上去

上面很多答案,感觉把这个“技术负责人”当做神人了,啥都要管、什么都要解决……

技术负责人其实就是负责从技术维度把关,协助确保项目成功交付。然后实际环境下,技术负责人还承担了很多产品经理的需求工作、项目经理的进度和风险管理工作、团队或研发经理的人员管理工作等等。

我推荐看看我在这个答案里面推荐的书籍:IT项目管理有什么好的书籍推荐? – 徐毅的回答

1、管理:这个是重要的一点,甚至重要过技术本身。之所以它最重要,是因为它决定了你在这个位置上的心态。所谓管理者,首先要对公司以及公司的股东负责,然后才是对用户负责,最后是对手下团队负责。请不要搞混这个顺序。任何一个顺序的搞混,都会让你在管理岗位上犯下很严重的错误。你之所以坐在这个位置上,是你的领导觉得你在这个位置上能为公司创造更大的价值。仅此而已,所以千万别想太多,做多余的事情。

2、技术:作为一个技术负责人,技术肯定是安家立命之本。所以我的原则永远是:绝不下第一线。见过很多技术见长的人,升任管理后,就退居二线,导致几年以后业务生疏,新招的手下完全不听管教,甚至鄙视领导。殊不知他的领导曾经也是业内有名的牛人。所以这样的悲剧是不应该的,作为技术负责人,唯一能服众的就是你的技术,绝对、绝对、绝对不能放下技术,而专注于管理。技术负责人不是帅才,而是将才。所谓将才,自然是冲锋杀敌一马当先,要有 谁人不服,便斩谁人于马下的霸气。

3、预研和经费的问题:这是个老大难的问题,参照条目1。你站在公司利益的角度去思考这个问题,如果是一个长足的利益发展,自然很容易说服股东和你的领导。但是,往往很多很多的技术负责人真的不是从这个角度去思考预研这个问题的。所以也无法说服任何人来付出当前的若干利益。

4、团队建设:原则性问题基于条目2。但作为团队,你总要有人一起干活。但关于技术的问题,绝对不要减分的人,是一个很关键的原则。我见过不少leader喜欢追求手下的数量,导致团队臃肿但没什么卵用。所以你要做到的是团队中的每个人都有他的价值。适度的精英文化很适合这样的情景,毕竟工资差别不大的情况下,能力的差别非常大。当然,作为一般的leader,是没有多大的机会决定人事相关的,更多的时候,只能有什么人,用什么人。这时候,人才的培养和合理安排就是非常关键的问题了。这个在下一个条目讲吧。

5、分配工作:这个对于一个能力很强的技术负责人,真不是什么问题。一个人顶一个团队,还要什么手下,手下的工资,我一个人全拿了,还更省心。(以上纯属玩笑)。好吧,一个人顶一个团队的事情,我们先不去想了,既然有团队,那自然逃不开分工的问题,在给手下分配工作的时候,原则性的指导方针永远是:处理情绪的问题比处理技术的问题更重要。你必须善于去捕捉每一个属下的情绪状况,帮助他们去调节和控制。千万不要把重要的工作分配给一个刚失恋或者刚吵架的情绪低落的家伙,如果你这么干,我相信你得自己花数倍的时间帮他收拾烂摊子。分配工作还有另一层次的概念:人才培养。有计划的分配工作给特定的人,是可以让他得到不断的成长的,团队面对的业务压力肯定会随着市场的变化而变大。所以作为leader是必须有足够的远见来预计未来团队所需要面临压力时需要的人才储备,及早的培养目前可以用的人,而且还包括现有人员离职的风险等等。

6、生活:如果你做不到生活和工作的完全剥离,那我就不谈这个话题了。私人生活永远不要和工作有任何交集。

“Hes a man who got the job done.”

总结: 一个技术负责人首先要做的就是能平等的对待部门的下属,不管他做的哪个岗位,不能比如只重视开发,或者测试而对其他人不尊重,采取刻板的压别人。

Leave a comment

您的电子邮箱地址不会被公开。 必填项已用*标注