程序员如何才能跨过高级级别,譬如腾讯T3.1/阿里P7

来自:何俊林(微信号:DriodDeveloper),作者:黄之昊

首先自我介绍下自己履历:5年前过了腾讯的T3.2,最近又在1年多前过了阿里的P8,目前在B站。

腾讯

在腾讯我是T2.1社招一般水平入职的,3年后到了T3.2。中间是经历过几个转变:刚来的半年到1年,觉得自己能力比身边的同事要差太多了,所以恶补基础。在以前的分享里也提到过,我把所有的掌机、笔记本都留在了老家,在深圳住在一个只有电灯和烧水壶两件电器的农民房里,每天下班3壶开水洗澡、泡脚,晚上就是看书,白天结合业务做实践,1年后自觉达到了团队的平均水平。当时觉得自己只是赶上了大家,还是没信心提名晋升的。我的leader一直鼓励我只要达到标准就提名,不要担心不通过,那怕面试后被打回也是一种锻炼,所以从那往后我是每年都报名参加晋升的(当然前提是绩效符合提名要求)在这一年中除了自己的埋头读书外,leader对我的提点起到了重要的作用。我的工作当时是大家不太愿意做的活动页面开发,技术含量低,工作量大,leader建议我想办法解决这当中的问题,而不是解决一个又一个页面的开发量

当时前端和构建是两个岗位,页面构建好到活动上线,前端其实主要的工作就是ajax拉数据回来渲染,再加上几个常用的组件就好了。所以当时我做了一个模板解析的库,构建的同学只需要在html中加入自定义标签我就替换成组件的真正的html并加上事件绑定,在标签中加自定义属性,就渲染特定接口中的数据字段。后来经过几个版本的优化,又陆续支持了条件语法和循环,在有限的条件中能够做到前端无需介入就能由构建的同学完成整个页面上线的工作了。(后来团队又做了更好的解决方案,构建也不需要参与了)

这个事情本身的技术含量并不高,但是从这个事情开始让我对待工作中问题的思维方式发生了改变,学会去寻找更好的解决方案,对我日后的工作帮助很大。后来在BU的方向发生了一些变化后,多了很多尝试性的新业务,我算是主动申请参加新业务的第一批人。毕竟从零开始搭建新项目比在老项目中修修补补要舒服,但同样的也会遇到一些别人没遇到过的问题。当时腾讯尝试性业务的新团队加上产品、运营一般人不超过10个,所以我和另1个后端的同学就是这个新产品的全部开发了,很多的问题都需要自己想办法解决,不光是技术问题,产品问题也是一样,所谓的有角色没有岗位的工作理念在那个时候就建立起来了。当时经常能够看到的场景:小需求产品经理在我边上讲,我一边做,他说完我也差不多开发完了。大的需求,他一边讲我一边画线框图,他讲完我们能够充分了解对方的意思,在执行的时候就不需要来回的沟通。信任建立之后,一些功能点的决策我都可以自己拿主意,开发的就更快了

由于高度的自治,让我可以不背主站包袱的情况下做大量技术上的尝试,采用不同的策略去优化性能,玩得不亦乐乎,产品的体验和性能都超出了当时的主站。作为可以培养的苗子leader建议我多做分享,后面2年平均下来1年大概有6-7场认真准备的分享,也作为分享的组织者带动大家分享,经过这样的锻炼我在知识的总结提炼,形成自己工作的方法论方面都有了成长,面对几十人的场子不会怯场,也顺利的通过了面试成为当时电商团队除了我leader以外前端的第一个T3.1,下一年团队在3.1的通过率也有了很大的提升。

当时的3.1真的卡住了很多人,也比较稀罕,通过后的下一年就作为前端晋升通道评委,可以参与到其他bu的晋升面试当中了。此时我的leader又让我报名参加公司的《海量服务之道》的培训,这又让我对问题的理解再上了一个台阶,有了基于发展看问题的角度。加上作为通道评委的经历,我能看到同一个问题在不同的业务场景下有多个优秀的解决方案,这大大提升了我的眼界。

有一句话在那个时候深深的影响了我直到现在,“为什么淘宝、京东这样做我们就要学?他们没能做到的我们就不尝试?”所以在QQ网购从零开始建设的过程中,我们就把这些别人没做到的能力作为自己必须突破的对象,京东做不到异地多价,我们做到了,还做了了供应商优选后的异地多仓多价。统一商品模型,让每个品类都可以由不同的供应商对接,但提供一致的产品体验,顺带的也完成了易迅网的重构。整个技术团队当时就是这种挑战的心态,精气神都达到了一种高度,无论什么技术难题只要是合理的用户需求,我们都不会拒绝,而是回到团队里折腾方案,慢慢的越来越多问题被解决。当时最大的挑战是在大促前,我们日均pv不足千万,还有2个月大促了,老板说会用tips导流预计能有过亿流量,技术上要求按5亿pv/d来准备。机器是可以加的,但是加在那最合理?不可能每套系统都按20倍的扩容,所以带着团队和后端一起处理全站的流量模型,细到每个接口每一个服务。后端扩容的同时,前端也着手设计各种跨页面缓存、预加载策略、优雅降级开关……,最后顺利扛过了大促,做到大促期间的性能表现比平常还好。(5亿的量自然是没到的)在这一年里我的业余研究也没有放下,做了用户行为的微观分析系统,可以给用研的同事回放定向用户的行为回放,算是破格的在3.1的一年后立刻成为了3.2 。

阿里

来到阿里B2B事业部,我从面向c类用户的前端变成了面向b类的用户的前端,团队规模也比之前大了不少,有过一段适应期。跑通一个业务的全流程就需要7-10个测试账号,有时候还的多个账号间联动。有些用户一整天的工作就是对着我们写的表单,这些场景和c类用户闲逛的体验是完全不一样的。一方面带着团队做业务重构,另外一方面发现在数据分析这方面当时B2B跟腾讯比落后太多了,就利用自己业余时间给数据平台的部门做新的数据可视化平台,顺带也夹杂了一些自己在这方面经验和理解,这个平台几经转手演进成现在的A+。当时数据平台的负责人一直劝我干脆到数据平台算了,研究方向上有更大的发挥空间,我的答复是一个懂数据的前端留在业务中,更能体现数据平台的价值。数据可视化平台做出来固然不易,但更难得是有懂它的人用好它,用出价值来。

那一年里业务方向也有了一些变化,反复修改的需求挺多的大家的成就感低,而营销活动页的量也比较多谁都不愿意做。所以在支持了业务正常迭代之外还给团队腾出了一点点时间做了一个psd2html的技术产品,算是保留了技术研究的一条根。第二年完成了老代码的翻修后,研发效率提高了一些之后,我们又对这个产品做了2次升级,虽说产品本身没火,但锻炼出了战斗力为后续做了一些铺垫。又利用业余时间跨团队跨部门的做了everlog这个基于全埋点的数据产品服务于业务。还帮助团队中的同学把之前在内部创新大赛中的webRtc视频项目推向了集团做视频面试,后还被浙江省法院采用做成了在线庭审系统。

实际上业务投入和这些技术项目的投入是9:1,着重讲技术研发这边的内容是我认为,为公司锻炼出一支有研发能力的团队是有长远价值的,业务任务再重技术研发不能停。当中也扛了一些非议,例如被其他团队的leader说我们团队这么忙,之昊的团队还有时间做这些项目。幸得老板开明,没有因此就干预我的团队,而我和团队也更警惕,业务需求一定要保质保量按时完成,免得落人口实。

两年过去我入职时对团队的承诺:帮助大家晋升了我才晋升,也在经历了这一切之后兑现了,那年到p7的2人,到6的3人,而我自己对业务的理解和管理经验方面都有了较大的提升,最终磕磕碰碰的到了8

总结经验:

我只是在每一个阶段都把leader建议我做的事情都做足,甚至超出期望。对自己感兴趣的事情坚持研究不放手解决眼前的问题同时不忘长远规划扛着压力也要做自己认为对的事情

推荐↓↓↓
程序员的那点事
上一篇:大龄程序员失业后,看他们是如何破局突围的? 下一篇:这八条职场建议虽不能让你升职加薪,但至少让你少走很多弯路