年终总结 2017 年 12 月 30 日

2017 年终总结

2017 是很忙碌的一年,离开很自由的 Splunk,来到了现在的 设计家团队,换了团队,换了行业,也换工作方式,很多地方需要适应,不管怎样,每一个新的开始都是一个挑战。所以我还是怀着愉快的心情来写这篇年终总结吧.

工作

也许全屋定制团队是整个居然设计家上海最忙碌的 Scrum Team 吧,查看打卡就知道我们的成员有多少次都是工作到最晚的。虽然没有强制性的 996, 但是平均下来我们相对 996 过犹不及。
  • 重构 3D 工具
3D 工具作为一个拥有复杂功能,而且历史长久的项目,它拥有这超过 25w 的 JavaScript 代码,无数的 CSS 文件,无数的各类资源文件。而且各种管理风格千差万别。 JavaScript 部分: 既有基于 Google Closure 构建方式的代码,又有 jQuery 风格的大量操作 DOM 的代码,还有很多 ES3/ES5 的代码,还有今年来才引入的 ES6/ES7 风格的代码,还有无穷的原生的 JavaScript 代码。而在 CSS 方面,有原生 CSS 写法,也有 Less/Saas。 而在代码架构方面,3D Tools 实际的架构是这样的:
App = App Core + Plugins

App Core = (App Transaction Management) + App Data Model + App       Views
为了更好支撑未来更复杂的需求,更快的开发效率,我们对这个代码库进行调整,细节可以在我的这篇文章 记一次大规模重构 了解到,当时真是初生牛犊不怕虎啊,刚到公司不到一个月,才敢对多年历史的复杂项目大刀阔斧的改造。虽然期间又一些问题,不过对于我个人而言,这样的经验无疑是珍贵的,在很短的时间就了解到整个产品的各方各面,对于我如今的开发都是非常有帮助的。
  • 橱柜定制从 3D 工具应用独立出来
橱柜定制作为整个全屋定制项目的排头兵,为了适应以后的快速迭代,我们把橱柜定制从原来作为 3D 工具的一个 plugin 独立出来成为了一个独立的应用,独立的 CodeBase, 独立的 CI/CD。 这个过程充满的艰辛和刺激,估计只有我和 Jerry 知道吧。 从以前作为一个依赖于 3D 工具的 plugin, 如何能够以最小的依赖,而且非功能退化的独立出来成为一个专用应用,这是不小的挑战,但是我们做到了。
  • 我们从 0 开始搭建整个 3D 定制的参数化引擎
任何的引擎都可以这么表征
engine = f(input, rules)
不同使用场景 (Domains) 的引擎会有不同的引擎规则 (Rules),而对于家装设计领域,我们的 Rules 来源是各个家装设计公司和生产厂商。如果在这个特殊的领域需求里面抽象出更加适合工程实现的引擎模式成为我们的最头痛的事情,好在团队中的老司机在 Autodesk 已经塌坑无数,在短短的两个月时间里,我们做好了整个参数化引擎,并且在橱柜定制 App 中成功使用,为即将开始的全屋定制打下坚实的基础。
  • 内部 Hackathon 二等奖
到了设计家团队之后就一直想在公司内部搞一场 Hackathon,所以当同事和我说他也想搞的时候,我们就一拍即合,和公司申请了经费,而且老板也支持。虽然其中有一些意外,但是整体还是成功的,而且老板也把 Hackathon 变成了每年两次的常规活动。更值得一提的是我们团队的作品: 小居 - 家装设计语音助理, 也很荣幸的获得二等奖,很是意外。语音交互也许是未来的一个很重要的交互入口,所以一早就有给我们公司的产品条件语音交互功能的想法,所以索性就在这次 Hackathon 实践一下,所以离我哪行中想要达到的样子还差的很远,但是基本的流程已经成型,而且玩了简单的交互。也算是一次成功的尝试吧。

开源项目

GoHack2017黑客马拉松 虽然没有获奖,但是在那场比赛中完成的 fx 成为我去年的小小高光时刻: 在 Show HN: Fx - Poor man’s serverless framework发布了之后,迅速串升到Github Go Trend 榜单的第一名,并且持续在榜单首页超过一个星期,Stars 数目如今也吵过 1k, 当然更值得纪念的是,我和 @TJ 大神终于有同框了,哈哈。
而 YoYo 则是一个自己的一个需求:想要一个很干净纯洁的博客留言系统,不要有各种乱七八糟的社交按钮或者广告,所以我就着手自己写一个系统,留下 email 和你想说的话就可以留言,一个纯 JavaScript 的项目,可以在这篇文章2017-04-18-YoYo:自己打造一个评论服务详细了解。
是的,我参与的 podcast 终于上线了,很早之前就想要做一档 podcast, 但是一直没有狠下心来实施,后来和 @梯田 闲聊,正好他也有兴趣,所以一拍即合,说干就干,我们在年前终于录制了一期。希望可以持续做下去。
@Jakehao 从深圳来上海玩,下飞机之后突然说有一个idea,稀里哗啦的和我说一通,我没有听太明白,索性就花了一张图给我看,然后我明白了,这就是一个关于人的日志记录工具啊,Splunk 是记录机器日志的,要是有一个app可以让记录人的日志(心思)变得容易,而且随时可以检索,那么一定棒极了,所以当即就决定和他一起做这个app. 然后我们两个都好忙,发布了第一个 Test Flight 了之后,我们还没有太多的时间的高强度的继续开发。只能周末的时候一起搞搞。

后记

做工程师最好玩的地方在于,我们随心所欲的创造,一台电脑,一杯咖啡,一个好玩的创意,就可以让我们在一个地方默默的写几天代码,因为这就是我们的世界,简单而自由的世界。