
当你老了,回顾一生,就会发觉:什么时候出国读书,什么时候决定做第一份职业、何时选定了对象而恋爱、什么时候结婚,其实都是命运的巨变。只是当时站在三岔路口,眼见风云千樯,你作出选择的那一日,在日记上,相当沉闷和平凡,当时还以为是生命中普通的一天。
系统而深入的获取知识
衡量程序员优劣的其中一个维度是基础是否牢固。你想摆脱简单的重复性劳动去负责更重要的模块基础这块是无法避免的。
js 中的 Promise 原理了解 FRP 才能理解的更深入;vue 的 keep-alive 组件使用了 LRU 算法;模板编译 client-server 模型是 web 开发的理论依据, 你对他掌握的如何取决于你自身网络协议的功底;AST (abstract syntax tree) 是编译原理中的理论、对操作系统了解的不够不管你写什么后端语言,也只会是个接口开发人员。
2020 年减少碎片化信息的获取,碎片化信息可以作为一个了解知识的入口但不能直接靠他来提升技能,利用业余时间看书或者线上 MOOC 的方式去系统的获取知识。也是避免 提前工作 ( overworking ) 情况的发生。
过度工作(overworking):劳动者提前透支自己的技能,被工作拖着走,这种情况下主观能动性会收到很大影响。
输出意识
来北京之后学到的最重要的一点一定是「输出意识」。在技术论坛里看过的不代表自己理解掌握了,提高这些碎片化知识的转化率需要个人记录和实践,眼睛觉得看到的东西很简单、可是手不这么认为。「输出意识」的具体表现为文档、博客、一段验证性质的代码片段;甚至可以为自己吃过的某道菜和看过的电影和书籍都可以写自己的评价。
业务
目前自己负责的
工作后接触到的业务方向一直是 B 端,基本上写了两年多的 web 页面,主要类型是复杂的 web 中后台系统。实际上业务是千变万化的,自己的学习重点要放在数据流的处理方式、流行框架的工作机制上。一方面要寻求更大的业务挑战,三年是一个槛如果目前的工作环境无法满足自己的需求那么就要考虑跳槽。另一方面探索 low code 这种业务处理模式,类似 uform、formRender 的表单处理方案。
目前不是自己负责的但接触很多的
自己的第一家公司规模比较大,基础技术设施比较完备,所以可以只专心做一个系统甚至一个模块的开发,专注于开发语言本身。来到 Keep 后情况就大不同,年轻公司的基础技术平台建设几乎为零,自己也直接或间接的参与了公司的基础技术平台建设,从 SSO、BFF 代理服务到CI CD 平台、前端研发体系、全链路压测平台、运维体系、复杂工单的流转平台等等。
虚荣指标
虚荣指标对自己目标的达成有一定促进意义,所以 2020 年也给自己定几个虚荣指标督促自己:
1、 每天看书
- 计划 《SICP》已完成 3 0 页(JavaScript 语言的开发者是 scheme 的狂热粉丝, SICP 曾是很多高校的基础读物,其中使用lisp 的一种方言 scheme 语言来教学, 可以提升对不同编程语言的系统性认识)
2、 学习一门新的编程语言(主要应用在 server)
- 把 Java Spring Boot 应用在业务中,有条件就做起来。
3、 坚持每周刷题 leetcode
4、 github 每月活跃 >= 28 天
5、 坚持写博客,持续输出
6、减少焦虑、理性看待各种博文。