Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

互联网技术人在快速发展团队的独当一面之道——Shopee半年记 #33

Open
lcxfs1991 opened this issue Oct 28, 2019 · 5 comments

Comments

@lcxfs1991
Copy link
Owner

一毕业,我就进入鹅厂。在鹅厂经历了最顶峰的日子,也见证了鹅厂发展变慢,寻求变革。在这里有很多光环,大厂,技术牛,工资好。在外面参加各种场合的活动,作为小兵的我也时常被人捧上天。工作第3年的时候,我就开始陷入沉思。究竟这些光环,这些牛B,是鹅厂带给我的,还是我自己实实在在挣来的呢?如果我哪天离开了这里,没有这个大厂的光环,我的技术还能那么牛吗?我推动的事情还能这么顺利吗?招人还那么容易吗?

我是危机感比较强的人,希望可以挑战一下自己,跟随着一个快速发展的团队,不断打磨自己作为一个软件研发人员的工程能力和生存能力。正好19年5月份碰巧拿到一家腾讯系公司 Shopee 的 offer,有机会可以带团队。Shopee的规模没有鹅厂这么大,虽然全球也有几千人,但在深圳刚加入的时候只有几百人,但发展很迅猛,机会和挑战并存。总括来说,Shopee就是规模相对较小,但发展相当迅猛的公司,非常适合现阶段的自己,于是便希望去尝试挑战一下。

等别人喂还是喂别人?

在大厂里,一切的流程,工具,系统,都已经有前人搭建好,你只需要做一口听话的螺丝钉,安心执行,等被人喂即可。但在小一点的平台,各方面都未完善,并没有人告诉你该怎么做,需要自己一步一个脚印把路给踩出来。

记得刚到 Shopee 的时候,需要将业务发布到CDN上。但当时一问之下,由于金融业务需要有特殊的合规要求,一直没有将业务发布到已有的CDN服务供应商上,而只能将业务发布到公司自己搭建的IDC上,成本比较高。在这个问题上,似乎并没有人可以帮到我,我只有选择作为喂别人的人,将这整个合规的流程给打通。搜索资料,拿出理据,说服老板,这三步很重要。

首先要搜索到市面上主要的CDN厂商的功能、性能以及合规的信息,然后在公司内网,想尽办法了解公司当前以及未来规划的架构策略,无意中发意其中一家符合要求的服务商,有一些海外的业务在试用了,我便把这些信息进行汇总后,誊写一份邮件,争取到老板的支持,把整个流程打通,为后续业务的顺利上线和更多业务接入降低成本铺好路。其实上面提到的这三步,在大公司里也适用,我们开展一个项目,达成一个目标,也需要拿出说服人的理据,来说服老板和同侪的支持。但由于大公司一切都很完善,很容易会养成惯性,自己翘起双手,什么也不管,虽然会慢点,但最后也会有人解决好前面的路障,让你可以坐享其成。但小平台不一样,可能有生存的压力,有盈利的压力,有发布新产品的压力,这个问题不解决,你们团队就可能面临丢饭碗的困境,因此选择喂饱你的战友,你的项目,养成这种意识,才能在不同环境之下都可以生存。

如果合作能解决的问题不要自己单打独斗*

大平台经得起内部赛马,但小平台经不起过多的折腾。以前在鹅厂经常听老板说ROI,也就是所谓的投入产出比。但你会看到其实一起合力更实力,但旧东家还是很喜欢搞赛马——外部投了虎牙和斗鱼,内部一样还有企鹅电竞和NOW直播。大厂钱多人多,经得起消耗,但小一点的平台则不然,合力往往是解决问题的最好方式。

开发几个月后,业务就即将上线了,但对业务的监控还是没有很好的方案。这是每一个项目的技术带头人,都需要的决策,是自己搭一个,还是用别人的?经过询问之后,部门内部是有一套已经在用的Sentry,当时就答应下来,要马上接入。还有一套简单的性能上报平台,但功能还不是太完善,并且正在规划下一个版本的设计,接口可能完全不兼容,看起来不太符合当时的接入条件。在做产品上报的时候,我发现公司的数据平台,其实可以一定程度上充当这个上报的角色,经过简单的开发支持后,不仅可以将性能数据上报,经过打探,还可以做一些实时数据上报的事情。

于是我便决定下来,将我的需求整理成文档,然后花了两三周的时候,耐心地解释这个事情对业务的重要性(能让业务通过不断优化,提升性能,给用户更好地体验;有实时监控PV也可以大体监测业务是否掉量),以及对于数据平台的价值(除了上报产品数据外,还可以兼顾技术的数据,减少内部竞争者)。最终通过寻找共赢点,成功游说到数据平台对我们进行支持。这次的合作,看起来我只是一个推动者,但整个合作是由我发起,流程由我推动打通,看似是数据平台的能力在喂我,但其实是我跟数据平台打通了流程和开拓了能力和服务场景后,一起去喂其他的业务,也是对上一节讲解的呼应。

能力一专多长更适应业务的快速多元发展

大平台钱多人多,最喜欢就是某一个领域专精的工程师,所以对某一方面非常专业,即可在大公司混上口饭上。但这样会导致知识面较窄,丧失广泛深习的能力。万一自己熟悉的技术落伍了,公司业绩不好,很容易被淘汰。比如目前鹅厂有些部门,前端再进行细分,就是将HTML和CSS单独列为重构。这样确实可以让重构的工程师专注于做体验,他们往往比同时写JS,HTML和CSS写的页面效果更好更精细。

但对于发展迅猛的业务来说,花60%的精力做到80分,可能比花90%的精力做到90分更符合ROI。并且业务多元快速发展,但人手不够,技术储备不够,便可能要求员工在切换业务的时候,也需要快速适应另一个技术栈,因此一专多长在小一点的平台里,显得难能可贵。可能并不是所有小厂都是这样要求的,但我对组内的兄弟的培养,都是这样的要求。譬如你可能写 React Native 是大神中的大神,但 React Native 需要挥快速更新的优势和分包,就需要研发一个热更新的服务,那对Node.js也需要有一些的了解,才可以研发出热更新的服务,而研发热更新的服务,就需要了解CDN技术,K8S技术,才可以将Node.js服务部署好,将React Native的Bundle存放好。在大厂里,这个流程每一小块都可以由一个人自己承担,但在我的项目组,只是由2个兄弟独力承担。他们虽然辛苦,但成长的速度远远要比在大厂快,并且由于将自己培养成一专多长的人才,经过一段时间的磨练,相信每个人都能初步具备当技术leader所需要的技术深度和广度。

小结

来Shopee半年了,以上是我总结出来比较一些不成熟的经验,有了这些经验,在小厂生存下来不成问题,亦能跟业务一起成长,在大厂也能独当一面。是的,现在团队缺人,如果想尝试挑战自己,让自己更加独当一面,更具备国际化的视野,这里非常适合你。华人的企业跟真正站在国际的舞台,东南亚是一定要拿下的一个战场。在Shopee能够让你获得具备在国际舞台上跟欧美巨头一战的机会。即使你未必跟Shopee一起战到最后,但在这里收获的经验,一定能让你的职场路走得更远。

如果有兴趣加入我们Shopee金融前端团队,可以将简历发送至 [email protected]

职位介绍

工作地址:深圳

岗位职责:

1、参与面向东南亚等地区的支付、信贷等金融产品的前端开发和交互实现,以及相关管理系统的实现;

2、负责对产品功能和性能不断优化,持续提升用户体验;

3、完善效率工具建设,提升研发效能;探索前沿技术,选择合适的新技术并运用到实际项目中。

岗位要求:

1、大学本科及以上学历,2年以上前端开发经验;

2、精通前端基础技能,熟练掌握ES Next、HTML5、CSS3新特性;

3、深入理解浏览器工作原理,熟悉各种性能优化手段;

4、熟悉主流MVVM框架和类库,了解业界最佳实践;熟悉React Native等新型混合应用框架并有实际使用经验者优先;

5、具备良好的编程能力,对常见算法有一定的了解;

6、熟悉服务端技术和至少一门后台语言, 有大型 Node.js项目开发经验者优先;

7、对PWA/WebAssembly/跨端统一方案等新技术有强烈兴趣并且有一定理解者优先。

Shopee的生活

BG定期的新人培训
[BG定期的新人培训]

工位很大
[工位很大,横着竖着都能放下一张午休床]

初次跟team member聚餐
[初次跟team member聚餐,被上来的盆栽惊呆了]

team member自发地在讨论问题
[team member自发地在讨论问题]

@BuptStEve
Copy link

大佬离开鹅厂啦...
最后一张图里的拖鞋瞩目...

@lcxfs1991
Copy link
Owner Author

第一张也有拖鞋。

@HXWfromDJTU
Copy link

八卦一下 shopee 多少产品入坑 RN 了...? 不考虑试试 flutter

@lcxfs1991
Copy link
Owner Author

flutter 不支持热更新 @HXWfromDJTU

@regiondavid
Copy link

图片挂了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants