svdu

2022年年度总结与新年展望

2022年,我算是正式步入了社会,进入了职场。在进入了职场之后,我终于知道了为什么许许多多的博客的文章产出随着时间推进而减少了。工作使人疲惫,而工作中所学到的,所用到的东西,其所可用来分享的价值是很小的。而工作之外,用来累计有价值的知识的时间很少的。好在我接触到了卡片笔记法,一年下来零散的知识还是有不少。

也正是因为开始“工作”的原因。立定的计划许多都没有实现,所以今年的总结大抵还是以阐述实际情况为主。

回顾

爱好驱动的工作及其现实

我是喜欢编程的,实际上不管是前端、后端还是其他各方面的开发,编程总是能够给我带来足够的正反馈,让我在这项活动之中获得一种心理满足。虽然在我真正进入行业之前,多少也知道这个社会上存在“摆烂”的人,但没想到现实比我想象的更加“丰富”。

截至今年结束,我已经算是入行了 7 个月了。虽然接触的人并不多,但是却领略到了曾经在网上看到的“段子”的作者的心情,即“屎山是怎么形成的”,“代码能够糟糕成什么样”,“无法读懂的代码是什么样的”。好在自己的学习路线本身就是正规的,虽然知识比起正经科班的要差一些,但是在开源社区瞎折腾,自己的乱七八糟的项目写过不少,至少在工程方面的规范和道理还是懂得的。

工作给我的职位名称是“应用开发员”,听着像是做客户端的“前端”,但实际上我却什么都在做,是正儿八经的全栈(干)工程师了。虽然什么都干,但主要还是以前端为主。前端虽然技术深度比较浅,很容易摸到天花板,但是工作了一阵子之后,我突然发现了在枯燥无趣的公司业务编码过程中,其实写前端还是多少能够带来一点编程的乐趣,虽然现在这个工司由于管理问题,无法引入版本管理、包管理、持续集成,无法用到前端各种有趣的框架,但是所写即所见所得的正反馈,比起后端写 CRUD 还是要多不少,更何况公司还用的是 “PHP5”。

工作之外

今年最遗憾的事情,估计就是没有参加到 Ludum Dare 51 届游戏制作比赛。原因是比赛日期是 10 月 1 日到 4 日,然而很遗憾的是公司加班正好是在 1 号到 4 号。比起用编程这个技能去干别人的工作,我更喜欢用编程去做一些实现自我价值的事情,比如参加游戏制作比赛、参与开源项目的开发,或者是做自己的用户产品或者技术产品。不过好在 LD 52 届比赛是 1 月 6 日开始,只希望到时候没有在加班。

DocScript 的开发算是停滞了。三个方面的原因:一方面我对于 DocScript 的语法设计产生了很大的动摇(主要是在它应该是 based on Lisp 还是 based on text 上)。一方面,则是我对于项目价值产生了怀疑,毕竟一个通用的模板引擎或者一个 Lisp 方言,存在的价值好像并不大,但是 DocScript 立项的根本又实际上是依赖于这种存在,做出一个通用性极高的产品,似乎并没有什么太大的意义。另一方面当然还是因为时间管理太差了,想做的事情太多,能用的时间太少。

2022的财政总结

工作之后,收入就相对稳定了,比起去年的账本只能看见资产的减少,今年至少能够看见资产是呈现上升状态的。所以简单的做一下总结吧:

1. 总资产增加了 6%
2. 支出前五的项目:
    1. 购物:46.95%
        - 其中的 60% 是用来购买 MBP
    2. 出行:16.41%
    3. 保险:9.39%
    4. 费用:8.27%
        - 包括但不限于税、各种乱七八糟的短信费、手续费、年费
    5. 食物:7.67%
3. 总计账目 1045 笔

今年最大的一笔支出就是购买一台 MacBook Pro ,本来购买电脑应该记作生产力工具的,但是记作了购物。现在看起来我的账户中区分了购物和生产力两项多少有些问题,对于普通购物的和生产力的区分确实很难断定,明年开始大概都会记作购物了。

除开 MBP 的话,今年的资产增加还是比较可观的,购买 MBP 本身也是寄希望于其为能我带来一些额外的收入,不过可惜今年的时间不足,明年在努力了,希望它能够自己赚回自己。

2022的知识总结

今年看得知识类的书太少了,四舍五入甚至可以说根本没有看。所以也就没有列表了,就看了一本《算法图解》,一本讲述算法概念和一些常见算法的小书,两三天就看完了。

展望

技术进步与知识强化

去年说了自己的技术定向,但实际上好像自己的工作和自己选择的方向没有任何一点关系。这倒是问题也不大,毕竟工作所需要的技术其实都是皮毛的一部分,这并不影响自己的进步。不过工作也肯定还是要精益求精,所以工作的知识还是强化一些才行。

所以明年的技术目标可以稍微明确一些(下列内容按优先级排序):

  1. 强化算法和数据结构知识
  2. 补全自己的数学知识
  3. 学习更多更深入的前端知识(例如 WASM, Worker 等)
  4. 补充缺失的前端知识 (例如 DOM, BOM 等)
  5. 继续学习 C++, Lisp。并使用它们制作项目
  6. 学习 Go, Haskell, Rust

除了技术方面,在通用知识上也决定进行一些强化,当前来说主要还是在英语上。今年以来自己的英语水平自我感觉是没有太多提升,虽然去年一样,自己看英语的时候并不需要脑子中进行翻译,但是在自己需要表达的时候,就很难从茫茫的词海中选择合适的词,这种时候又就开始依赖了机器翻译工具了。

所以针对这个弱点,唯一的解决办法就是强化输出,目前的想法有两点,一是写英文的文章,这一点倒是比较容易实现,但问题是没啥好写的。另一点就是在英文技术社区中去沟通交流,实质上去年开始,自己去参自己关注的开源项目,去提 issue 或者修复 bug (还没有尝试过加新功能)。所以感觉后者会比较现实一点。

实质上,去年由于不敢主动地去交流,导致自己参加 Ludum Dare 的游戏,并没有被其他人看到,也没有被评分。这是去年最大的失败!今年由于时间管理太糟糕了,导致没有太多机会用输出英语。所以明年如果有机会参加 Ludum Dare ,一定要多去交流。

自我实现与经济增长

今年积累了不少前端(客户端)开发的经验,于是决定明年做一些实际可用的产品出来。不再是面向专业用户的产品,而是面向普通人的产品。不过具体做什么还要再想想看,不过大概率是以解决自己的实际问题为主,然后看看有看看有没有其他人和我有同样的需求以此来吸引用户。

毕竟要完全从头做一个产品实际上是很困难的事情,需要面对空气进行需求分析,如果假设自己就是用户,那么就很容易陷入“我觉得如何”的地步,来做一个面向其他广大用户的产品,其结局就是根本没有人用。所以倒不如一开始就做一个自己用的产品,解决自己切实存在的需求。

另一方面,由于工作经验不够长,薪资并不理想。抛开今年最大的开支之后,在常规开支的情况下资产增长也只有 23% 。这对于我的目标来说着实有点太低了,因此决定明年可能会考虑在空闲的时候,结一些简单的外包的活来做,赚一点外快,提升一下资产增长率。

不过自己还是更希望能做出一个非常出众的开源项目,然后有人给我赞助(超高难度)。毕竟如果自己的能力能够为行业,为社会做出贡献,那便是一个程序员最大的荣幸,至少对我来说,这不亚于取得了世界级的奖项。

工具的抉择

在去年的时候,我说自己受够了 Visual Studio Code,想要使用别的代码编辑器。毕竟代码编辑器作为程序员手里的锤子,其是否顺手确实决定了工作的效率。于是我从年初开始就切换到了 neovim,虽然我说过 vimscript 难以被人类理解,但是当我上手之后,特别是 neovim 的 lua 插件大行其道之后,我才发现,viml 其实并不难读懂,特别是当我们在“vim 国”时,viml 反而是最自然的,而后面引入 lua 反而更像是一门外语。

结果倒腾了一圈,我发现自己又回到了 Visual Studio Code,不过大概只是暂时性,因为我现在正在学习一门全新的编程键位,它比 vim 的那套更为方便直观,而且最为关键的是,其设计可以省略许多插件。具体是什么,在我熟悉这套键位,搞懂了原生编辑器之后再专门写篇文章介绍,现在可以说的是:这是一个能够让我一天上手当日爱上的设计。

不过原生编辑器是 unix-only 的,所以大概我会在 Windows 上面用 vscode 做开发,而如果是 terminal 模式下,特别是需要在全终端环境下开发,我大概会用原生编辑器。

期待

这个社会比起能力比起学历,其实在某种意义上也更看重“工作经验年限”,毕竟工作经验年限也更反应应聘者的价值。我很高兴自己在这个我自己所热爱的行业干了 7 个月,而再过 5 个月。我也将成为一至三年工作经验的其中一员,这让我对未来充满了期待,毕竟这是一个字面上和实际上从 0 到 1 的进步。

自己也离自己的目标实现,更近了一步。