从市值上看,阿里已经雄踞BATM之首,是毫无争议的老大,除了市值之外,同样被大家津津乐道的是,阿里员工的高额工资、大把股票。所以,一直很好奇,在阿里做一名Tech Leader,是一种什么样的体验?
2019AS大会上,听了阿里高级技术专家--孔凡勇(云狄)的分享:《细说Tech Leader在开发团队的核心职责》,终于解答了我的疑问,并且明白了阿里为何这么值钱。
01 分享大纲
云狄的分享涵盖了阿里技术经理日常工作,包括:开发规范、流程规范、技术规划、团队建设与管理、团队文化、沟通与辅导、招聘与解雇。
可以说,是一份“互联网技术经理工作最佳实践”,供大家借鉴。
02 开发规范--协作流程
从项目开发流程上看,阿里遵循的是敏捷开发模式,超大型项目用的是Scrum of Scrums管理模式,以应对快速变化的市场。
项目的几个主要的环节是:项目启动、需求阶段、设计阶段、研发阶段、项目交付。
这里要关注下交付物,MRD、PRD、详细设计、测试文档等。
评审环节,也是阿里做得比较细的:交互评审、视觉评审、用例评审、架构评审、代码评审、发布计划评审。不见得都需要,自已根据团队薄弱的地方重点抓吧。
03 开发规范--规范之目的
项目做久了都知道,所谓的BUG,都是开发出来的(程序员先放下砖头,好好想想这句话有没有道理)。如果你的团队有质量问题,首先要从开发环节去解决,而不是往死里折腾测试妹子,那方向就偏了。
04 开发规范--配置规范
以JAVA开发为例,开发团队要统一家配置规范,包括IDE、maven、git、各种环境参数等。这些配置都放在WIKI上,方便新来的同学看。
05 开发规范--命名规范
开发规范里,包、类、接口都要按规范来命名,不要整些半土半洋,只有你自已理解的命名。阿里之前出过一个JAVA编码规范,大家可以参考。
06 开发规范--API规范
现在主流架构是前后端分离、微服务架构。因此,API规范尤其重要,版本的兼容性、错误码的规则、鉴权方式、数据脱敏、设计API时的防重、幂等性问题要考虑到。
07 开发规范--异常处理规范
好的程序,必定有好的异常处理机制,重试机制、超时的处理、极端情况下的熔断机制、降级机制。
不要小看这些“雕虫小技”,比如重试,如果没有一个好的重试设计,在对方接口调不通的时候,调用端不做控制,频繁重试,这不亚于一次DDOS攻击,整个服务会被压垮。
08 开发规范--分支开发规范
分支管理同样要遵守约定,什么时候用双主干、什么时候锁分支,谁来负责分支的管理,紧急版本用主干还是分支来发版,要根据实际情况来制定标准。
09 开发规范--代码commit规范
commit的标识要统一,如:feat : 新功能;fix : 修复bug;docs : 文档改变;style : 代码格式改变;refactor : 某个已有功能重构;perf : 性能优化;test : 增加测试。
可以结合IDE插件来实现。
10 开发规范--日志规范
日志输出也要相应的规范,通常公司的开发框架里都会集成日志处理模块,在编码的时候按规范调用,禁止用System.out/error来输出日志。上线后有统一的配置中心来控制日志的输出。
11 开发规范--MySQL开发规范
后台开发饶不开mysql,在开发过程中,建表的规范,索引使用和优化,SQL语句的内联、外联,好的SQL习惯要养成。
12 开发规范--统一工具与框架
常用的工具封装,如http连接、ORM、文件读写。
分布式基础组件的使用,不要每个人自已实现,尤其是锁、限流机制等,使用不当很容易造成线上事故,而且不好查。
13 需求管理
需求要有治理机制,要根据对主营业务的贡献度来衡量价值,而不是哪位老板的声音大,需求要评出ABC等级,根据等级安排资源。
14 架构评审--架构设计的目标
架构评审的原则:合适原则、简单原则、演化原则,“刚好够用”也许是最“完美”的方案。
架构评审,要兼顾功能需求、非功能需求。
15 代码评审
代码评审,不要流于形式,不要变成批斗会,或是华山论剑,比谁的技术niublity。
目标是找出设计和实现时遗漏的地方,帮助开发人员成长。
16 发布计划评审
对比较大的版本发版,要做发布计划评审,要有外部依赖检查、配置确认、二方库与应用发布顺序、数据订正和变更、回滚计划、线上回归冒烟等。
17 技术规划
作为技术经理,要做团队的技术规划,如每周、每半年。
平时的技术运维要关注:系统指标、慢接口、慢查询、错误日志等等,从小处发现改进的点,尽早防范。
18 团队建设与管理
同时,技术经理还要进行团队建设和管理。依据团队不同阶段,分为集权式管理、放权式管理。
19 团队管理与激励
团队管理,分成“管”和“理”。
初级员工要“管”,设定目标、给与辅导,手把手帮助员工提升能力。
资深员工要“理”,给以空间,设定目标,帮助协调资源,有兜底方案,让员工自由发挥。
20 团队文化塑造
团队文化可以建立在公司大的文化框架之下,形成一个支文化。阿里是非常强文化的公司,因此团队文化建设会相对容易些,毕竟能进阿里的,价值观都是比较match的。
21 沟通与辅导--1on1沟通
1on1是非常重要的沟通方法,尤其跟员工进行辅导的时候。
遵循3分讲7分听的原则,关注个人工作、个人成长、团队、公司四个方面。
要提好的问题,比如:
你对近期工作满意吗?为什么?
现在做的事情,跟你的发展方向是一致的吗?
团队员你最佩服谁?为什么?
你对公司战略有什么不清楚的吗?
22 团队招聘
招聘的第一责任人是开发经理,而不是HR,HR只是帮助你达到招聘目标。
人才选拔要关注:专业能力、沟通、责任心、是否靠谱、价值观等。不要只看技术,别忘了这个人进来是要跟人打交道的,要综合考量。
23 员工解雇
要帮助员工成长,一旦发现员工不适合公司,要立刻进行处理,就是所谓的心要仁慈,刀要快。
管理者的职责是:定出高目标,带领团队共同前进,把团队从愚昧之巅推向绝望之谷,帮助团队成员走上开悟之坡。
24 写在末尾的话
从阿里一线Tech Leader的日常工作,我们看到了:技术与业务的深度融合、技术细节上的每日精进、团队管理的抓大放小管细、文化价值观的高度匹配。
研究一家公司,很重要的一点,就是看一线经理的精神面貌,以小见大。现在你知道阿里为什么这么值钱了吧?