简介

阿里巴巴(深圳)前端技术专家,五年全栈+前端开发经验。

十年 Linux 重度用户,openSUSE 和 KDE 项目开发者。

博客不定期更新。

👨‍🎓教育篇

2014 年八月至 2017 年六月,阿尔托大学(赫尔辛基)艺术学硕士,主修 Collaborative & Industrial Design 卒业。

2010 年八月至 2014 年六月,浙江大学(杭州),工学学士,主修工业设计卒业,辅修竺可桢学院工程教育高级班业。

2007 年八月至 2010 年六月,河北省徐水县综合高中,全省第一百二十八名,全校第四名卒业。

2004 年九月至 2007 年六月,河北省徐水县正村乡第一中学,全校第二名卒业。

1998 年九月至 2004 年七月,河北省徐水县正村小学,全校第一名卒业。

🏅获奖篇

2018 年十月,Mercari Euro Hack 2018(华沙)第三名。

2014 年六月,浙江大学优秀毕业设计。

2013 年六月,RoboCup 小仿人足球机器人组第三名。

2012 年十二月,浙江大学优秀学生一等奖学金。

2012 年十一月,国家励志奖学金。

2012 年四月,浙江大学中控杯机器人竞赛最佳设计奖。

2011 年十月,国家励志奖学金。

👨‍💻工作篇

2020 年十一月至今,前端技术专家,阿里巴巴 ICBU 技术部,深圳

  • 跨境供应链系统的前端工程研发与体验优化
  • 复杂 React 组件设计与性能优化
  • 前端构建工具设计与组件平台开发,CI 流水线定制
  • 前端代码规约与自动化工具维护,在业务项目中推广 TypeScript

2019 年二月至 2020 年十月,全栈工程师,Adventure Club Helsinki Oy,赫尔辛基

  • 为 Adidas 及其子品牌开发基于 React 的设计系统及组件库
  • 为 Elisa 等芬兰企业开发基于 React + Node.js + MongoDB 的电商网站

2017 年六月至 2019 年一月,全栈工程师,RestByte Oy,赫尔辛基

  • 开发 GraphQL + Node.js + React + TypeScript 技术栈的建筑工程管理系统
  • 开发基于 Electron + React + OCR + OpenCV 的 PDF 识别和数据导入应用

2015 年二月至六月,全栈工程师(兼职),WikiWebGuides Oy,赫尔辛基

  • 基于 MediaWiki 系统进行支付功能扩展和用户界面优化
  • 包括前端 HTML,CSS 和 JavaScript 开发,也有后端 PHP 开发

2014 年三月至四月,前端(实习),上海亦存网络,即坚果云

  • 企业版新特性的开发,如应用专用密码,统一系统日志
  • 开发以 WebDav 技术为核心的 Chrome App,将无线存储设备中的图片,音乐,视频在TV 上播放。

💻技能篇

专精

  • TypeScript 及其工具链
  • React, 以及 Next.js 等应用框架
  • Webpack, Rollup, Vite, Babel, esbuild 等构建工具,定制完整的构建系统
  • Node.js 和 Express 后端框架
  • Jest 和 Karma 等前端单元测试框架

业界一流

JavaScript, Node.js, React, TypeScript, CSS, SaSS, Webpack, ESLint, Stylelint, Unit Tests, CI Tests, End-to-end Tests, Git

UI, Graphics, Prototyping

比较熟练

PHP, MySQL, Apache, WordPress, MediaWiki, AWS, Firebase, Linux 运维, RPM 打包

C++, Qt, CMake, Java, Python, Perl, Android

Processing, Arduino, 嵌入式系统, 各种传感器, 电路焊接, 电器修理, CAD 建模制图

偶尔会玩

木工, 金工, 园艺, 缝纫

🎮习性篇

曾经修过磁带随身听,做过机器人比赛,修过电脑,换过手机屏幕,对各种芯片和传感器仍然有极大的兴趣。

曾经沉迷动漫,随着日本优秀动漫的衰落和国产垃圾动漫的崛起,逐渐放弃了这个兴趣。目前仍然在等完结的是《进击的巨人》和《亚人》。有两只平泽唯的手办,但是最喜欢田井中律。

游戏不太擅长,也不太有时间玩。网络游戏基本戒掉了。有机会的话重刷《战神1》和《鬼武者3》。想要一台开源掌上游戏机。

几乎不怎么读书了,最近在读爱德华·斯诺登的《永久记录》。

喜欢逛博物馆,想办一张芬兰的博物馆通票。

有一只兔子玩偶,我叫它维克多。

偶尔想起来会更新博客,基本退出了社交网络。

🏫浙大篇

浙江大学时期

2010年秋季加入浙江大学机器人协会,学习制作机器人所需的科学技术:编程,数字电路,机械动力。后兼任宣传部部长,设计海报,网页,传单等。2011年九月开始参加中控杯机器人竞赛,与另两位同学一组。2012年四月完成机器人的制作和测试,正式参赛。虽然在比赛中未能晋级,但因设计方案完善而获得“最佳设计奖”。后继续在机器人协会参与机器人技术培训,指导新生制作机器人和参与比赛。2012年十月经过面试,加入浙江大学机器人实验室的其中一个小组,研究小型类人机器人,主要参加国内外的机器人足球赛。这是我参与过的最高级的科研项目。

2012年暑假,偶然间访问了一个学生网站“浙大学习网”并参与了他们的一些活动。学习网主要分享学习资源,推广自由软件,受到浙江大学信息中心的支持。当时的 Leader 是个思维很独特的人,对自由软件、知识共享和互联网思维颇有见解。开始的时候,我虽然没有正式加入,却和其他人一样参加活动,学习 Web 技术。除了学习网自己的网站,还参与了浙大百科,西湖百科,浙大讲座网站的开发。2013年下半年开始担任 Leader,当时只有五个人,六个网站,十几万经费。在我负责的一年中,原有网站没有扩展,只是重新设计了用户界面和站点结构,新增了一些实验性质的项目。

大学期间还参与编辑了维基百科,维基教科书和维基学院。2013年八月参加了在香港举办的 Wikimania 2015。

2013 年的时候认识了一个浙大学姐,然后很快就恋爱了。学姐马上大四毕业去了法国读书,因为是双学位项目所以第二年会去芬兰。于是大三暑假,对于毕业完全没有计划的我突然开始马不停蹄地准备留学。

🇫🇮芬兰篇

2014 年夏天来芬兰 Aalto University 读 MA。当时我上课的艺术学院还是在 Arabia 的,而学姐在 Otaniemi 上学。综合考虑我们在 Otaniemi 租了个家庭房,在回收中心搬了一些免费家具。

那时候学姐已经在法国历练过一年,刚来芬兰的很多事情都是她交代好我。2015 年,学姐去德国实习了。我一个人去了 Sello,以前一起去买菜的地方,却找不见。

🐧开源篇

大学的第一门计算机课是大学计算机基础。里面最有意思的一个部分是用 VMware 虚拟机安装另一个系统。后来我发现这个工具还能安装叫作 Linux 和 BSD 的操作系统。然后我在百度搜索 Linux,下载了 Redhat 9。(一万个不用百度的理由……)虽然是和 Windows XP 一样老的系统,但是里面的东西非常有趣,像是 OpenOffice 和 GIMP 之类的应用,看不懂的文件系统结构和像《黑客帝国》里面一样的命令行界面。我会时常打开它玩一玩,看别人的 Linux 教程和博客。

像大多数 Linux 用户一样,我也了解到了 Ubuntu 并用了很长一段时间。Ubuntu 的安装过程非常简洁直观,Unity 桌面整合程度非常高,有自己的包管理器和应用商店,甚至还有自己的云存储和音乐服务。厌烦了 Windows 盗版和广告软件,我开始用 Linux 作为我的主力操作系统,反而将 Windows 放进了虚拟机。那时候 Linux 用户都集中在 Ubuntu 中文论坛,有很多神级人物出没。

我的东芝笔记本用的是 ATI 的显卡,Linux 的支持并不好,经常会卡死。于是我又开始试不同的发行版,最终发现 openSUSE 的兼容性最好。这是因为 AMD 收购了 ATI 之后,将 Linux 驱动开发的工作外包给了 SUSE。所以至今为止,openSUSE 仍然有着最好的 AMD/ATI 驱动支持。另外 openSUSE 也足够稳定,KDE 桌面也非常适合定制。那之后我就没有再换过发行版了。

openSUSE 是个小众发行版,KDE 的中文用户也不是很多。那时候我通过各种论坛,IRC 和邮件列表联系到了 openSUSE 中文社区的苏姐,和 KDE 中文社区的大佬们。刚开始做一些翻译和论坛答疑方面的简单工作,被大佬们敲打。有时候也是很枯燥的,但不知道为什么就一直坚持下来了。作为一个学生,我感觉这可能是一个略微改变世界的途径。

某个暑假读了 Linus Torvalds 的自传:一个没资本没权势的芬兰普通青年拒绝了 Steve Jobs 的盛情邀请,并开发出了改变世界的操作系统核心。太酷了!接着又被 GNU 教父 RMS 的几篇经典文章洗脑,就完全投入开源世界的怀抱了。我很推荐一部纪录片《Code Rush》,讲的是网景员工和开源社区如何创建 Mozilla 并再次挑战微软的故事。它很真实,给你看人们的理想,彷徨和困境。

那时候浙大有个社团叫学习网,同时也是 Linux 用户组和 IBM 俱乐部的挂名社团。有一次他们在学校论坛发帖宣传开源宣讲会。我在帖子上留言支持了一下,然后社长就发私信给我,让我务必参加。就这样我入伙了,社团里面确实很多厉害角色。比如有个从高中就接触 Linux 的小马学弟,后来搞出了浙大开源镜像站。我们有时候会接到浙大图书馆信息部的项目,制作一些服务学校师生的网站,比如浙大的 FTP 搜索。在这个过程当中学习到了不少开发技术,比如 PHP,Python 和MySQL。

到 2014 年来到芬兰留学之后,有了更多的业余时间,也更方便接触外国开源社群。经过几年的努力我们成功将 KDE 中文的翻译流程从邮件列表转移到 Crowdin,让普通用户参与翻译工作的难度大大降低,贡献者和翻译进度获得了大幅增长。逐渐能够参与修复 KDE 的 BUG 和添加新功能,比如每日一图壁纸模块就是我在维护,还做了大量的高分屏适配工作。在 openSUSE 社区,我为很多网站添加了统一的外观样式,并打包了众多的软件包。自己开发了一些小工具,有些还挺受欢迎。

2019 年去纽伦堡参加 openSUSE Conference,认识了很多有趣的人,还和众多大佬合影留念。这是我第一次参加国际性的开源活动,公司很支持还报销了路费。如果不是后面有了新冠肺炎,我还挺想多参加一些的。

2020 年开始接触 RetroArch 项目。与社区志愿者协力将翻译迁移到 Crowdin 平台。之后解决了中日韩及阿拉伯语乱码的问题。

真正在这个圈子里的人,都是有理想的。我的想法是,子孙后代可以使用他/她可以使用我们创造的软件,没有后门,没有秘密,全人类都能免费获取,甚至可以自由阅读和修改源代码。