下午乘高铁回家过端午节,晚上才能到,所以今天提前发。
 
收到了一篇投稿文章,讲的是互联网公司技术团队的一些事情,是作者的切身体会,我觉得写的很好。其中关于“技术需要Marketing”一节,我觉得对工程师的职业发展有重要的借鉴意义。
 
我接触过很多工程师,但能把一件很技术的事情讲到不懂技术的人都能听懂的人,却是凤毛麟角。据说王坚是唯一一个能让马云听懂技术的人,所以他是阿里集团的CTO,而此前的很多VP级的技术领导者,都没能成功的把技术“Sale”给马云。
 
所以有时候,这种看问题的视角和眼光,以及表达和沟通能力,决定了技术人才职位和薪水的高低。
 
文章有点长,有兴趣的朋友慢慢看吧。
 
—— 我是万恶的分割线 ——
 
《技术领导人需要的一些特质》
 
作者:jetwang
 
背景:
 
我们公司有一位COO,Yahoo过来的,做产品经理出生。下面有2个SVP,一个技术,一个产品经理。技术的SVP性格比较温和,不强势,最看重的是make things done。产品经理的SVP性格强势,是COO从Yahoo招过来的。
 
网站的流量也不大,一个站点16台应用服务器就搞定了,不是那种技术要求非常高的公司。
 
以上的背景就决定了,我们公司文化并不是工程师导向。很多事情,还是PM话语权比较大,公司策略,开发资源调动,主要是由PM来驱动。甚至有时候需要多少开发人员,也是PM那边直接给建议。
 
我们出现过的一些问题:
 
1. 我们有一个页面,是网站最重要的页面,因为长期在这个页面添加各种功能,这个页面的代码已经非常复杂,每次做一个小改动,开发人员会不经意间弄坏其他功能,而QA测试跟bug修复的时候都要几周。
 
2. 我们有个功能很独立的组件,作为本地代码放在我们网站应用里面,于是出现了这个组件跟整个网站的代码耦合很深,代码互相牵扯。屡次想花时间把这个组件分离成单独的web service,但是总是因为business需求的紧迫性,这个项目分不到人手。
 
3. 诸如此类的,以上种种的技术负债,就导致了我们有时候会在正式环境上出现一些很严重的技术问题,或者有一些简单的需求却花费了巨大的开发代价。而最终为这些问题买单的,还是技术部门。
 
4. 有些PM会给一些所谓的“完成”的需求文档,或者以我们要agile为借口写一些不够详细的文档。在开发过程中,开发人员花了很大的精力来讨论这些需求,导致项目不断拖延,开发人员因为工期拖长,出现人员变更,而新来的开发人员又带来了更多的bug,于是更加拖延了项目,结果就是,项目合作很不愉快。
 
去年美国那边来了一位技术副总,在Oracle跟Collabnet呆过,我跟他一同负责Platform的开发工作。经过大半年的合作,经常可以在跟他的谈论中,感受到他一些对我们很有用的想法:
 
1. 技术需要marketing
 
我的部门除了有Platform开发的团队,还有一个团队是负责架构的,跟Platform不一样的是,架构要做的项目都是技术部门自己催生出来的,所以经常PM端,COO都不太了解我们做的项目。不知道为什么做这个项目,有什么好处。我相信在一个工程师驱动的公司,这样的问题并不是大问题。但是问题是我们是业务型公司。
 
比如我们最近在做的一个组件化的项目。
 
于是有一回,这个VP在跟我打电话的时候,谈到这个组件化项目,他说:“XXX,你知道,你们现在在做的这个组件化项目,很危险!”
 
我说:“怎么讲?”
 
他说:“你觉得XXX(Platform的PM,是个VP)知道你们在做什么吗?”
 
我说:“他应该知道一些,我有跟他说过。”
 
他又说:“你觉得XXXX(我们的COO)知道你们在做什么吗?”
 
我说:“他应该不清楚,这个太技术了。”
 
他又说:“那你觉得XXXX(PM的SVP)知道你们在做什么吗?”
 
我说:“他应该也不清楚。”
 
他说:“那如果你这项目出现一些问题需要帮助的时候,或者说需要resource的时候,你觉得他们会帮助你吗?”
 
我说:“看来不会。”(我心里想,肯定不会,现在就出现问题了。)
 
他说:“如果有其他项目需要人,你觉得他们会第一个从你这个项目中抽调人手,还是从其他他们了解的项目抽调人手。如果现在他们发现开发部门的开发资源不足,他们第一个challenge的项目是哪个?”
 
我沉默。
 
他又接着说:“我们都是XXXXX(技术的SVP)的人没错,但是说白了还是XXXX(COO)的人,你现在拿COO的人,在做一些他不懂你们在搞什么的事情,你觉得这样是不是很危险?”
 
我说:“嗯。”
 
他说:“我可以帮你。首先,你应该以PM能够懂的语言,解释这个项目能给他们带来的好处。你说说,你这个项目可以带来什么好处?”
 
我俩Balabalabala了一阵子。
 
(用XXXX代人名太痛苦了,之后我还是直接用职位吧。)
 
然后他说:“所以你这个项目,Front End的PM VP,Platform的PM VP都可以从中带来这个益处对不对?”
 
我说:“是的。”
 
他说:“所以你现在不用他们的人手,却在做对他们有好处的项目,对于这样的好事,他们欢迎还来不及呢,对不对?”
 
他又说:“如果COO知道了,哇,原来架构组还做一件对公司这么有好处的事情,那很好啊,这个组很棒!”
 
他继续说,”可是,现在没有一个人知道这件事情,所以,很明显,你们做的marketing不够。“
 
他说的很对。只要稍微懂技术的人都知道架构的重要性,但是以前我们一直没有固定的人员去做我们架构组自己想改进的东西,直到去年,我才说服我们技术的SVP,腾出固定的人员做架构自己的项目。而如果我们有人能够为我们架构的项目做好marketing的话,我相信业务负责人会主动为我们增加改进架构的resource,支持我们的项目而不是像目前这样睁一只眼闭一只眼的不管不问。而且也不会出现,个别PM以他一知半解的技术知识,把我们网站的架构错误的描述给公司的业务负责人。
 
2. 处理技术负债
 
我们技术部门跟PM有约定,在制定roadmap的时候,会给出20%的时间解决一些技术负债。但是我们一直没有一个合理的流程来使用这20%。
 
最近技术部门在想办法促成一件事情,就是从每个产品线的开发部门里面抽出一些比较强的开发人员,组成一个团队,专门用来处理技术负债。这可能是一种变相的使用20%的方法。但是这件事情一直不好推进,因为从业务端来说,这个团队做的事情对他们不透明。
 
而这位VP的做法是这样子的。把处理技术负债的项目加到PM的roadmap进去。
 
(我们的Roadmap其实就是每个产品线的年度工作计划,什么时间做什么项目。)
 
我们以20%的时间,算出每一年用来解决这些技术负债的人周。然后根据这些总人周,列出用这些人周可以完成的项目再制定计划。这其实跟PM要做的项目很类似,从什么时间到什么时间,花多少人,做哪些事。但是我们在提议这些重构项目时,要清清楚楚的以PM能够理解的语言写出我们具体要做什么,这个项目做了有什么好处。
 
这个方法,跟前者我们提议的方法比起来,从开发管理来看,更透明,也更可控。也更容易让业务端接受。
 
3. 约定大家都接受的规则,然后大家严格按照规则来做事
 
比如说在项目管理里面,他会先说好,我们用SCRUM的方式来跑,大家同意了。于是就严格的按照SCRUM的方式来跑。当在一些问题上有分歧的时候,就参照SCRUM流程来解决。
 
我们在准备这个spirit的时候,PM必须要提前准备好足够的backlog给大家看。这样我们就不用再从一个很粗略的很大的PRD去痛苦的找出开发人员要做的需求。
 
每个backlog都要有acceptance criteria。还要有对应到PRD的地方。这样开发人员就可以直接去了解他要做的任务。
 
开发人员在把功能交付给QA测试的时候,必须运行QA提供的一些基本测试。这样就防止了开发人员交付没完成的功能。
 
这样大家都有了清楚的,自己要达到的标准,做得好,做不好,也很清楚。
 
最近他还做了一件让我很赞成的事:
 
我们很多项目都会有一些所谓的consultor的角色,他们并不做具体的事情,所以很难界定他们做得好不好。但是在说明每个project花费的时间的时候,他们又说有30%之类的时间在这个项目上。我注重实际的产出,所以我不太喜欢这样子光说不做的角色。表面上很忙,但是具体对项目有多少的帮助,又很难说清。
 
于是我们在谈论某个“consultor”要做什么的时候,他会问清楚,这一位,扮演的是鸡还是猪的角色。(不懂猪或鸡的,请去了解SCRUM流程)如果是猪,那就是具体的开发人员。如果是鸡,却又找不出他是鸡这个角色的理由。于是最终界定,他是猪的角色,也就是要参与具体的开发。我相信,这样就避免了前者我说的那种不喜欢的角色。
 
我经常在想,他为什么可以把很多事情推动起来,而且让大家都认可,即使他有时候是赞同了一些人,而反对了另一些人,但是所有人还是都对他信服的。
 
我们再把上面一条一条的回顾。
 
1. 我们在跟业务沟通的时候,用扩展性,稳定性,易维护性,但是这不是双方都能有个直观印象的语言。做了对公司有什么好处,不做对公司有什么坏处,这才是双方都有直观印象的语言。
 
2. 如何处理技术负债。成立一个专门的小组去处理负债,这并不是一个双方都能理解的做计划的方式。Roadmap才是双方都有个直观印象并且都认可的做年度计划的方式。
 
3. 需求清不清楚,这是个很不直观的判断,每个人判别的方式不一样,得出的结论也不一样,但是有没有acceptance criteria就很明了;
 
开发人员做到什么程度才算完成呢?跑完QA提供的基本测试才算;
 
SCRUM里面有个Consultor要做什么?人们可以很容易的说,他要帮助什么……,推进什么……解决什么……,可以说出一堆一堆。直接问一下,是鸡?还是猪的角色?非常的清楚明了。
 
这就是我想说明的这位VP的特质,不管跟什么人沟通,CEO,COO,还是PM,开发人员,他都是以双方可以有直观印象的语言来做沟通,他想知道你的意见的时候,提出的问题,尽可能的,不是给你出主观题,而是选择题。而要达到这个目标,我相信他在问每一个问题,每一次谈话之前,都会先把思路理得井井有条。

技术领导人需要的一些特质相关推荐

  1. 技术专家或技术领导人所需具备的综合素质 / By 禅与计算机程序设计艺术GPT-4

    目录 技术专家或技术领导人所需具备的综合素质 引言 技术领域的竞争和机遇

  2. 作为开发技术领导人,应该怎样带领好团队

    一个优秀的领导人,应该遵循什么样的准则,才能够带领好团队,感召下属,激发他们成长和努力工作?在我们IT行业也是一样的, 做为技术领导,您是否如下特质: 1. 无私之心带动众人 调动人积极性的原动力只有 ...

  3. 技术人的七大必备特质

    大家好,我是若川.持续组织了8个月源码共读活动,感兴趣的可以 点此加我微信ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步.同时极力推荐订阅我写的<学习源码整体架构系列& ...

  4. 天猫总架构师何崚:好的技术团队不是“需求翻译机”或“架构优化机”

    " 一个好的技术团队应该具备哪些特质?一个好的技术团队的leader应该怎样实施管理?技术和业务如何做到完美结合?这是来自天猫技术团队的经验,仅供参考. 前言 2012 年,无线化大规模到来 ...

  5. 技术到管理岗位的角色转换:从优秀骨干到优秀管理者

    技术到管理岗位的角色转换:从优秀骨干到优秀管理者 作者:王珺之 前言 目前,我国企业95%的中层管理者都是从技术骨干提拔上来的,有相当一部分从技术骨干提拔上来的新任管理者都存在着诸多的困惑和问题.比如 ...

  6. Gartner2018新技术成熟度曲线:五大技术趋势成为新热点

    来源:网络大数据 近日,Gartner发布了2018年新技术成熟度曲线,首次将Biohacking(生物黑客)列为热点技术趋势,再次引发市场关注. Gartner技术成熟度曲线又称技术循环曲线.光环曲 ...

  7. CTO俱乐部下午茶:技术团队管理中的那些事儿

    摘要:"CTO下午茶"是一种有效的集体对话的模式,参加活动的成员在真诚互动和共同学习的宗旨下齐聚一堂,在喝茶聊天氛围下交流工作心得.本期"CTO下午茶"的主题是 ...

  8. 如何做好技术 Team Leader

    曾子曰:吾日三省吾身,反思是人类进化出来的一项异常宝贵的能力.我在阿里带团队也有四年多的时间,有必要总结一下此间得失:另外,前几天和一个刚开始带团队的同学聊天,他觉得角色转变对于他有不小的挑战,因此我 ...

  9. 腾讯云张贤国:北大将我从少年变成了技术研究者

    在LiveVideoStack采访的几十位多媒体技术人中,毕业院校比例排名前三位是清华.北大和上海交大.他们有的耕耘在大学讲坛,输出一波波人才.有的移居海外,在全球顶尖科技公司担当技术领导人.有的还在 ...

最新文章

  1. c++ 弹出菜单在固定的位置_固定资产管理软件操作手册(资产维修)
  2. 基于Swoole和Redis实现的并发队列处理系统
  3. STL:set/multiset用法详解
  4. 【数字信号处理】离散时间系统稳定性 ( 稳定性概念 | 稳定性用法 )
  5. Consul入门07 - Consul Web界面
  6. ast抽象语法树_新抽象语法树(AST)给 PHP7 带来的变化
  7. syslinux 制作多系统启动U盘
  8. CRMEB v3.2微信小程序商城前端
  9. USACO12FEB Nearby Cows
  10. Linux 在 soft lockup 时,可以远程调试吗?
  11. 关于互联网大厂裁员,引发企业危机处理与个人危机处理的思考
  12. 一步步学习SPD2010--附录A--SPD工作流条件和操作(4)--列表操作
  13. 【MisakaHookFinder使用方法】关于如何提取一个文字游戏的文本钩子以供翻译的方法
  14. Directx11代码下载
  15. 计算机硕士论文难写吗,写不出论文该放弃吗_硕士研究生论文速成法_硕士研究生论文 计算机...
  16. 计算机修改人类记忆曲线,艾宾浩斯遗忘曲线和费曼技巧
  17. 20201223:调用paddlepaddle抠图模型更改照片底色
  18. One-Error多标签分类_多分类及多标签分类算法
  19. bootStrap dropdown button
  20. 2020年全球及中国术后镇痛药行业市场现状分析,非阿片类药物需求不断增长「图」

热门文章

  1. JeeSite框架学习------主子表创建总结
  2. k9.第三章 K8s基础篇-必备Docker知识 (二)
  3. 志愿模板-大学生寒暑假社会实践报告/企业实习报告模板
  4. u盘启动 v5 华为2288h_华为 2288HV5服务器安装windows2012R2
  5. bashrc 与 zshrc的区别
  6. Java 根据经纬度计算两点间的距离
  7. 实体完整性参照完整性和用户自定义的完整性分别是怎样体现的
  8. A2开发版简介 ----学习笔记
  9. java读取文件按照空格_java实现读取txt文件并以在每行以空格取数据
  10. js 页面跳转 控制锚点的方法汇总