一点技术管理思考

最近找工作面了个CTO职位。明知不可能还是要试一下,主要是那个职位的描述真的很复合我的口味 。为了提高成功率尝试写了一下自荐信。奈何刚写完,面试结果就出来了。啧啧。

文章中其实更多的还是自己对于技术管理的一些思考,核心就是效率和稳定性两个点。留着记录一下,不然哪天又找不到了。


与贵公司HR沟通之后,我又搜索了一些资料,加深了对聚创医药和相关职位的了解。我想从几个方面来简单说说自己与这个职位的想法。

首先是技术能力方面。自从工作以来,我所经历的团队都是相对精干的团队,对每个人的能力要求都是在自己的主要职责之外要对其他的开发工作适当涉猎,这样才能在合作的时候理解各方的诉求,才能全面地评估技术实现的难度,才能更合理地安排开发时间。尤其是作为项目地主导者时,更是对此有比较高的要求。用时髦的话说,就是“全栈”能力。我个人在这方面投入的精力较多,后端为主,前端次之,运维测试也有都了解。此外,我经历过各种类型的项目,从传统的信息管理系统(百姓网)到交易系统(乐空空),从社交和聊天软件(Same)到企业内部工具(诺亚财富),对不同类型的项目从立项到技术方案到推进落地都有完整的认识。从与贵公司HR的沟通中了解到企业目前IT部门的现状与未来的一些规划,我想我在这些方面的经历和经验应该会对公司的发展有所帮助。

其次是技术管理的方面。从百姓网到Same到诺亚,我所经历的三个企业是非常典型的三种类型的企业,也是三种典型的技术管理方式。Same是完全的创业公司,团队小,基本没有层级架构,所有人一起对业务对产品负责,采用的是快速试错的开发方法;百姓网的工程师文化非常浓厚,技术人员的话语权很高,崇尚的是扁平化的人员管理和敏捷式的开发方式;诺亚则是传统企业的IT管理方式,高层决定方向,中层决定事务,底层负责执行,注重流程与制度。对于软件开发来说,技术管理的核心指标其实只有两个:开发的效率和产品的稳定性,当开发资源(人数、能力、时间)有限的时候这两个指标通常是冲突的。技术管理的作用就是在开发资源有限的前提下,充分利用资源,平衡效率与稳定性。上述三种典型的开发管理方式效率依次递减而稳定性依次递增。在三家公司我自己的管理方面的实践大部分时候是处在中间层次,对上要参与项目计划,对下要参与具体实施,在这个位置上可以看到不同类型管理方式是如何在效率和稳定性这两个核心指标上影响项目的推进。

技术能力和技术管理是我自己有所实践和有自信的。后面要说的另外两面是我有所思考,但因为职位所限而没有真正的实践的。

一个是关于开发人员的考评与激励。这个其实一直是业界的难题。由于软件开发的智力创意因素,很多时候数量(代码行数、BUG修复率等等)并不能真实地反应工作成果。这就导致了软件开发人员的KPI难以制定,人员考评尤其是绩效考评也困难重重。另一方面,软件开发是一个团体作战的工作,任何一个点位出现问题都会导致最终的产出出现问题,比如交付时间延长和产品不可用(宕机、bug等)。基于这个原因,个人比较认可的是基于团队的集体绩效,考评的对象是团队产出产品的各项指标,并且基本是负指标,比如交付延迟时间、服务不可用的时长等。用负指标的原因在于,软件通常是与业务相互匹配的,做到100%之后继续往上提升并没有实际效益。至于人员的激励方面,就我自己的亲身经历和周边各种同事的反馈来说,一个技术人员在优秀技术氛围中获得的成长和激励,远远大于其他方面的激励。

另一个则是关于团队建设的。我认为还是要从软件开发的基本目标出发来看待这个事情。个人对于技术团队的看法一直是贵精不贵多,原因也是软件开发是一个团队工作,木桶效应显著,不一定说一个优秀的开发一定能顶几个普通的开发,但一个较差的开发一定会拖慢团队的进度。这是效率方面的考量。团队的梯队建设其实并不一定是必须的,因为梯队建设的目的主要还是在开发人员流动频繁这样一个事实下,能够保证软件开发流程不会因为人员流动出现问题。使用梯队方式形成备份是一种方式,但更多适用与团队规模相对较大,有比较充裕的head count的时候。对于小团队来说,更好的方式是开发人员的互相备份,不能让某一块业务只有某个单一人员了解甚至专精。这可以通过code review(提高代码可读性)、交叉业务开发、技术沉淀等一些手段来达到目的。另一种意义上的人才梯队建设本质上是人才储备,这已经脱离软件开发本身,是公司战略层面的内容,开发人员在具体的选拔和培训指标上可能有所不同,但思路上和运营,销售,客服等等都是一样的,这方面我还是不班门弄斧了。我经历过的做的最好的是百姓网,从校招开始到mentor机制到实践历练,自己也是在百姓网的两年获得飞速的成长。

上面的所有内容都是自己这些年对工作经历的一些总结。我知道从经验来说我在许多方面还是欠缺的,尤其是在人员管理上面。我个人的优势则是经历过的管理模式够多,可以理解不同管理模式的优缺点,不会生搬硬套,限于前公司固有套路的窠臼。在个人意愿上,我对这个工作非常在意。一方面是我自己的化学背景的专业出身,我的大学室友在重庆的药企做研发,一些同学在从事医药销售。另一方面也是自己的职业追求,个人认为软件开发的最终目的还是适应业务,创造工具,提高效率。如果贵公司的招聘期许,是能够找到一个可以使得快技术团队速扩张,一步到位,我想我是不合适的,也自认为没有这个能力;但如果是期望技术团队在保证效率与稳定性的基础上,适应业务逐渐成长,我想我的一些经历和想法能够提供帮助。

期待与公司和公司的技术部门共同成长。


One thought on “一点技术管理思考

发表回复

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

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据