请选择行业
请选择职位
请选择省份
请选择城市

从陌陌到阿里的三年总结:创业公司、中小公司和大厂经历

时间: 2020-03-24 16:14   作者:    点击次数: 
 

前记

回想三年前办完手续离校那天,怀着感恩拖着箱子离开魏公村的母校,对未来工作满怀憧憬,希望能为社会做点什么,能对爱自己和自己爱的人更好。不知觉三年过去,三年时间虽然说不上很长,但也有一些点滴想记录下来,希望若干年后再回过头来看能有不同的感悟。

工作经历

第一段——社交公司

1、offer选择

毕业后第一份工作是北京陌陌科技,这第一份工作背后发生很多并不轻松的故事,当时本意是参加thoughtworks校招,后来女友发现还有陌陌校招,强烈拉着我去投简历,没想到最后选择的就是第一个来自陌陌的offer,拒掉了当时导师强烈推荐选择的IBM和中科院信工所等公司。

当时选择offer选择挣扎很久,因为IBM曾是自己一直向往的外企,除了解决北京户口还有不错的待遇,中科院因为是体制内,所以没考虑太多,最后还是选择去互联网的陌陌,原因很简单,当时硕士学习的大数据方向,总结了不少知识性内容,通过学习发现这个方向发展潜力更大,虽然公司相对逊色,综合下来最终选择的是方向。

2、工作

在陌陌工作的二年多很愉快,周围同事都非常友好,公司氛围也人性化。当时在大数据部基础架构组负责Spark方向,因为师兄在我入职前就离职,所以进来后大多数时候都是自己摸索。

两年来经历从300多台服务器发展到近2000台,把公司的Spark从1.5的stan dalone升级到2.0.X的yarn,再到后来升级到稳定2.3.X,这过程中把之前的分析工具从HUE迁移到Zeppelin,使用Spark SQL作为Zeppelin引擎替代使用MR引擎的Hue,其中利用hive实现Spark没有的鉴权机制,因为Spark引擎的推广让adhoc查询性能提升3-10倍,这过程完全是自己一个人从0到1的推动,虽然过程有各种奇怪问题,但都逐渐解决,如今想起来挺感谢当时主管肖哥信任,让一个应届毕业生有机会承担这么多工作。

这两年来渐渐积累大量Spark相关经验,基本上一个人支持了整个公司使用Spark技术,包括SQL、流计算和机器学习(主要还是SQL,其他两个方向精力有限没能投入太多)。另外负责通过Zeppelin提供查询分析服务,使用Dr.elephant提供作业质量检测能力。中间还尝试用Spark SQL替代Hive来做ETL,但受限于历史原因没有得到足够支持,还曾想过做流计算平台、机器学习平台等,但当时受限于spark本身的工作,一直抽不出精力,这些想法后来也没成行,但后来仓库团队做了类似Dataworks的平台,基本满足这些功能需求。

在加速方面,后来因为调研到Alluxio,便联想到用Alluxio分布式内存文件系统来给Spark加速,时任总监的肖哥也支持,直接划一笔巨额预算用于增加内存,于是我和另一个负责存储同学合作搭建了500+节点的分布式内存文件系统(提供30T+内存容量),再和alluxio PMC Bin沟通,这在当时应该是中国最大的Alluxio集群,用Alluxio 给Spark SQL adhoc分析加速,实现了3到5倍提速,通过这个工作让自己顿时更有参与开源社区的满足感。

虽然在公司没有师兄在技术方向上的带领,但不得不感谢开源社区让自己学习很多,自己也给Spark、Alluxio和Dr.Elephant做过一些代码贡献,还亲眼见证坐我旁边的小伙伴升为Hbase Committer。至此,陌陌给我职业生涯上的第一课结束了,这一课让自己从校园小白过度到能解决问题的职场人,离开的时候心里是不舍的。

3、接下来

看过这篇文章的同学也许会问楼主离开陌陌后去哪了,其实有段不长的经历在一家社交创业公司——上海任意门科技,其产品就是95后年轻人可能用过的Soul App。

来Soul后算北京分公司前三号员工,因为业务从0到1开始启动,招人工作也随之展开,这也是自己第一次开始接触招人面试和管理工作。因为公司业务在细分领域的出众表现加上待遇不错,幸运的迎来一批水平很不错的实习生,我和另一个小伙伴带着团队开发第一版feed流推荐系统,这一套系统的实时特征计算、数据召回和模型训练都采用自己擅长的Spark技术,过程中曾遇到模型预测性能、召回数据多样性、特征计算效率和docker部署等问题,经过一些调研后将问题各个击破,在2个月内实现基于XGboost和实时特征的千人千面feed流推荐系统。另外通A/B test来测试召回源,在DAU 200w的情况下第一版上线就达到30%-50%的点击率提升。

这段时间基本都晚上1点后睡觉,周末都在干活,虽然工作时间很长,但心里却很充实,这种感觉跟在陌陌不一样,自己owner心态更强,希望通过技术改善用户使用体验,从而提高日活、月活等指标。在这里遇到了很多不错的小伙伴,HR和老板们人都很nice。

工作到第三个月,同样是经过艰难的选择,内心经历各种不舍最后选择离开,去了开始面试的公司之一——阿里。

第二段——电商公司

不得不说换工作的成本很大,不论是时间成本还是情感成本。生活总是不经意的在变,可我们要随时拥抱变化。

怀着提高格局、学习最新数据技术和增加技术深度宽度的理想,我来到阿里。

之前一直对阿里有莫名的情感,记得当时读初中的时候通过电视节目《赢在中国》知道了主持人王利芬和马云、牛根生、熊晓鸽和史玉柱这些在今天仍然活跃在商界的名字,那个时候意识里淘宝这两个字还远不如当时的蒙牛、热血传奇和脑白金声名显赫,而时间证明阿里才是最大的赢家。可能是这个节目的影响,至今自己对创业都有一种敬仰之心。

来到阿里,第一个印象深刻的就是阿里无处不在的宣传语和内网随处可见的高管组织理念不知觉中渗透到个人的思维当中。百阿就是文化影响力的第一课,通过比工作还累的脱产10天学习,让一帮年龄背景差异非常大的陌生人成为无话不谈的挚友,让每一个刚入职的人学习到阿里的文化内核,不得不感叹课程设计者和文化的力量。这些在内部称为阿里老话的内容很大程度的确是一盏明灯,让很多在工作职场中陷入困惑的同学找到曙光。

在这里我主要工作是数据方面的OLAP引擎,致力于提升数据变现能力,通过引入新技术来优化DMP广告圈人和投放效率。因为BU偏业务,所以工作也大多聚焦在基于引擎上层的优化来承接更多业务。这份工作相对之前做Spark最大的区别是响应时间,之前Spark业务主要用于Adhoc查询,大多数请求是秒级到分钟级;在这边做OLAP面对的大多是在线业务查询,时间要求毫秒到秒级,挑战是更大规模数据下的性能和并发度。

在阿里工作不到一年,最大的收获并不是技术本身而是技术之外,下面会分析。

感悟

关于工作选择:
当初没选外企IBM来到陌陌,从三年后的现在看来对当时的自己是正确选择,当然有个小前提是个人没有户口需求。

下面总结工作选择考虑的点:

1、方向 > 努力 (坐飞机再怎么不会比火车慢)

方向可以理解成在公司内部的机会,如果是重点发展、从0到1和重构的方向一般是不错机会,机会就是风口,可加速个人成长。
方向也是技能方向,大数据也分为基础架构开发和业务应用开发,要选择适合自己的。
方向无好坏,任何方向达到资深专家程度,都极具不可替代性。

2、技能的获得 > 公司背景 (中小公司核心部门核心工作比大公司边缘部门好)

先看技术通用程度。因为从事大数据方向工作,相对IBM自家一套技术体系有更多的选择前景,这个从陌陌出来求职中可以看出,很多公司因为都使用开源技术,岗位需求更大。

再看技术发展成熟程度。大数据技术发展时间较短,处于技术发展上升期,有更多技术红利,身边就有同学同事从事开源贡献从contributer成长到committer,当然公司内可以做更多相关系统研发来得到很大成长,这相对于成熟领域是机会难得的。

在技能得到很好成长之后,如果愿意再选择跳到大公司也是水到渠成。

3、领导和团队 > 待遇(并不是说待遇不重要,但伯乐难寻,但若有一个好的伯乐带路,长远发展的待遇不会差)

近朱者赤,好的团队领导往往可以广纳人才,给团队成员带来更好的发展机会。


不同公司技术工作特点


因为刚好在这三年里经历过几十人规模的创业公司、数千人的中小企业和数万人的大厂,在工作中发现不同阶段公司业务特点和技能要求的不同。

1、创业公司

①业务特点

公司一般是C轮之前,一张白纸,所有都是从0开始规划,很多创业公司一开始就技术上云,直接使用云厂商成熟的数据库和微服务来构建应用;在大数据方面直接购买开箱即用的集群服务,省去很多服务搭建、维护很优化的基础工作。

创业阶段业务相对单一,主要是各方向产品需求快速落地,探索有效可行的商业方向,因为此时的业务量通常不会很大,所以对技术实现的要求相对并不高。这个阶段的业务会有大量探索。

当时soul在推荐和反作弊基本是零,每天都是靠大量人工审查解决不良信息问题;大数据方面的数据ETL这块也是零,所以工作上选择重要且紧急的从零开始快速迭代弥补空白。技术人员有很多机会从头到尾cover一个项目。

②技能要求

这个阶段技术主要是快速落地业务。创业公司因为本身业务量有限,加上业务大多从零开始,用常规实现方案就可以解决绝大多数业务问题,对技术人员的技术广度需求更多,技术复杂度方面则随着业务量不断扩大而提升。大部分工作偏向于技术应用和业务系统,基本不会投入精力做技术平台化、产品化和造基础轮子工作,这方面相对会依赖阿里云,但阿里云一旦出问题则无从下手。

2、中小公司

①业务特点

公司一般已经在D轮之后甚至已经上市,中小公司已经在业务方面探索出稳定可靠的商业路径,融资已经比较顺畅,在业务方面是进一步扩大探索可行的道路,业务的迅速扩大让技术逐渐面临瓶颈,这个阶段一般会带来大量技术升级迭代需求。

当时陌陌科技在2014年底上市,此时资金已不是瓶颈,公司人员从上市前200多人迅速扩大到2016年的1000多人,进入业务快速探索扩张道路,且正好遇上直播风口,主攻直播业务线,盈利同比达到30%到100%+的高增长,股价从15年底的15块多涨到18年最多54块块。

②技能要求

这个阶段公司逐步开始技术平台化工作,成本和效率成为技术发展考虑方向,让基础技术平台化来提高业务应用开发效率。这个阶段一般会造一些公司内部适用的轮子,如微服务平台、监控平台,另外还会基于开源产品进行二次开发,一般不会造基础轮子。

当时陌陌用户月活达到亿级,业务上已经是比较高的量级,在线基础架构技术如微服务平台、各种数据库中间件平台和监控平台等基础技术已经逐步成熟并向整个公司提供技术服务;离线大数据基础架构也不断扩展升级,服务器从15年的300台迅速发展到2018年的多机房2000台规模,这中间为应对业务挑战在技术方面做了多次大的架构升级优化。

3、BAT一类大厂

①业务特点

经过20年左右的飞跃式发展,大厂业务广泛遍及生活方方面面,且围绕各自主营业务衍生出一系列业务场景,如腾讯围绕通讯连接做社交生态、百度围绕AI做技术生态和阿里围绕电商做商业生态。

大厂业务之间通常每个赛道都有或多或少竞争,各自通过依赖核心业务的收入保障,业务方面既有新业务也有老业务,通过核心业务的营收来支撑投入新的场景,希望新场景成为新增长引擎。

②技能要求

这个时候各类技术已经非常成熟,尤其是基础工程技术如云平台、中间件、数据库和AI平台,对技术的要求更广泛和深入,因为业务已经形成规模,技术的升级和更新会带来巨大效益,这里会有从做底层数据库轮子到上层各类业务系统的需求,有研究AI算法甚至量子计算机的需求布局。

这里海纳百川不缺人,每一个技术人在这里有更高天花板,有能力的同学会有更大施展空间。

当然因为技术成熟和团队数量多,业务和技术就存在大厂特色赛马机制,要承担一项业务必须要有足够突出的技术点来支撑,而且技术能力要有壁垒,不然其他团队也可以做同样的事情,甚至做的更好来把你替代。

以个人经历来看,在各方面技术已经非常成熟的情况下,大厂工作对技术人各方面挑战更大,因为这里要做的是“找事情”,如抽象业务场景特点、思考技术发展路径、技术如何跟现有技术有足够差异化、技术推动如何跟其他技术上下游联动、技术如何形成壁垒不被轻易超越、技术如何更好支撑不同业务场景等,说白了就是在一堆已经很优秀支撑业务的技术产品里面找到一条裂缝,这个裂缝就是业务痛点,就是用技术可以去发力差异化打造的地方。

这个过程会比在中小公司有明确发展路径的场景下更有挑战,对能力的要求已经超越了技术本身,泛化到业务抽象能力、技术选型能力和沟通合作能力。


总结


回顾这三年,刚开始工作的时候发现一个点解决一个点,更多是锻炼发现问题解决问题能力,虽然的确沉淀了不少技术经验,但自己还不明白工作是分轻重缓急,业务sense不足,有时候是自己技术YY,并没想这样做是不是重要且紧急(或者说ROI),有时工作计划被主管否了还会不理解。

然后到创业公司时从0到1搭建系统架构,慢慢跳脱出来思考整体架构前后设计和工程管理问题,但当时也没有带团队经验(带了9个人),很多时候把方案设计好交给其他同学做并一直follow进度,虽然最后按时交付系统,但这样不仅自己累,其他同学提升也不一定大。

再到现在的工作主动培养业务sense,了解业务需求背景进而去思考如何让技术更体系化承接业务,解决业务痛点。

通过工作点滴,让思维逐渐朝点、线、体拓展,提升自己思考问题的维度和解决问题方法论的能力,从更通用层面来发现和解决问题本质。

记得三年前立了个flag,就是让社会进步来源于自己的一份力量,现在看来离这一目标仍需努力,目标是将来能承担更大的责任,为结果负责,有能力对爱自己和自己爱的人更好。

打印本页 | 加入收藏

上一篇:【51讲堂】突破疫情壁垒,面试全方位指南    

关闭  
主要城市: 北京 上海 杭州 广州 南京 武汉 长沙
全部城市: