在蚂蚁前端的二三事

601 阅读7分钟

前言

首先介绍个人背景,我是从杭州一个创业公司的产品前端TL再到现在蚂蚁的“螺丝钉”,所以我很能理解现在现在还小公司的人的一种焦虑不安的感觉,我也是经历这种状态然后一步步走过来的。如今也在蚂蚁待了一年多时间,刚好把这段时间的经历感受总结一下,当作未来的一种参考。

先说下开发技术栈,之前主要先开发h5和pc(比例大约37开),在h5端是jquery,pc端是vue全家桶 + webpack配置定制  + nodejs(koa框架)

现在主要开发花呗的h5和小程序,用的是小程序技术 + react + 通用基础工具。还有的中后台项目,用的react + nodejs + mysql

1.蚂蚁123

相比小公司的刀耕火种的原生态,大厂会包含丰富的基础设施,在来之前我也是做好充分的心里准备,但在我深入体验之后,这些基础设施的强大,丰富以及缺点还是超出我的想象。

技术框架/工具

像h5移动端,在内部开发的时候基本不用考虑移动端适配的问题,基于通用的开发脚手架(umijs)就行。写react也不用自己去决策到底用什么状态管理,基本都有封装好的库。

比如像小程序,除了常规的opendocs.alipay.com/mini/framew…,内部还会再出很多框架工具,去解决小程序本身的开发的痛点,虽然也会带入新问题。
大体整个开发过程如果自己不去深入思考的话就按部就班就可以完成一个需求,基本不需要脑子思考。但是经不起推敲,面对这些技术工具如果深入多问几个为什么,就发现这些工具还是有很多不完善的地方,但如果没有时间去完善和优化,就得一直忍受这些工具不足。

研发流程

我之前的流程是:需求评审 -> UI视觉稿评审 -> 开发联调 -> 测试 -> 上线

现在一个需求需要经历:需求评审 -> 交互流程评审 -> UI视觉稿评审 -> 前后端系统变更改动评审 -> 开发联调 -> 测试 -> 发布计划评审 -> 灰度 -> 全量发布。(有变更的话,中间再插入需求变更评审)

由于大厂的人员配置完善,每个环节都必不可少,而且由于对线上环境的稳定和安全的保障,我们的发布也必须经历一场严谨的发布过程。

安全稳定体系

像支付宝这种级别的用户体量,任何一点异常,即使只有千分之一也是没法忍受的。这种高压的要求对于我们前端来说,在开发过程中,必须时刻关注在细节,同时也要考虑各种边界case,并在可能出问题的地方配置好监控。

像“需求只做到90%,线上出问题”再改的思维习惯是绝对不行的。因为用户体量和上面的高要求,在开发过程就把必须思考全面,能覆盖99%,1%的遗留问题也必须有充分的准备来应对,这点也是充分锻炼开发思维的严谨性,但容易陷入抓鸡毛细节的陷阱。

天花板和成长性

毋庸置疑,大厂职级够多,在升到p8/p9之前基本不用考虑职业天花板的问题,虽然过程很艰难,但至少有个盼头和目标。天花板足够高的情况下,技术和赚钱的成长性也不用担心。

其次是技术场景和业务场景足够丰富,在hold住的情况下很多技术都可以快速验证和收获。

在小厂或创业公司,有一个很大的问题是,虽然很多人在创业公司是早期的元老,但是公司在创业膨胀和成长的过程中,你的未来回报并不是挂钩的。尤其是技术,在早期的时候被高度重视,但当公司长大了,大部分技术人是很难享受到公司成长的红利,反而是后来加入的运营/销售/管理等角色变成了这些胜利果实的享有者。
而且在技术测,前端容易处在鄙视链的底层,相比其他技术角色也会更难获得这些成长的红利,

361和995和低效

这3个点是相辅相成,361的kpi压力倒逼开发搞技术搞项目,造成开发995(没有6),虽然最终买单的就是公司的整个业务流程,但最后损害的还是我们开发人员的时间和健康。

35岁问题

这是一个老生常谈的问题了,不管在哪都会遇到。但是对样的来说,大厂的35岁和小公司的35岁是不一样的,由于大厂的各种技术,制度领先大多数小厂公司至少3年时间,这意味着任何从大厂跳到小公司的人来说都是一种降维打击,同样是35岁,大厂的人还有机会能发挥余热,再“奋斗”个几年

由于有丰富的大厂经历,在大厂充分磨炼再到小公司的人会带来很大视野,技术上的优势,因为曾经见得多了,在小公司的人就很难有这种大平台带来的经验优势。

2.业务工作

花呗/借呗作为支付宝内的明星产品,深受着广大用户的喜爱。作为前端,如何高效地为广大用户开发专业高性能,稳定无bug的产品就成了我们一个巨大的挑战。

虽然我们有丰富的基础设施,可以提高我们的开发效率。但这些平台,工具也不全是完美的,就在写这个文章的期间我就被一个发布平台的功能变更坑了几个小时去排查问题。所以既要用好工具,也需要去想法子去改进

业务发展快,前端技术也是不断的被往前推,不断的突破重构原本“屎山”般的代码又不小心堆下了新的“屎山”。具体的技术细节后续继续分享。

3.关于招聘

前面也说到,业务发展很快的,招人在短期内是最好的解决业务压力繁重的手段。招聘既是解决当下的问题的手段,也为未来的业务储备更多的技术人才。
招聘通常是团队中非常核心的任务,招聘的过程就是不断的寻找同路人的过程,我们寻找志同道合,身有所长的人,
也希望各种有奇思妙想,有特色特长的老哥们可以加入到我们的团队里。

作为蚂蚁金服最具明星气质的金融业务,必须要有一支具备“明星”气质的前端团队。

  • 我们的产品业务中大量应用着基于 react 的产品研发体系,同时在参与维护 umi (蚂蚁开源的移动前端解决方案)及其 plugin 的内部生态建设,因此我们特别需要对 react 玩得 6 的你。
  • 我们手中的 BFF 系统可能是国内最大流量的对 C 的 nodejs 系统,参与 egg (蚂蚁开源的企业级 nodejs 框架) 以及相关中间件的研发建设工作,因此我们还特别需要对 nodejs 服务端玩得 6 的你。
  • 我们的互动业务中大量应用了 2D/3D 的动画和游戏,同时也在负责 R3 (蚂蚁内部的 3D 渲染引擎)以及蚂蚁的互动技术平台的建设工作,因此我们同样特别需要对 WebGL 等图形互动技术玩得 6 的你。
  • 我们的中后台业务中有太多的可视化场景,因此我们仍特别需要对数据可视化玩得 6 的你。


工作地点:杭州 /北京 / 重庆

简历邮箱:yunge.zyg@antfin.com(来源注明:xyz)

附录:蚂蚁Richlab想找你聊一聊 www.yuque.com/richlab/joi…