走过这九年 - 我的2017技术总结

思考, 总结

先给大家拜个年, 祝大家 2018 年发展越来越好.

思来想去, 学学罗胖, 还是用知识跨年, 比较酷一些.

2017 年最后一天, 重点回顾一下个人技术方面的成长, 简单预测一下后面的技术发展. 为自己做个总结, 如果对大家有帮助就更好了.

回顾 2017 年

自从 2016 年 4 月, 开始合伙创立一个小小的创业公司以来, 主要精心就比较小在具体写代码上了. 2017 年没例外, 我的主要工作集中在以下几个方面.

  1. 将项目开发过程标准化, 主要以框架代码, 或者代码wiki为主.
  2. 市场, 产品等非技术工作.
  3. 抽空闲时间研究了一些前沿技术工作.

主要体现在:

第一个, rails-template 修葺完善工作, 除了适配最新 rails 版本外, 增加了 CDN 配置指导, monit 自动监控代码, 日志自动分割, 异常通知, SSL 配置代码指导, 和数据备份功能.

由此, 任何一个项目经由我们之手, 都可以保障几乎99%可靠性, 几乎零成本的维护. 目前已经迭代两年了, 我想我还会持续小修小补.

第二个, wechat-weapp-mobx, 在开发小程序的过程中, 我推动了 mobx 技术在小程序上的落地, 这是一个小程序跨页面通信的数据驱动库, 可以帮助团队更优雅完成复杂的小程序开发.

第三个, react-native-template-mobx 重构, 同上, 也是整合 React Native 与 mobx 的脚手架项目, 在年中的时候, 看到 react-native 开始支持模板化技术, 便重构到一个命令生成项目框架. 这个项目几乎把我们用 React Native 过程的坑都埋了. 不过最近团队基本都在小程序方向, 这个项目也没有更紧密跟着 React Native 升级.

也深入研究了 mobx 的技术原理, 并规化了一个 mobx-ruby 的项目, 写了一些基础代码, 并分享在 2017 年 RubyConf China 了.

以上三个都开源在 Github 上了, 可以在 https://github.com/windy 找到他们.

这两年, 明显感受前端技术方向的快速发展和行业变化, 比如尤小右的 Vue 快速发展, Meteor 全栈JS框架没有想像中那么快的发展. React 逐步落地应用, mobx 的兴起.

我也简单预测一下 2018 年我的看法.

2018 年的技术预测

Vue 会继续快速发展, 我比较看好实实在在的效率提升的框架, Vue 的渐进式框架思路让人们很好接受它. 虽然没有背后的大公司背书, 尤小右的社区运营做的却非常不错.

前端联动响应式( Reactive Program )技术会有更多发展, 比如 mobx, RxJS, CycleJS 甚至在我不怎么关注的 Java 社区的 RxJava 都有着非常好的发展.

全栈式框架( 如 Rails )能保持一个稳定的用户群体, 不会受到新技术太多影响, 逐步地, NodeJS, Python, php 也是相对保持一个稳定性. 个人认为原因在于从开发效率上它们不能拉开数量级的差别.

Go, Rust 都会有一个不错的发展, 而 swift 够呛. 这是从市场需求上的感受.

以上属于个人判断, 主要是常年的经验总结与市场感受, 供大家年后成长时参考, 做对方向能事半功倍.

除此之外, 我还想总结一下技术成长过程的技巧, 共勉.

永远不要满足现状

09年, 我初来深圳, 是一个怀中只有 "号称5万代码" 经验的见习软件测试工程师, 绝没想今天, 开了一家小小的创业公司, 还能养得起10来个人的团队.( 这样说绝不是认为自己有多厉害, 比起那些 2 年做到几千万融资的团队还差几个数量级, 但已经远超自己那时的想像了. )

对我自己来说, 永远不要满足现状, 这是最重要的一条原则.

不满足现状, 让自己能够在零点之后继续看书; 不满足现状, 让自己不断突破自己的技术边界, 从测试到自动化测试, 从自动化测试到质量技术经理, 到后面的自主创业; 不满足现状, 让自己离开自己的技术舒适区, 尝试了解社会经济, 了解前沿物理学发展, 了解商业内在.

不过我要对自己补充下, 有时候凡事过犹不及, 注意过程, 用兴趣驱动自己.

极度开放

我们技术人非常容易自以为是, 我也是这样, 总觉得只有自己理解的才是对的. 这是技术路上要经历的. 不轻易接受别人的观点, 对观点持有怀疑态度.

但是, 当成长到一定程度后, 一定要变得极度开放, 把自己放在 "上帝" 视角上, 看看以前自己绝不会碰的技术到底长什么样, 看看它们有什么问题和优点. 总之, 不断让自己的思想包容更大的社会, 但又不造成内在冲突.

正是因为这个原则, 我从一开始的 Rails 全栈拥护者到 AngularJS 前后端分离的忠实布道者, 再回到实用的 Rails 全栈 + webpack 之路上.

不仅要开放, 还要极度开放.

生活上, 我要对自己说, 18 年, 也要保持极度开放, 尝试理解所有人的逻辑, 分析他们形成的原因和其中是否有漏洞.

总结一句, 我是一个实用主义至上的有些理想的技术人.

实践为王

孔子云: 学而不思则罔,思而不学则殆. 王阳明说过, 知行合一.

越是经历, 越是发现这些基本道理的分量.

例如, 只有自己亲身实践了前后端分离, 才能理解其他人提的优缺点到底是否存在, 才能比别人更深刻一些. 只有自己亲身做了创业这回事, 才能真正明白《创业维艰》是否真的艰辛.

现在, 越来越体会到, 人生其实只有几个基本的道理(原则), 其他都是衍生品, 谁厉害不厉害就看谁感受的更深刻而已.

先深挖一个立足的技能, 再横向扩展自己的能力, 是我们深飘族的不二法宝.

发表于 2018.02.15