前端于我
总结 / 经验 / 心得

阿里外包总结

在阿里以外包的身份待了两年,总的来说有收获有付出。最大的收获是学习了大厂的运行模式,类似团队平时的基建沉淀,文档沉淀,或者是对业务的数据分析,打点统计,AB test等。付出同样有很多,首先必须要提一嘴的就是时间,在阿里度过了一年半将近两年的时间,而这两年恰恰是程序员生涯中比较重要的两年(2年经验到5年经验之间的时间),这段时间里自己首先对前端有了自己的认知,且意识到技术的广度与深度,是程序员最易提升的两年。

谈谈收获

说到收获,首先想到的却不是技术方面的提升,而是在于自己的思维逻辑。其实在大厂里面,他们的思想往往是互联网行业的风向标。任何新鲜事物,任何新思想一般都是大厂优先推行,比如KPI向OKR的转变。

关注于业务之外

具体的思想收获这里可以简单的概括一下,第一条就是“关注业务之外的沉淀与成就”。在阿里的这段时间,看着阿里正职的同事写业务的时间是比较少的,更多的时间他们在干嘛呢?主要在做业务基建以及业务优化。对于具体的业务来说,业务代码的编写其实由外包去写就可以了,他们更多考虑的是如何作出沉淀,如何加快业务运行,如何赋能更多的业务。这是我在阿里学到的第一点,不要把目光局限在业务之中。

主动创造变化

第二点就是在平时主动创造变化,一般大家的思维基本都是拥抱变化,迎接挑战。但是到了业务稳定的时候怎么办呢?这时候应该主动发起挑战,在变化中寻找蜕变。不要满足于当前的环境,只有不断的前进才能保持自己的竞争力,就如“学如逆水行舟,不进则退”一样,你不主动,那么主动的人就会超越你。

owner意识很重要

在平时开发中经常出现的就是,某个开发节点需要依赖其他的小伙伴,像是前端同学写业务的时候需要依赖于后端接口。那如果这个时候后端接口那边卡住了,工期又十分赶,这时候怎么办呢?很大一部分人(包括我)都会是等待后端完成,心里想的大概是“不是我的问题,是因为后端卡住了整个进度,锅是后段的”。但是其实这是很不合适的,整个项目的进度出现了问题会影响到整个项目的所有人,并不是说只要不是你的锅就不用管,这时候应该主动站出来,推动事情继续发展,把控整个项目正常运行。这就是owner,你要意识到这就是你的项目,你有责任让整个项目按照预期正常的流转。

数据打点是验证业务的唯一标准

在之前的小公司里,完全没有要详细的打点规范以及意识,更别说还有AB Test了。但是其实在数据打点以及AB Test对业务的重要性毋庸置疑,这是衡量业务的重要标准。通过各个节点的打点数据对比可以很清晰的观察到用户的行为足迹,通过AB Test则可以更准确的得到用户的喜好,进而选用更受欢迎的方案。而对于技术来说,很多情况下对于自己编写的代码的优越性要靠打点数据来体现。

软技能也是极为重要的衡量标准

在之前我比较关注于技术方面,比如对于js的理解,对于各种框架的运用,认为只要掌握了这些,自己就能逐步向高级工程师迈进。但其实不然,很多情况下,高级甚至专家也不是对所有技术了如指掌,他们更多体现在技术专业性,就包括了各种软技能,比如绘制各种图例,比如沟通协调能力,比如迎领团队,又或者是善于发现与解决问题。任何一个了不起的工程师都应该熟练掌握其中几种甚至是全部的软实力,这也是衡量工程师水平的一个重要标准。

实际编码能力的提升

其实实际来说,对于实际的编码能力提升并不大,因为无论在什么公司,随着编写的代码的增加,对于各种框架以及原理多多少少都会有所提升。所以这里就不把对框架或者js原理这类熟能生巧的东西拿出来例举了。在这段不短的时间里,其实相对更重要的还是对于各种架构的学习,比如在混合开发APP里比较重要的离线包优化方案,又比如服务端渲染或者是各种预链接预加载方案。这些是我认为比较重要的东西,对我之后的业务开发的方向与采用的手段会有比较重大的影响。

谈谈不足

收获可以说还是挺多的,当然这其中也让我认识到了自己的不足。

沟通能力还需要继续提升

其实可能很多程序员都有这样的问题,就是在沟通方便会比较被动,这其实是由于程序员这个群体的工作以及专业是有关系的,一般从事计算机行业的人里面,可能差不多三分之二的人都不是十分外向的人(这也是为什么外向的程序员往往比较吃香),比如说问一个问题,外向的人可能就直接向他人问了,再外向一点的可能就是直接到那个人的工位上去问他。但是大部分程序员的做法是在通讯软件上问,甚至是“等下再问”。这就造成了沟通的滞后性了,这也是我拥有的问题,当然这个我已经意识到并有意识在改正它了,比如比较紧急的事情并且相关人员就在附近的话,我会直接上去问,如果是不算紧急的话,在通讯软件上提问后一段时间没有答复则要求自己主动询问进度。而最重要的一点其实是“不要拖延”,不要想着等下在问,很多情况下,如果当下不立即把问题抛出,后续就会更难拿定注意。

所以“有话直说”这句鸣人的忍道其实非常重要,以及坚持下来也是不易的。小时候常常还觉得这是啥呀?就这也算忍道?直到长大了才知道,原来这是很困难的一件事情。

技术的广度与深度

其实自己是可以感觉到自己的技术视角还不够广,技术深度也还不够深。所以后续我打算同时在两者之间扩展,在广度方面多接触多学习一些技术/架构,这里不局限于前端,也不局限于JS,自己对什么感兴趣都可以去了解。在深度方面,能够深入研究JS,包括各种设计模式,框架原理,以及前端中常用的技术架构。

技术沉淀

工作已经4年多的时间了,但是自己留下来的东西除了经验以及脑中的一点点技术以外,没有沉淀出什么。尤其是在做外包的这段时间,限于外包权限限制,基本上没有沉淀出什么东西,但是其实沉淀是很重要的一件事情,业务总有一天会跑停,当之前做过的所有业务都被叫停时,你才发现原来自己这几年来什么都没做成。我不想要这样,所以在未来的时间里,希望能够有所沉淀,无论是开源的项目,还是技术文章,只要能够展现自我价值,那就是极好的。

回顾

总的来说,在过去的4年里自己还不够努力。而对于外包这个职位,如果薪资不是很优异,最好不要去尝试,因为毕竟在甲方的公司办公还是会有比较大的失落感,尤其是在福利相差比较大的情况下。保持一个良好的心态,也是程序员重要的一课,毕竟开发的压力已经如此大了,加上一个不喜欢的环境的话,可能会让你提前想要结束你的程序员生涯。

暂且如此吧,努力💪。学如逆水行舟。

发表于: 2021-06-20