T大博士的TPM之路 *

在大S上次发了推送之后,收到了大家对TPM这个职位的很多好奇!常常在大家眼中,TPM(技术项目经理)或者更广泛地说PM(项目经理),好像是对技术要求不那么高的工作,又好像是更适合女生的工作。今天,大S为大家邀请到清华大学毕业的博士生,Hulu的资深项目经理——Fei,来跟大家分享他的故事,希望也能够解决大家的一些困惑和疑问,这貌似也是我们第一次推男生的故事哟,也欢迎更多的小伙伴跟我们分享自己的故事。
选择
Fei 2015年从清华大学电子系博士毕业, 出人意料的选择了TPM(技术项目经理)这样一个职位。然而更出人意料的是身边并没有人表示反对,因为大家都不知道TPM是干啥的。
问到Fei为什么执着的选择了技术项目经理(TPM),而不是去做研究(Researcher)或者开发(Developer),Fei说当年(其实也就是三年前,说起来好像很老的样子...)的技术项目经理,要求是所有开发中编程最好的,日常除了编程之外,还要参与系统设计和产品设计等等各个方面。一起参加校招的童鞋们如果听说有人投了TPM,都会前来围观,然后感叹一声“这也敢投”。他博士期间在研究领域很有一套,但是个人却更喜欢跟人打交道而不是机器(大S此处疯狂点头中),希望自己在未来的工作中不仅仅是写代码,更希望自己能够参与到项目的每一个环节,跟踪每一个重要的决定是如何做的等等,也因此,他“义无反顾”地选择了“技术项目经理”这个职位。
当然这其中还有另一个机缘巧合。Fei当年来Hulu做Developer Intern的时候正好在冲刺博士毕业的最后几篇论文。当时的实习项目是开发一个全新的基于HTML5的流媒体播放器。Fei所在的团队一个月之内从无到有搭建起了完整的框架,等到三个月实习期结束的时候,新的播放器已经可以在一些平台上工作了。虽然当时Fei并不知道这就是敏捷开发,但如此高效的开发流程给他留下了极其深刻的印象。实习结束之后,Fei重新整理了手里的研究工作,大幅改进了每天的工作流程,后面的工作竟然出奇的顺利,效率之高让他自己也很惊讶。各位博士同学是不是很震惊和好奇,让我们来展开分享一下Fei的经验:
其实写论文跟平时开发很像,如果你按照标样本-写算法-测结果-写论文的顺序来做,效率一定很低。这就是典型的瀑布模型,早就被业界所抛弃。据Fei说他观察很多年年顶会的大牛,有一个特点是他们都同时在准备很多篇论文。不仅如此,他们做事的方法也非常值得借鉴:先用一个小样本集、跑成功一个普通的算法、得到一个一般的结果、写一篇论文草稿,然后再在上面不断迭代优化。每一次迭代优化都要有端到端的测试结果,这样才知道效果如何以及下一步该如何改进。这正好就是所谓的敏捷开发的思想啦!不要总想憋一年搞个大新闻,要一步步来~希望对各位博士大大有用!
日常
现在大S身边的技术项目经理,大多数已经不像Fei当年需要很好的写代码的功底,甚至已经不用写代码。但Fei现在也还在偶尔写写代码来保持对技术的熟悉度,但是更多的时间都用在搭好技术部门和产品/商务部门之间的桥梁,掌控整个项目的进展上面。
由于Hulu北京办公室主要负责技术,而产品/商务都在美国,频繁出差/早起开会便成了工作中必不可少的一部分。
早起跟美国的团队交流,下午也许再花一整个下午的时间好好研究相关问题,搞清楚所有细节,这就是Fei日常的一天。Fei现在工作的领域是大数据系统,他觉得跟数据打交道必须要对细节敏感,而且头脑清醒。很多时候数据出了问题,可能技术项目经理是整个公司唯一知道所有细节的人。比如关于用户转换率的问题,看似简单,其实涉及到很多系统,客户端、后台服务、付费系统、数据仓库、商业智能系统等等。为了找到数据不正确的根源,技术项目经理需要调查数据在每一步如何传递、存储,跟所有涉及的相关团队探讨最简洁高效的解决方案。最重要的是,还要确保这个方案能够完整的执行。
也许你会问,那么到底作为技术项目经理和作为开发经理(Dev Manager)的区别在哪里呢,Fei给我们的答案是技术项目经理需要能够跟包括产品、商业、法务等各种部门的人沟通,技术方面则只需要知道大概的技术方案,有多少模块,以及这些模块串起来能不能达成目的就可以了,而另一边,开发经理则需要设计整个系统、决定技术选型、以及了解每一步的技术细节等等。
在Fei过去几年的技术项目经理经验中,最令他有成就感的,就是前段时间完成的数据中心迁移项目,这样一个项目,需要将整个大数据系统完全关闭然后在另一个数据中心重启,涉及了公司各个方面,风险极高,堪称大数据系统的心脏移植手术。国内某著名公司还曾经因为迁移失败导致服务宕机。在整个过程中Fei需要协调数据中心、大数据团队、数据分析团队以及其它所有依赖于数据的团队。硬件什么时候能运到、软件系统什么时候测试完成、过程中存在什么风险、备选方案是什么、什么时候关闭系统影响最小、跨时区团队怎么协作。如果没有严谨的分析、冷静的判断、强大的抗压能力,以及与技术团队默契的配合,这次迁移不会如此成功!过程中也有过很多煎熬的时刻,巨大的不确定性导致做出的每一个决定都意味着多承担一份风险。哪些风险应该及时广而告之,让大家有所准备,哪些风险需要进一步评估,避免引起不必要的慌乱。经过这一次的锻炼,Fei的收获也不少,最重要的是学会了在正确的时间作出正确的决定,并且一旦决定就不后悔!迁移成功的当天,CEO、CFO和CTO相继给团队发来表扬信,此处玩笑说应该把这种邮件专门收藏起来哈哈哈!
其实,项目管理的经验也可以应用在生活的各个领域。在餐厅吃饭时,如果服务员有一大堆但仍然手忙脚乱,他们一定没有把这么多桌的订单管理好。出去旅行时遇到突发情况导致整个计划被打乱,往往在做计划的时候可以做得更完善。当然,工作是工作,生活是生活。生活中可以随心所欲,工作上还是得严谨认真。
建议
故事的最后,大S邀请Fei给大家提一些建议。作为博士毕业生的Fei说,虽然他工作的晚,但他相信这是一份独特的经历,以后也说不定会有独特的机会。而在毕业后先做一段技术,打好基础,也同样可以给未来的技术项目经理的发展提供更多的机会哟,所以即使你现在在做开发,如果你不满足于仅仅写代码,也关心项目怎么推进、团队怎么协作,也可以来做技术项目经理哟。
希望大家能够遵从自己的内心,根据自己的喜好因为喜欢来选择,而不是因为不喜欢另一个而选择这一个,因为实际上选择可能不仅只有两个哟,不要约束了自己。比如不是因为不喜欢写代码而做项目/产品经理,而是因为喜欢项目/产品经理而做,也因此多实习多体验不同公司的文化就显得格外重要啦!对于女生来说,做项目经理有天生的优势。女生往往更擅长跟人沟通,拉近与别人的距离,这样也能得到更多有用的信息。但有时候也会遭遇一些委屈,需要有强大的内心才可以。特别是当项目进行到瓶颈的时候,需要技术项目经理成为中流砥柱,帮助技术团队迈过眼前的坎。
* 2017年11月10日发布于微信公众号程序媛的日常。