有人经常问我,什么每年能做这么多东西。我的答案一直、总是、老是:不加班。

不加班,钱少,多了点 x 生活。人生总是要做很多的抉择,如我这一般穷的人做的抉择,便更加有限了。上一年里的收入帮家里还了钱,这一年下来赚得不多,攒下的钱也就十一二万,勉勉强强算是自己的所有金钱财富。尽管又借给朋友买房了,可大抵自己总算留下了几块钱。虽然远不如一个自媒体一个月的收入,远不如别人一套房的涨跌,远不如比尔·盖茨/贝佐斯弯个腰,但还是攒了钱,还算蛮开心的。

这样一看,有些人可能会说:“混得这么差,还写一篇这么长的文章,那得是有多骄傲”。若是你觉得不好,倒是也不必要往下看,时间于你和我都是相当的宝贵。于我而言,记录过去,记录过去的好的、坏的、困惑,对我的帮助都相当的大。于你,道理也相似,除非你已经过得相当的好。

每年固定的时间,它总会提醒我,哪些地方在变好。虽远远赶不上别人的水平,也没有必要和力气去追赶。而很多事情都在持续不断地变好,又或者是不幸地在变差——如不断增长地年龄。活着,需要活在自己的感觉里。

编程:Think Big

工作:MOVE BIG

ONE。 年初,我先是在一个 Android 项目里,努力 “奋斗” 了一个多月。虽说在我看来有点划水的味道,可真真实实地还是在写编写精力代码、完成需求。说是混,那到底还是对不住自己的学习;说是贡献吧,也没有什么优异的表现。除却更熟悉 Android、Java、Kotlin 之外,唯一做的可圈可点的事,裁剪了预定的 Android 与 JavaScript Bridge 的复杂设计,转成用 URL Scheme 唤醒的方式,降低了不必要的技术成本。

TWO。过完农历新年,我变身成为了一个 Tech Lead——事隔 2 年多之后,重新回到了这个坑位上。两年多的漫长日子里,我的提升都在技术上;在技术管理上,还是没有多少的长进——在项目最初的节点上,缺乏与关键利益者的沟通。可也说不上缺乏吧,沟通还是相当的多,可能是不得要点。好在这个问题,在后来的项目里,多多少少有了一些改进。它也充分说服了持证上岗的重要性。在快结束这个项目的时候,终于又被培训了(持证),培训的主题是:Team Lead。同样是 TL,差别还是蛮大的,虽然不一样,多多少少还能学到点东西。

再回到项目上来说,我终于算是完完完完整整整整地经历一个项目,Inception、Interation 0、交付、收尾。除此,还 GET 了微前端的技能——我在 2017 年里,心心念念想实践的架构,勉勉强强得到了充分的施展。此刻,按我司的 Tech Lead 的维度,我大抵可以算得上是一个 Tech SME(Subject Matter Expert)。

THREE。而在年底的项目里,我则是经历了售前、Inception、Iteration 0 的阶段。在 Google Play 上上架了七八个混合应用的我,成为了一个混合应用框架的创建者,而不再是使用者;与此同时,进一步地思考了大前端相关的内容,从头创建前端相关的组件库、脚手架等一系列的工具。按我司的 Tech Lead 的维度,大抵在这样的项目里,可以朝向 System Architecture 的方式发展。几次不同的经历,让我重新思考了角色的定义,不免在下一个项目里,我需要在开始时重新定位自己——需要以怎样的角色存在。

经历了一系列的原生应用、混合应用、半混合应用、RN 应用的开发之后,对于如何整合再有应用,有了更深的经验。与此同时,对于内部的政治还是深有体会,只是尚不能理解原因。与过去相比,我觉得做底层框架支持很有意思,但是长时间的投入之后,发现还是业务代码更有成就感一些——有稳定的上线计划。

几个不同梯度的项目,考虑问题时的方式,都各有所不同。过去,只关注于团队内部的能力成长,相关的架构实践。在第 2 个和第 3 个项目里,则关注于更高维度的架构事宜,致力于提升总体的开发效率。所需理解的非技术因素更多,并且面向的受众更广。不远的将来,也需要从更高、更宽的角度,来考虑整个系统。

业余编程:FOR LIFE

在这一年里,因为过去的几年里翻译、查阅了大量 IoT 相关的内容,相关的资源相当地 “匮乏”——要么重复,要么质量低。我停止了玩点什么的文章翻译计划以及相应的 Play 应用开发,但是它仍然有着一丝丝的访问量——每天有 100 次左右的点击量。在可见的未来几年,这个网站仍然相当有前途。只是在互联网巨头们,各自推广自己开发社区的这几年,大抵会慢慢下滑。

在这一年里,关于 Serverless 的投入倒是有些变少了,但仍还是使用了 Serverless 架构 + 微信小程序 + AI 写了一些(个)应用,如 CODE 应用。

用户量还是上了 8k 左右,这样一看,倒也是一个不错的尝试。在下一年里,或许可以在这一方面有更多的探索,能面向普通的用户,而非程序员——想从程序员身上赚钱太难了。诸如小游戏的开发,这样一看倒也是难得可贵,到了这个年纪,还有探索计算机的好奇心。以致于那些上年纪的程序员,想的也都只能割割知识付费的韭菜。

上一年里,我制定了一个粗略的计划,用于替换日常工作的一些软件。如去年年底编写的 ADR (架构决策记录)工具,已经成为了我日常管理开源项目需求的一部分,而不仅仅是架构决策相关的内容。在这一年里,又有了两个新的小伙伴加入了:

Mifa Design。设计的初衷是面向我的开源项目的设计系统,最开始的形式是 UI 框架(CSS 框架)。就目前而言,它已经是我默认的 GitHub Pages 的主题,默认的 GitHub 电子书主题,默认的开源项目的 CSS 框架。我可以毫无顾忌地说,它达到了广泛的验证,hiahia~。

Phodit 编辑器。它满足了我日常的写作需求,如在我写本文时,还作为了新书(TBD)的编辑器。尽管过程中,充满了相当数量的 bug,如重命名文件的时候,不会替换当前窗口的文件——需求小的 bug,都懒得改。

在未来的一年里,仍然想的是继续创造自己的工具。诸如,随着舆论的不断收紧,对于隐私问题的担忧。关于隐私,我有了一些更多的想法:

  • 输入法,是一个相当危险的工具,它可能会随时出卖你。要么接入原生开源,要么使用云的方式。

  • 物理密码生成器,做了一些了解,诸如 Raspberry Pi Zero,只是需要保证便携性。

  • iOS 还是 Android?可惜 Ubuntu Touch 还是半死不活,支持不了主流的设备。

倒也不是担心自己说了什么,怕被追责——天生就不喜欢一种被监视感。要么屈服,要么天性自由,这是一个值得考虑的问题。国内的聊天工具,无时无刻不在被审视着,于我的感觉就好似 “达摩克利斯之剑”。倘若能做一个物理上的输入法,倒是会更加的方便。

写作:HIGH QUALITY -> 非技术写作

依旧地,我仍然在为 Packt 干着廉价的技术审阅工作,它们又出版了两本印有带上我名字的书《Mastering Angular Components - Second Edition》和《Angular 6 by Example - Third Edition》。即可以免费地看技术书籍,又可以练习英语,有时还有收入,倒算是不错的买卖。

原先打算在这一年写完的书,终究还是没有写完,两年了。倒是《自己动手设计物联网》繁体版——《物聯網原來這麼近:立即手動實作一個》,能为平淡的生活添加几多的色彩。从国内到到港澳台地区,倒也是个不错的进步。哪天要是在马来西亚、新加坡这样的国家里,看到自己的书,倒可以自诩说走向了国际化。未来,倘若有本书,要是能写作出版到西方国家,那便是个更大的突破,就这么放个心愿吧。

在 2017 年,我写了一系列的热点文章,在年底总结的时候,我开始意识到了这些文章的问题——它们不能帮助我成为一个更好的程序员。与此同时,依赖于热度的文章,在热度散去的时间,也就没有不存在的价值。于是,2018 年,我调整了写作的策略——尝试在阅读量与质量之间平衡,不再去追求更高的阅读量,转而是我眼中的 “高质量文章”。

高质量的文章,大抵也是有好有坏,一来,一篇文章要花费一天的时间编写,文章的长度往往太长了,不适合所有的人阅读。二来,高质量的文章,并不一定带来好的阅读量,但是对于自己来说,内心是满足的——写的是给自己看的文章,对自己的帮助更大。

我尝试以 《架构拾集》作为标题,作为其中的一个方向,用于记录我在使用架构方面的所见所闻,并将其作为我的知识库来储备。练习它们,然后记录其中的关键部分,相关的核心思想。要是说成长吧,那还有一点相关的不错,吐槽一些 “不好” 的架构实施。往往,我们一直讲的是某个架构中的好处,而一直刻意忽略其中的一些缺点。在使用的过程中,因为一些使用的不当,反而带来更多的问题。诸如《微 “害” 架构》和《前后端分离的资源浪费问题》,便是在讲述其中的一些问题。若是直接放大缺点,吐槽一番,那倒是相当的不错。

只是写多了技术文章之后,写一般的文章有了些许的不合适。技术文章,特性是简洁、干炼,少了些许废话,也就没有人情味。浓缩了精华,便也意味着需要一遍一遍的深思熟虑,删删减减,时间也就过去了——没有了愉快地写作感。渐渐变得没有自己的风格,千篇一律,也就失去了自己的个性。

每晚的睡前,都在阅读技术之外的文学类书籍,想寻找一些新的写作手法。这些日子下来,还没有太大的突破,或许是量变还不够,又或者是需要多练习,写写非技术文章。

设计:PRACTISE -> MORE PRACTISE

为了响应 2017 年留下的遗憾,在这一年里,我练习了很多设计相关的工作。

设计上最大的长进,莫过于结合编程相关的知识,设计(复制)出了 Mifa Design。推广在了开源项目上,公号的排版上,自己的博客上……。就目前而言,倒也只是普普通通的排版和样式,论不上丰富的个人风格,倒是应用得有点广泛。起初呢,打算作为 Design System 来使用的,但关于 Design System 相关的设计、技术,倒也没有落到实践上。这样一推论,倒也是颇为遗憾的,只用在了术上,却没有掌握道。

我开始手绘文章中的流程图,倒也是蛮有趣的,却又稍微显得有些麻烦。先将流程图绘制在 Wacom Folio 的设备上,再同步到云上,便可以在电脑上、平板上,进行编辑和上色。好用(贵)的 Wacom设备,可以直接在上面绘制、上色、导出,省去了转换过程稍许的麻烦。而设计的最先步骤,还是得先在纸上绘制相应的草稿。

心情好的时候,又或者是闲暇时间,便会画上点东西,作为封面。虽只能算上涂鸦,作为封面,却有了一点个性——不再是千篇一律。偶然间,也和 @花仲马 一起参加了公司的周末活动,尝试了画一张油画,尽管画出了水墨画的感觉。

多多少少,还是有了点信心,未来在时机合适的时候,但是会发挥更大的价值。只是于自己而言,还是相当的缺乏练习。在未来的一年里,写累代码的时候,倒可以投入部分的精力,以放松一下神经。掌握了门道,多加练习,快速地画上一张画,倒也是蛮兴奋的。也许还可以结合一些 AI 图像相关的内容,完善相关的个人风格化图像。

除此,和 @花仲马 的马来西亚之游里,我还 GET 了一个摄影相关的技能:连拍——一千张图里,总有一张是合适的。摄影、漫画和电影,存在相仿的地方,对于镜头的把握,便也是一个值得掌握的技巧。日常多加了解,多加注意,便是也会 GET 到新功能。

总得尝试新的方式,突破渴望,才能知道自己会什么。

其它

这一年下来,看了几本关于人生的文学、人说书籍。也算领悟了一个基本的道理,想在某一个行业里干下去,靠的不是年轻时候的熬夜、学习,而是持续保持稳定的投入以及稳定的输出,也就是长期的职业生涯。做喜欢做的事情,寻找提高点,不断突破自己。如此一看,关于编程-设计-写作,都有了各自的场景、应用、规则和计划。时间一长,问题倒也是不大,都有各自发挥的空间。

可生活和工作,不止是这些个人兴趣,还得花些时间在其它的方方面面,如各种各样的软技能。

比如说,沟通,如何达到令人信服的沟通能力。

比如说,成为一个栽培者、Coach、导师。

比如说,影响力,面向更高 title 人级的技术和非技术影响力。

若是要考虑未来,便总会想着成为自由的职业者,而不是成为螺丝钉。

Hello, 2019

2019 大抵会是一个艰苦的开始。 Hello, Hangzhou.

往年回顾:

《回顾2015年:从复杂到简单》

《2016年节点——增长的一年:不只编程》

《2017 年节点——T 型成长,持续学习》

你呢?

Phodal 的 2018 节点:Think Big Be Long相关推荐

  1. zookeeper学习02 使用

    知识点: 1)zookeeper客户端的使用 2)zoo.cfg里面配置信息的讲解 3)zookeeper的一些常见概念模型 4)zookeeper java客户端的使用 zoo.cfg配置文件参数分 ...

  2. 2021秋招学习笔记

    PS:csdn上有很多图片加载不出来,有PDF版在我的资源.(如果没有1积分可以评论我,直接发给你邮箱) 文章目录 Java基础篇学习(7/3-7/4) 数据类型 泛型.反射.注解.序列化(加实例) ...

  3. NI LabVIEW 2018 DAQmx定时属性节点 缺失部分属性的问题 解决方案

    NI LabVIEW 2018 DAQmx定时属性节点 缺失部分属性的问题 解决方案 (一)部分属性缺失的问题 (二)解决方法 (一)部分属性缺失的问题 图1 DAQmx定时的全部属性节点   如图1 ...

  4. 牛客网 2018校招真题 美团点评 重要节点

    Description 牛客网 2018校招真题 重要节点 Solving Ideas BFS 创建一个标记数组arrive,arrive[i][j]为true表示从i可以到达j, false则不能 ...

  5. 2018第一届世界区块链大会在澳召开 24日分会场嘉宾分享+项目路演+超级节点

    4月24日上午,2018第一届世界区块链大会·三点钟峰会(W.B.C)在中国澳门威尼斯人大酒店举行,分为主会场和分会场. 当主会场聚焦"宏观经济"的区块链相关主题演讲8场接力赛如火 ...

  6. 当前时间节点的LiteOS评述 2018.9

     从设计就是为了低速芯片,ARM-M0/3/7等等~~~~ 1.也就没有虚拟.物理内存的区别, 2.也就没有内核态等区别 3.于是开发的业务代码其实是写到了LiteOS的一部分 本质上是一个大程序.. ...

  7. 2019 节点: Love Wife Change Life

    为什么你还在 ThoughtWorks? 因为不加班.人生总会有很多的选择,在决策的那一刻,你不知道对与错.但是,开心就好. 12 月初,ThoughtWorks 开始了 Annual Review ...

  8. 2018 Google kickstart Problem A. Planet Distance

    题目描述 Small dataset 3 ≤ N ≤ 30. Large dataset 3 ≤ N ≤ 1000.input 2 5 1 2 2 3 3 4 2 4 5 3 3 1 2 3 2 1 ...

  9. CV算法复现(分类算法6/6):MobileNet(2017年V1,2018年V2,2019年V3,谷歌)

    致谢:霹雳吧啦Wz:霹雳吧啦Wz的个人空间_哔哩哔哩_Bilibili 目录 致谢:霹雳吧啦Wz:霹雳吧啦Wz的个人空间_哔哩哔哩_Bilibili 1 本次要点 1.1 pytorch框架语法 2 ...

  10. 以太坊区块链同步_以太坊69:如何在10分钟内建立完全同步的区块链节点

    以太坊区块链同步 by Lukas Lukac 卢卡斯·卢卡奇(Lukas Lukac) Ethereu M 69:如何在10分钟内建立完全同步的区块链节点 (Ethereum 69: how to ...

最新文章

  1. hdu 5909 Tree Cutting——点分治(树形DP转为序列DP)
  2. Java数据结构与算法——插入排序
  3. 【推荐软件】wingrep
  4. unityscrollview生成大量_superscrollviewforUGUI的一些使用心得
  5. linux dhcpd 设置 关于 subnet
  6. 近7成开发者无开源收入、最想操作系统开源、Java最受欢迎 | 揭晓中国开源开发者现状...
  7. Windows8、Windows8.1使用便签工具
  8. 菜鸟记录:安卓手机导出微信聊天记录
  9. Cartographer(二)使用思岚rplidar雷达进行cartographer建图
  10. 啡鸟集咖啡报告:每天喝3-4杯咖啡有助延年益寿
  11. rrpp协议如何修改_RRPP 演示实例
  12. 成熙英语——我的选择
  13. CSAPP AttackLab解题记录
  14. 报道 | 香港科技大学三十周年校庆红鸟之夜庆祝晚宴圆满落幕
  15. PCB与设备外壳接地问题
  16. C# 中 throw ( 抛出异常 )的用法
  17. php俄罗斯方块代码,JavaScript实现俄罗斯方块游戏过程分析及源码分享_javascript技巧...
  18. python爬取歌曲的全部评论
  19. h5 android 滚动条卡顿,h5页面滑动卡顿解决方法
  20. 计算机带不动移动硬盘,家里电脑带不动?教你一招把steam游戏带到网吧里玩!...

热门文章

  1. 一拳超人最强之男手游辅助脚本 快速升级提高提高战力
  2. 地图上制作线路的动画_航线地图上的动画飞行效果怎么实现?只要五步轻松上手...
  3. 【安全狗高危安全通告】2月“微软补丁日” 发布多个高危漏洞
  4. 技术团队管理实践及心得
  5. Ubuntu串口驱动安装及串口权限设置
  6. 黄金矿工swf游戏修改
  7. 使用SQLParameter解决SQL注入问题
  8. java 32位_java8update下载
  9. flash做动画教程(基础篇)
  10. c语言课程设计--打飞碟源代码,c语言课程设计_打飞碟提高篇.doc