“不曾放慢前进的脚步”--月落星河的2024年第一季度总结

前言

时间总是转瞬即逝，就像此时此刻回忆昨天，涌现上来的却是周一的记忆；此时此刻回忆 2024 年的跨年，似乎还是不久之前的一个下午，为了避开当晚杭州的天价酒店，坐上高铁启程去了千岛湖。

2024 年的第一个季度发生了很多的变故，自己也在按照上一年的展望采取一些行动，落实了很多事情。每一天相比较以往来说劳累了一些，但过得很充实。我依然在尝试很多新事物，同时也兜兜转转，又回过头来开始做一些自己熟悉的事情。

我决定稍稍记录一下这个季度里发生的几件里程碑一样的事件：一场铩羽而归的考试，一些开源社区的贡献，以及接下来自己计划要做的事情。

铩羽而归的 CDA LEVEL II 资格认证考试

虽然我的职位是 “软件开发工程师”，但是曾经有一段时间我一直在做和数据相关的工作：数据治理、DCMM 认证、驾驶舱的搭建、数据管理平台的二次开发等等，当时公司的报表平台也是我来管理。那段时间由于自己的前端开发水平不高，而和数据打交道会感觉很开心，在做这些工作的时候会有一种成就感，因此我默默将 “数据分析师” 作为自己的一个发展方向，学习相关的知识，考取对应的认证，这个过程中自己掌握了一些基本的分析方法，也拿下了 LEVEL I 的证书。

而后很长一段时间由于工作内容调整，我又回归了前端开发的任务中，相关知识的学习就被搁置了，LEVEL II 的知识也迟迟没有开始学习，这也为后来自己在考试前的一个半月里东一榔头西一棒槌地通过题海战术学习埋下了隐患。统计学的知识并非一朝一夕通过大量练习和经验就能牢固掌握，一旦考察的方式发生变化，所有累积的经验判断反而会让你做出错误的选择。因此，虽然自己那段时间除了上班外几乎就是不断做题和学习相关的知识，但是最后没有取得一个好的结果，反而是很正常的情况。至于铩羽而归让我付出的另外一些代价，就是另一回事了。

凡事预则立，不预则废。做一件事一方面要给自己留够足够充分的准备时间，一方面也要做好相关的计划，还有就是要不断让自己坚持下来。而对于学习一些新的知识，唯一需要让自己警醒的就是一定要对学到的东西产生自己的理解，以此加深对知识的掌握程度。

活跃于 Github 开始参与开源贡献

虽然有着接近三年的工作经验，但是自己最清楚自己的技术水平是什么程度。以我目前的水平，如果想参与一些知名项目的代码层面贡献几乎不可能，无论是英文的阅读还是代码的理解，对我来说目前都还很困难。

不过相对而言我可以从一些文档或内容的翻译入手。通过阅读英文原版文档和技术文章，一方面自己的英文阅读能力能够有所提升，同时对如何使用这门技术有了更深刻的理解，一方面自己可以通过自己的贡献来帮助整个项目或社区的发展，达到一种双赢。

一个偶然的机会我接触到了 Astro 中文文档的翻译校对，而后不久在自己通过 freeCodeCamp 学习一些基础知识的时候，我接触到了社区内容本土化相关的工作，下面分别详细聊一聊这两部分。

Astro 中文文档翻译

某天看到一条消息，讲的是 “最近收到很多来自中国的贡献者对 Astro 的中文文档做出贡献，文档中依旧有许多语句不通顺或有误的地方，欢迎大家参与贡献。”

当时我虽然对 Astro 本身不太了解，但是由于之前也参与过 NextCloud 和 WordPress 的本土化翻译工作，所以就想着参与一下，看看大概的贡献流程是什么样的，熟悉一下 Github 上提 PR 的过程。在这个过程中感谢liruifengv帮助我修改 PR 标题格式等细节，让我完成一个符合规范的 PR，并在相关维护者 Review 后被 Merge。参与贡献总能让我很兴奋，觉得自己做了想做的事，同时帮助了别人。

当然随着阅读 Astro 文档，我也开始创建第一个 Astro 项目，考察它在博客场景的表现和 i18n 的支持程度。虽然我现在依旧还在沿用自己那套 Hexo 的博客，但是也许再过一小段时间，我就会开始对博客进行基于 Astro 的重构，希望新的博客可以带来更优雅的设计。

freeCodeCamp 中文社区贡献者

之前我在领英上看到有的用户将 freeCodeCamp 的资格认证放在了自己的领英资料中，于是对这个网站产生了一些兴趣。正好那时我计划着开始学习 React，同时需要回顾一下 web 开发的基础知识，就跟着课程一步步学习和编写代码。学习过程中，我发现课程大体内容是中文，但有一部分是英文的，我想有可能是本地化没有做完全，就去找如何进行本地化翻译。

找到入口后，我提交了一份表单，表明自己愿意加入的意向。又过了几天，我的邮箱里突然出现了一封来自 freeCodeCamp 中文社区大使 Miya 的邮件，里面向我介绍了参与课程翻译和文章翻译的方式。课程翻译通过Crowdin，而文章翻译通过Github。我在 Issue 列表中发现了一篇和 JavaScript 的 DOM 操作相关的文章，而我那时正想详细了解这部分的知识，于是我挑选了那篇文章作为我的第一篇翻译文章。

幸运的是，那篇文章的行文非常通俗易懂，看懂并完成翻译并不是什么难事。所以翻译完成并提交后，我的译文在校对中一遍通过，随后 Miya 邀请我成为 freeCodeCamp 专栏作者，并将我的译文发布在了 freeCodeCamp 上。

正式成为 freeCodeCamp 专栏作者那天我很兴奋，特意发动态纪念了一下。起初我打算搬运一些自己写过的博文到 freeCodeCamp 上，但是随着自己阅读和翻译的文章变多，我越来越觉得自己写过的东西有些 “难登大雅之堂”。也许接下来我需要认真构思自己写的文章的内容，在对问题的论述上讲得更加全面一些。

迄今为止我已经完成了两篇文章的翻译和一篇文章的校对，其中遇到的最大的挑战是翻译 “JavaScript 中的正则表达式（RegEx）- 初学者手册” 这篇文章。这篇文章中专有名词众多，需要经常查阅 MDN 的文档，同时文章很长，加上中途自己处理一些事情，我前后整整翻译了两周才完成。而自己从头到尾看了几遍，却也有一些被忽略的地方，非常谢谢 Miya 在校对时能够保持耐心地向我提出改进意见。

接下来我会继续参与一些翻译，在翻译的过程中学习一些自己感兴趣的知识，同时提高自己的开发技术水平，一举多得。

接下来的一些计划

接下来的三个月，我有另一场重要的考试，同时我还需要马不停蹄，在继续目前做的事情的同时，尽快开始做另外两件事情。

PMP 认证考试

今年六月期的 PMP 考试提前到了 6 月 1 日，时间有一些紧张，单纯跟着培训课程线性参与可能在知识领悟上总是不够全面。因此我计划写一些根据实际案例应用相关知识的文章，希望这个想法能够得以实践，同时这场考试祝我成功。

更新简历

我需要盘点一下自己三年以来做过哪些项目，专注于什么技术，在相关技术栈上实现了什么应用。另一方面，更新简历也是在 “以备不时之需”，为了 “广积粮”，单独的节流是不够的，要想办法能够多一条路走。

多读书，开一个新的栏目

先前看到其他开发者的公众号，总会有一些 “半月读” 的文章让我思考我是不是应该加大阅读量。毕竟不接收信息的情况下很难进一步产生自己的观点，随后向外输出新的信息。因此第一步我需要让自己每个月读一本书，并写下自己的一些感想，栏目名称现在已经有了想法，敬请期待。

隐隐的担心与忧虑

或许是我太了解自己，我对自己总有一些隐隐的担心和忧虑，或许写下来更能够让我印象深刻，时刻警醒我自己。

怠惰感与半途而废

一件事情刚开始做的时候满是新鲜感，但是时间久了可能会怠惰，最终半途而废。虽然听起来可能很顺其自然，但是这是一个需要让自己时刻警惕的事情，因为半途而废的后果，可能就是竹篮打水一场空，先前付出的努力也有可能付之一炬。

自我封闭与自以为是

我时常担心自己陷入了自己 “想当然” 的怪圈里。自己觉得应该是什么样子，或者按照某种方式做就没问题，结果实际上并不是这样。如果我陷入了自我封闭，我可能会错失一些关键信息，以及 “努力错了方向”。我需要多听一听别人的想法，多去了解别人的观点来作为参考，减少各种情境下的 “信息差”，确保自己做出正确的判断，进而采取正确的行动。

后记

最近和房东签好了租约，接下来大概清明节的时候自己会搬家到周围相对更方便的地方，而目前可预知的时间内，自己的每一天依然会过得非常充实，因为很多东西稍纵即逝，我需要加快脚步的同时把每一步都踏扎实。

我依旧需要保持对自己坦诚一些，因为真正的原因只有自己知道，自己也最清楚自己的状态和自己的感受。而自己需要弄清楚的，是在此时此刻自己最需要做什么。不断观察外界形式，拥抱变化，广积粮，做好积淀，多做一些曾经没有过的挑战。

希望接下来一切顺利。