想作、想知道的还有不少——2018年总结

18年仍是让我以为过得很快,我想去年的我也是这么想的.不一样的是,我以为我今年经历了许多事,这让我变得...或者说,在那么几个瞬间,我又老了一点.前端

看了下去年的年度总结,感受本身的视野仍是放在了比较小的一起地方,除了代码以外,软技能也是必不可少的.java

我仍是想从工做谈起,由于我如今专一在上面,以为挺快乐的.程序员

工做

今年我离开了ZStack,那时的我其实明白本身想要什么——诸如想要什么样的生活、想作些什么事、还想知道些什么,因而我来到了如今这家公司.而个人愿望也的确被知足了.web

而个人工做也再也不仅仅是在编码上了,我参与了不少事,好比关注团队成长、开发规范的推动、大量的参与招聘等等...在此之中,我也得到了成长,在这里,能够举几个例子.编程

开发规范

以开发规范为例,当一些规范并未落地时,会增长许多过后看来没必要要的成本.以咱们熟知的自动化测试为例,项目终于到了能够交给测试同窗测试的阶段了,然而测了半天有问题,交由给你,你改好了代码,本身测了一遍,测试同窗测试后发现这个问题的确解决了,以后几个问题也如愿解决.可是最后一刻,测试同窗发现本来的功能遭到了破坏,因而又是一遍你改代码手测交给测试同窗的循环,总算在客户生产环境上线了,结果又发现了问题,从交付同窗call到pm或到测试,测试再找到开发,又是几轮测试下来.若是问题多的话,不知道会有多少人力成本浪费在里面,而客户对这个公司的印象又会变得如何呢?后端

而咱们的软件老是愈来愈庞大的,咱们发现咱们要测的功能会愈来愈多,测试同窗的负担会愈来愈重.....服务器

若是这些手测可以交给机器来作,是否是能够省下不少成本呢?——这就是自动化测试带来的价值.数据结构

把话题展开来,今年相似开发规范推动的事,我作了这些:异步

  • 基于GitLab的Continuous Integration ——尝试使用GitLab-CI
  • Functional Spec (Or Proposal)
  • CodeReview
  • 解放前端:API文档+SDK

CI

利用GitLab的CI让每一个commit跑一遍自动化测试,粗略算了一下,目前所在的小组平均每周跑的测试有5000多个.引入CI作这件事,正是由于我信奉:学习

  • 一个bug被发现的越早,fix的成本越小
  • 能经过机器来作的事,就不要让人去作

Funstional Spec

编写这个文档的习惯来自于ZStack.FS是以Feature为基本单位,用来约定PM、测试、前端和后端如何在这个Feature中的工做一个Spec.里面必须写的内容有:背景、原理介绍、接口设计、相关数据结构、测试用例.而且保证在编码前这个文档足够完善,在编码时彻底依据此文档来编程.

而引入它的理由则是但愿有个文档来约束各个角色在这个Feature中会产生意外的可能性,好比测试一看说这个API的结果明显应该是这么期待的啊,开发你怎么肥4.而后再测试阶段开始重构,再测...天呐...

不只如此,也是给后来的新人留下了有效的文档.

而在实践中,发现这玩意儿还有约束PM意外能力.哪天PM改需求了,就和PM说:看!你当时不是这么说的.然而没什么软用,爸爸让你改你仍是要改.

逛过K8S社区的人知道,其实这个FS和里面的Proposal有点像.

CodeReview

CodeReview配合FS是很棒的一件事,由于这样Review的人能很快的得知上下文,并参考里面的约定来Review代码.

而CodeReview带来的好处则是有效的(或者说言传身教的?)保证了项目代码的规范,且避免一些低级明显的错误被提交上来.

当一个新人问我“为何要这么改”的时候,有时给我带来的思考收获甚至超过一天的编码.

解放前端

在实践中,我认为ZStack对前端并不友好,从外部来看,它对于异步API支持轮询和webhook,轮询真的太挫了,而webhook意味着前端要编写一些服务器逻辑.而从内部来看,它的RestServer.java抽象程度并很差,二开则意味着紧耦合开发.最后为了解决这个问题,引入了WebSocket.

再之就是给前端同窗提供了文档,由于我以为来回问这个API那个API效率很低...后来发现,我给前端API文档,前端仍是要照着写Request和Response的回复啊,那为何不用元编程提供一套SDK给他们直接用呢?后来就这么作了.这样前端同窗就是能够专一他们本身的业务了,而不是后端定义的数据结构上.

能经过机器来作的事,就不要让人去作.

学习

再来谈点学习相关的事吧.今年“极客时间”火了起来,第一次接触它是在17年11月份,那时感受这App作的好粗糙,且没有我想要的课程.却不料后面课程愈来愈多,且质量都还说的过去,价格也算公道,逐渐的便用上瘾.

最先使用“极客时间”的时候一度认为这不是程序员版的“获得”吗?提及来,今年11月份的时候我又从新拣回了“获得”,由于今年引发我思考的问题实在是太多了,或者说,我想知道的东西愈来愈多了——而当我找到了我所认为正确的答案后,我会带着这些问题一块儿记录到本身的博客里,与你分享.

顺便翻了一下上面的年度总结:
获得
极客时间

而后是一如既往的英语打卡

今年的学习方式其实和之前几乎无异,而我发现有不少地方是能够改进的.在我看来,学习是一件持续的事情,并非你今天看了一本书上了几节课就get了这个知识.而是不断的消化这些知识——不管是“思考”仍是“运用”也好.这样你才能不断的迭代它们,使它们变成你的一部分.

对于明年的学习计划,没有很明确的目标,可是但愿可以聚焦在必定范围内:

  • 学本身要用到的东西.而不是停留在纸上谈兵
  • 学本身想知道的东西.而不是由于别人的推荐、别人说好去学

生活

从今年来看,工做和生活获得了必定的平衡.

从Q4起,个人时间记录彻底记在了“时间块”这个APP上

整我的也是明显的瘦下来了,得益于坚持锻炼

对于运动这一块明年有两个小目标:

  • 最大极限达到半马,早日尝试跑全马.目前个人极限是15000米
  • 体脂到达15个点,目前在17~18个点之间震荡

最后一些碎碎念

圣诞时,公司颁了一个奖给我——5K的红包.奖励我对于“基础设施”的建设——上文提到的开发规范.同时领导但愿我能把这些好的习惯推动到别的产品线.而如今我正在参与到更多不少环节,尝试去改进、解决现有的问题.明年,我想咱们还能够作得更好.

今年的我也终于意识到了“人言可畏”,之前看三国时看到过孔明以流言害仲达,故对其略懂一二.而真轮到我时简直是头皮发麻——百口莫辩,心塞无比.

而后即是碰见了不少人.碰见了和我经历相仿的人,这让我感到神奇,能知道我为什么而努力,也能和我谈谈将来,告诉我许多我未曾知道的事;碰见了不少有趣、可爱的人,也遇到了志同道合的人,让我以为再也不寂寞...

一切都在变得好起来.

相关文章
相关标签/搜索