home

2020 年度总结

以前从来没有写过年度总结,一方面自己懒,另外一方面觉得自己写东西实在不是什么好手,当众露怯就不好了。2020 对我的影响实在是太大了,所以逼迫自己写下这篇年度总结,希望自己不要忘记这一年发生过的事情。
在 2019 年 11 月的时候,我和一家位于德国柏林的公司 SumUp 签订了劳动合同,原计划 2020 年 3 月入职。入职前的这段时间里我的工作就是准备签证,并且搬离广州。就在准备前往柏林开启我人生的新篇章时,我的 2020 开始了。

工作

我预约面签的时间是 1 月 21 日。这一天广州还不太能感受到疫情的影响,我前往领事馆的路上大概只有 20% 的人戴着口罩。我和家人预计这场疫情可能会比 SARS 缓和,因为政府已经经历过了 SARS 的考验。这时候我觉得就算疫情肆虐中国,我可能也已经离开了。
签证的补交材料在 2 月前公司同事复工并且回到办公室后才得以集齐。这时候,我已经和公司沟通推迟原本定于三月的开工日期,SumUp 非常理解地同意了我的提议并且暂不决定新的日期。
非常不幸的是,我的公司由于无法提供领事馆需要的疫情期间入境豁免证明(工作紧迫性证明),我的签证一直拖到 9 月都无法被批准。这时公司已经无法再继续等待,便和我签署了解除劳动关系合同。这份豁免证明按照领事馆的书面规定应该由雇主提供,但是我的签证官却要求必须增加一份德国政府部门出具的工作紧迫性证明。

再次找工作

抱着最后一搏的想法,我又开始投简历。在经过了一个月密集的面试后,我最终敲定了另一家位于柏林的公司 Klarna
2020 年 12 月我再一次来到德国领事馆,提交了新的签证申请,不知道这回结果会怎样。
在找工作期间,有不少推友找到我想让我分享找工作的技巧。网络上已经很多找工作和面试的经历分享,这里我就说一个没有人提及的技巧吧。
大家都希望能进耳熟能详的大厂,但现实可能自己只够得到自己不认识公司的要求。如何快速筛选出处在自己喜欢的领域、具备合适规模(规模太小可能不愿意招收来自中国的应聘者)的公司呢?介绍给大家 Crunchbase。Crunchbase 类似国内的企查查,通过它你可以了解到一家公司的规模、财务状况、融资信息、新闻等等。借助 7 天的 trial Pro 账户,你还可以检索到同领域同规模的其它公司。由于他们的规模和领域类似,假如有一家邀约面试那另外几家八成也会向你投来橄榄枝。
notion image
你还可以借助 LinkedIn 和 Glassdoor 来进行交叉比对,判断一家公司是否适合自己。

Side Projects

因为没有全职工作,2020 年我在 side projects 上花费了很多时间。通过这些业余项目,让我有机会尝试没有用过的技术,我认为这是业余项目带给我最大的价值。

Surgio

Surgio 2020 年总共发了 50 多个版本,收获了 439 个 star,月下载量超过 5000。
我在 Surgio 中尝试了:
  1. React:在前公司写了好几年 Vue,结果找工作时几乎都是要求 React。这个项目让我重拾了多年前写过的 React。
  1. Serverless:为了方便部署 Surgio Gateway,我对比了国内国外多种 Serverless 的部署方案,调研了不同方案下的开发和维护体验,最终选定 Vercel。

YASD

YASD 的诞生主要是为了解决我自己的需求,另一方面也是为了想尝试一下 CSS-in-JS 这种开发模式的体验如何。
这个项目开发和优化花了一两周的时间,收获了 100 个 star。
项目中用到了:
  1. sumup-oss/circuit-ui:这个 UI 框架是之前我准备入职公司的开源项目。虽然他们不要我了但是我觉得这个框架还挺好看的,而且基于 emotion 开发也可以帮助我更好了解 CSS-in-JS。
  1. tailwindcss:Tailwind 在 2020 年确实火了一把,并且奇迹般地实现了商业化并且盈利了。我在这个项目中使用 Tailwind 来开发 circuit-ui 无法满足的组件样式,体验非常爽。

A Translator

我一直想开发一个收费服务,体验维护一个商业项目的全流程,便有了 A Traslator。这个服务通过调用 DeepL 的 API,借助我开发的软件集成来实现文字翻译。
目前这个服务上线了快两个月,实现了账面上的收支平衡。没有计算我自己的劳动力投入,不过还是达到了我预期的目标。
项目中用到了:
  1. Stripe:不得不说 Stripe 的开发者服务实在是太完善了,从接入支付到售后都让我给钱给得心服口服。
  1. Chrome Extension:这会终于体验了一次开发 Chrome 插件是怎样的,如何封装插件、组织内测、分发插件。
  1. Strapi:我在自己的私活里用过 Strapi,这个项目的后台和 API 也是通过 Strapi 完成的。Strapi 开箱即用的特点非常适合用在小项目里,同时也提供了便利的方式自定义拓展。它也有一个很突出的问题,就是文档不够全面和及时,不少功能仅是一笔带过,经常需要浏览源码和 issue 才能搞懂。
  1. 有客:来自新小科技的有客是一个刚面世不久的客服系统,免费额度刚好能够满足我这样小项目的需求。他们的 Slack 集成也快上线了。
  1. Datadog:在面试 Klarna 时得知他们的前端团队使用 Datadog 来监控应用性能和健康度,我就在自己的项目里加入了探针,自己切身体验 Datadog。Datadog 确实非常方便,只需简单配置便可在不侵入代码的情况下实现完备的 Node 应用健康度监控。

其它

除了上面用 Node 实现的工具和服务之外,我还在学习 Go。最近我写了两个小工具 steam-otpflomo-cli。不得不说在开发体验上 Go 真的高过 Node 不知道多少。
另外,我终于在 30 岁之前拿到了驾照。

新的一年

2020 给我开了个大大的玩笑,我对 2021 唯一的希望就是他比 2020 更好,即使只是好一点点我也愿意。
最后,感谢各位在我最沮丧时激励我的家人和朋友;Twitter 上帮忙转发的推油和 @chemhack 的雪中送炭。
notion image
 
cd /blog