首先自我介绍下自己履历: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建议我做的事情都做足,甚至超出期望。对自己感兴趣的事情坚持研究不放手解决眼前的问题同时不忘长远规划扛着压力也要做自己认为对的事情

欢迎关注我的微信公众号「码农突围」,分享Python、Java、大数据、机器学习、人工智能等技术,关注码农技术提升•职场突围•思维跃迁,20万+码农成长充电第一站,陪有梦想的你一起成长。

程序员如何才能跨过高级级别,譬如腾讯T3.1/阿里P7的更多相关文章

  1. Java程序员修炼之路

    作者简介:王成委,CSDN知识库特邀编辑,Java高级工程师,熟悉Java编程语言和Oracle数据库.专注于高并发架构设计和大数据存储方向的研究. 我们为什么选择Java 大多数人选择Java可能只 ...

  2. 阐述程序员如何实现IT职业定位

    [动力IT职业生涯规划课]阐述程序员如何实现IT职业定位 2016年9月16日下午17:00,南通动力IT教育创始人阙海忠先生,亲自向动力IT学员传授其十八年IT从业经验. 一个程序员的完美人生定位 ...

  3. 苹果公布WWDC2016时间 并做了个程序员情怀网页

    新浪手机讯 4月19日上午消息,苹果公司今日正式确定2016年全球开发者大会(WWDC)开幕时间:6月13-17日,并做了个非常有意思的代码风格页面. 网友戏称这个页面只有程序员们才能看懂,它的首页是 ...

  4. <转载> 优秀程序员必备的23条好习惯

    转自 优秀程序员必备的23条好习惯 编程是一项聪明人玩的游戏,它既是对智力的考验,也是对习惯的考验,智力的好坏取决于父母的基因,人们无从左右,但习惯的好坏却是可以不断培养.一项由美国芝加哥大学国家研究 ...

  5. 程序员最爱 Mac、JS 是最热门技术

    概况: 今年,有超过5万名开发者向我们分享了他们是谁,做什么工作,以及他们的成果.通过本文,你将看到有史以来最为全面的一次开发者情况调查的结果. 每8秒钟,就会有一位开发者在Stack Overflo ...

  6. IBM总架构师寇文东谈程序员的职业规划

    有些年轻的程序员向我咨询,将来的路该怎么走?俗话说,条条大路通罗马.不同的路都能走向成功,到底选择哪条路,取决于自己的兴趣.可能有程序员会问:如果还没有找到自己的兴趣怎么办?我的建议是多尝试,努力做, ...

  7. 程序员如何避免996、icu?欢迎来讨论一下。

    最近996icu火了,我以前就被996害了.现在还没缓过来,可能是自己体质比较弱吧. 以前的事就不说了,说说现在的想法吧.那么程序员如何才能避免996icu呢? 有两个基本因素: 1. 实现一个功能, ...

  8. 产品经理与程序员矛盾&相处

    产品运营 - 知乎https://www.zhihu.com/topic/19551958/hot 产品经理与程序员矛盾的本质是什么? - 知乎https://www.zhihu.com/questi ...

  9. 你好,我是梁桐铭,.NET程序员,啰嗦下过去几年来的感悟吧

    序 所有的文章都会有序言,我的当然也不例外. 因为职业和工作的关系,很少有时间陪伴家人,感谢妻子10年以来的容忍和支持,感谢女儿给我生活带来的乐趣. 希望孩子长大了之后能热爱编程(可以不用以它谋生). ...

随机推荐

  1. 浅谈Transformer 及Attention网络

    1 Transformer 模型结构处理自然语言序列的模型有 rnn, cnn(textcnn),但是现在介绍一种新的模型,transformer.与RNN不同的是,Transformer直接把一句话 ...

  2. 2019-6-23-win10-uwp-解决-SerialDevice.FromIdAsync-返回空

    title author date CreateTime categories win10 uwp 解决 SerialDevice.FromIdAsync 返回空 lindexi 2019-6-23 ...

  3. 解决 el-autocomplete 不显示及没数据时闪一下的问题

    项目中用到了elementUI中的远程搜索即 el-autocomplete 组件,估计首次使用的都会遇到一些小问题,只要你能认真看完并且耐心理解,保证能帮到你,效果图如下: 组件代码: <el ...

  4. multipart/form-data与application/octet-stream的区别、application/x-www-form-urlencoded

    情景再现: 上传文件到.net(wcf)后台时,总是上传不成功,后台要求Content-Type是application/octet-stream,我使用multipart/form-data方式,c ...

  5. JavaScript中的forEach

    语法:array.forEach(callbackfn[, thisArg]) 参数说明: array1   必需. 一个数组对象. callbackfn   必需. 一个接受最多三个参数的函数. 对 ...

  6. 让Word Add-in For MediaWiki支持Word 2013

    1.下载并安装Word Add-in For MediaWiki https://www.microsoft.com/en-us/download/details.aspx?id=12298 2.在“ ...

  7. DEVOPS技术实践_09:Jenkins多分支管道

    简介 多分支的管道是在jenkins2.x中新增的功能 . 多分支管道允许你针对分布式的控制器的每个分支创建一个管道. 下图是对它的一个描述.使用jenkinsfile去创建多分支的管道,jenkin ...

  8. 使用PAC file结合ATS控制访问

    介绍:前面已经介绍了ATS的安装和PAC文件的写法格式,现在把nginx端口转发,pac file访问控制和ATS代理结合起来分别控制不同的机器访问不同URL权限的目的 效果如下 一.使用nginx端 ...

  9. 初始Redis与简单使用

    初始Redis: redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(so ...

  10. Mysql库、表、记录的基本操作

    库的操作 ---> 类似于文件夹 - 增: 创建数据库: create database db1; 创建带字符集的数据库: create database db2 charset=utf8; - ...