05月09, 2019

来税友的三年记 & 对前端的一些感慨

不知不觉来我司已经三周年多了。写下此篇文章,更多的是对过去的一些回忆。

三年记

说来惭愧,工作9年多,这边是我职业生涯中第一家呆的时间这么久的。

这三年经历了两个半部门:用户体验中心、小企业以及ITS项目组。

第一年(2016)

虽然部门是用户体验中心,但人却经常不在那个部门,被派到其他部门去干活。

我先简单说一下,用户体验中心是一个怎样的部门。我一开始的理解是对外提供公共的培训、框架、文档等。实际上我的老大确实有想过这个,但事实上做的事是输出团队成员去帮其他部门干活(对我而言,是做一些比较公共的东西)。

这一年,我大概接触了以下几个东西:

  • miniui (一个比较老的ui框架,能兼容ie6)
  • angularjs (1.x版本)
  • regular (网易的那一套双向绑定)
  • avalon (去哪儿网的,但最终项目里面用了regular)
  • react (其实这个我在15年就开始有接触,但深入是在16年-17年)
  • es6 (使用es6写了一个玩具型的ui库:Dui)

其实做的比较有成就感的事,应该有两个:

前面有说Dui是一个玩具型的,是因为它里面的东西比较少,当时时间有限(一个月左右),做了:button、modal、tip、select。

它比较强大的点在于:使用原生js,因为当时的场景是说不需要考虑IE9以下。

说一件比较有意思的事,当时构建库用了三套:webpackfisgulp(因为对webpack不怎么熟)。不过后来改了,只用webpackgulp

另外,也要感谢支持我的兄弟们,当时在项目中用了Dui,然后踩了一些坑,不断地去修复Dui里面的bug。

时过境迁,目前虽然不用这个东西了,但它确实提升了我写js原生的一些能力。

当年还写了另外一个库:antd-css-rewrite,现在也过时了,但在当时,还是有一定价值的。

一个难以忘却的回忆

试用期的时候,被派到深圳去出差,结果被项目经理投拆能力不行,差点过不了试用期。

其实那边的活,我也在做的,但基于对minui那一套不是太熟,导致我在那边能做的事比较少(无非就是指导一下同事,给其思路,然后看看能不能整些公共的东西出来)。

我确实有整了,并且给了一个fis的方案,用来拆分java和前端的代码。

但事实证明,我还是太年轻,一方面是那边项目急着上线,一方面写代码的人真的太少,加上我在那边产出业务代码太少。

一些感慨

第一年,讲真,对部门没啥大的归属感,所以也导致了我产生了转部门的想法。

其实部门多的话,想在各个部门里面推一些公共的东西还是比较难的。(所以今年公司很多部门都整合了)

再就是试用期出差那会儿给我一个教训是:有时候你再讨厌一个东西,你也要去干那个事,而不是做一个旁观者,另外也要和同事多做沟通、交流,而不是自己觉得好,就在那边自嗨。(这个教训真的蛮大的)

第二年(2017年)

刚进小企业部门那儿,就跟另外一个同事折腾之前的中后台项目(纯react项目)。讲真,那时候自己的react能力还是比较菜的,停留在demo层面的比较多,没有用它做过啥项目。

在和同事折腾的过程中发现了两个问题:

  • webpack配置比较混乱(之后我就参考react-scripts写了mior-react-scripts这个包用来构建项目)
  • redux写的代码又臭又长

我们都知道redux其实对开发真的非常不友好。拿请求来说,每一个都会有:start、completed、failed三种状态(所以在我阅读之前的代码时,到处充斥着那样的代码)。但事实上,对于开发来说,只要关注completed状态即可,另外两个状态是可以抽象成公共的。

后面我自己也做了一个中后台的应用,redux那一块,用了一个当时觉得比较好的中间件:redux-action-tools

在17年比较有成就感的事有两个:

  • mior-react-scripts的开发
  • DPL平台的node端开发(这里面还有一些技术的,如接入了公司的账号体系)

然后今年有一个想法,希望把之前做的node项目能集成到公司的日志平台,能做一些CPU监控、错误日志查看啥的,毕竟每次后台出了问题,总要连远程服务器,然后pm2 log,感觉怪怪的。

噢对,17年还断断续续地开发了一些react组件:

  • 年日历(antd不支持,将它的源码直接拿过来改造)
  • 环形渐变进度条(当时抄了一个开源的,修改了一下,还下了一个决定,要好好学下svg,结果不了了之)
  • ...

第三年(2018年)

上半年差不多是对上一年做的DPL组件完善,以及文档的补充。

而下半年则是被拉去了参与ITS项目。

因为有阿里大神的参与,所以跟着他们,在项目里面学到不少东西。

在这一年里面,我大概是被迫学了一些vue,以及掌握了70%-80%的miniui开发技能。

遗憾的是,vue并没有学习的很牛逼,只能说会写一些简单的业务,以及改改之前的组件问题。

比较大的成就感是:

  • IE8知道了怎么调试,看堆栈信息,来一步步地分析问题
  • 在art-template-loader基础上扩展了一个自定义的loader,加了img的srcset的处理
  • 学习了之前阿里大神写的一套处理框架的流程,然后今年开发的cui-react-scripts,借鉴了里面的一些代码和思想。

对前端的一些感慨

我是10年2月正式开始工作的,做了一年的java。

期间项目经理让我调试firefox以及chrome浏览器,觉得前端比较好玩,就入坑了。(其实想来,有些后悔了)

11年7月来了杭州,进了一家外包公司,做腾讯、阿里的一些活动页面啥的,期间学了Kissy,还有yui、seajs这些库。

时过境迁,这些东西依旧历历在目,却已是昨日黄昏。

讲真,前端的发展在11年-14年那会儿,真的基本上只是切图、浏览器兼容。到了14年下半年,就感觉差不多前端井喷了,什么构建啊、react三大框架啊,开始网上也有了比较多的资源。

对自己的反思

感觉自己在前几年没有一个好的积累,导致了自己只能算是一个比较平庸的前端开发者。

有时候我很羡慕我的哥们:子龙,他这几年都在写业务,然后基本功方面都比较扎实,像什么移动端、小程序都能轻松玩转。

我这几年的领域都在web端,移动端、小程序没什么大的接触。也许让我改一些东西,我会,但要说踩坑啥的,真的和做业务的没得比。

其实我个人觉得比较好的状态,应该是一段时间开发业务,一段时间开发组件、公共架构啥的。然后做的业务最好能全面一些,如web端、app端、h5、小程序。。

如何进步与成长

这是一个比较大的话题了。我个人觉得在技术行业,不落人后,最关键的是:保持好奇心。

因为只有保持好奇心,你才会去挖一些东西,而不是单纯的API调用工程师。

感觉也不需要说每天给自己很大压力,一定要怎样怎样。完成好手头上的代码,让你的代码写的漂亮,这个比较重要。

我认识的一些人,往往想着怎样快速完成公司的业务,然后剩下时间去学网上的新东西,然后想着去跳槽。有点本末倒置,就是我觉得多思考公司的业务,结合自己已有的经验或者网上的经验,去尽可能好地完成功能。

下一次完成类似的需求时,应该想着能不能换个思路,或者尝试一种新写法,而不是ctrl + c,ctrl + v。

还有多记笔记,很多东西可能觉得自己头脑里面有印象,记住了。但过阵子,你就忘了。

相信很多人和我一样,应该有收藏的习惯,像我在知乎起码收藏了500+个回答,但我后来有去看么?有时候会去看几篇,但真的不会怎么去看。

是人的天性,所以还是需要一定的自控力的。比如说一周七天,允许自己懒个两三次。

对未来的想法

今年似乎两个东西比较火:

  • typescript
  • flutter

不过我最近两年的打算,想系统地学习一下java。倒不是说前端不行,而是我觉得可能做java能做长一些吧。

在中国,相对来说,前端35+的前景,还是有些不太乐观,我是真的比较怕,所以想给自己留一条后路先。

也许有人会说,为什么不考虑转管理?

基于以下几个原因:

  • 我不太擅长,说话表达能力比较差
  • 哪来的这么多坑位
  • 我还是喜欢写代码,希望能写到50岁左右吧

结语

这篇文章,断断续续写了好多天,中间也拖了很久。写了很多,又删了很多。

好了,以上便是一个技术宅这几年的总结吧!

本文链接:www.my-fe.pub/post/third-anniversary.html

-- EOF --

Comments

评论加载中...

注:如果长时间无法加载,请针对 disq.us | disquscdn.com | disqus.com 启用代理。