12月25日,西方的过年,对东方人们来说距离新的一年2017只剩5天。

来天猫已经快10个月,这10个月都在忙 忙 忙中度过,忙着开各种需求评审会,忙着跟业务方各种撕逼洽谈,忙着在半夜三更才能安安静静地写代码修bug。但老生常谈的是,这一年还是些许的小结值得写下来,算是给自己这一年的交代,以及给自己未来一年该怎么继续走一个思考。

技术成长

年初选择从京东跳槽过来天猫,最看重的还是天猫前端的技术,从13年双十一天猫全面切换到Node技术栈开始,到今年的Weex在双十一展现出web与native融合的不俗能力,不得不说天猫前端至少在业内还算是一个不错的团队存在。虽然外界看来,阿里系的开源框架都为了KPI而出现,并且不久后便夭折(当然,我自己也觉得很多东西其实都是为了KPI而出来的),但是对于前端er来说,我开始慢慢觉得:与其拒绝,不如从中学到一些东西,然后提取出好的抛弃坏的,让自己得到成长,转化成自己的技能。

这一年的React/Vue/Angular三足鼎立,似乎对于这边来说更青睐于React。比如对于我在的小组负责天猫交易来说,业务情况是需要管理各种状态,而且相对来说比较复杂,这样能选择的当然是React。经手的多个项目几乎都采用了React技术栈,用上Flux/Redux框架。当然,并不重复性的从搭建脚手架 -> 开发页面 -> 联调,而是在Redux框架的基础上封装一套适用于这边的业务场景的SDKRschema,这个SDK解放了前端的重复性劳动:

  1. 前端不再关注页面长什么样子(页面模块搭建依赖于JSON数据)
  2. 前端主要负责模块的研发(基于npm包的形式开发)

不知道Rschema哪天是不是也会开源,但我觉得对于我所接触的业务来说是一个非常不错的SDK。(适合各自团队的才是最好的)

关于单页面应用,虽然react-router可以很好的解决浏览器后退的问题,但依然不够完美,一个路由一个component在理想状态下是对的,但一个component对应多个status的时候,浏览器后退似乎又成为了一个无法避免的问题所在,当你有多个status还需要改成多个component的时候真的会疯掉。发现Swiper这货除了手势滑动之后,其实也可以做成伪单页面应用,动态控制Swiper的页面从而达到新的页面从右侧滑入,左划后退,体验上还不错。但总体而言,对于单页面应用还是保持意见,虽然达到了接近原生的体验,但是首次加载的时间耗费以及如果业务很复杂的时候似乎成本有点高。

为人处世

出来工作两年,脾气似乎没有怎么改。自己坚信的一些东西,始终没能轻易动摇。在公司与人相处,和善是第一。但是也不能一味的退让,毕竟大家都是平等的。在京东也是,在阿里也是,一旦触及自己底线的东西坚决不退让。很多时候为了赶上线,做出来的东西都大大折扣,需求方不满意,自己也没有成就感,这种情况在我看来依然是不允许发生的。所以,能忍让的东西忍让,忍让不了的时候就必须一步不让。

一开始的时候,觉得应该做一个老好人,但是时间久了会发现这种对于别人来说成本很低的事情真的是很尴尬的存在。比如今天谁谁谁过来随便找你做个事情,你就满口答应下来做了,过一天谁谁谁又过来找你做东西,你又满口答应了,也是,无穷无尽的加班,只为了做这些事情(但这些事情真的是有意义的么,自己考量过么,更客观点,老大们知道么),这样子久了自己学不到什么不说,让这些找你做事的人觉得这个成本很低,所以我总觉得老好人对于我来说是坚决不会做的。

新参与进来的业务,总是被当做一个资源那样子用。下周要发布了,这周才告知到我这里。一开始毕竟新入这个业务不熟悉,所以就忍让。等到对业务稍微熟悉了,也就把这些问题抛出来要求解决。这对于我来说就是要告诉别人我不愿意被当做一个资源来使用,也让别人知道也让我随随便便被使唤的成本很高,虽然短期看来是得罪了人,但长远来看,对自己必须是有利的。

未来计划

重构转型到大前端,虽然不再专注于CSS,而偏向于JavaScript,但是依然关注更优雅的写样式代码。未来,依然是倾向于功能实现,毕竟毕业前几年依旧是打怪升级的时间,不过想花更多时间关注所做的东西的性能。同时,也想多思考自己所做的东西,存在的价值及意义。不想只是一味的写代码,做一个码农,而应该花时间思考自己所做的事情的意义。

嗯,在接下来的2017年,希望少加班(当然是不可能的了…)