FCC DevTalk 005丨水歌:飞扬吧,开源少年!

FCC DevTalk 005丨水歌:飞扬吧,开源少年!
0


FCC DevTalk 是一档访谈栏目,邀请资深开发者、互联网从业者分享学习编程的经验、工作经历以及其他有趣的故事。

印象中的水歌是一个腼腆的大男孩,但是一讲到开源或者社区他就滔滔不绝言无不尽,整个人都闪闪发光✨我给他发出访谈邀约的时候,他说“我不是一个很有故事的男同学”,但是我知道这个年轻的开源老兵身上一定是有很多故事啦,特别是读到川大《i 飞扬》杂志对他的专访时,听着青春洋溢的背景音乐,似乎能够看到当年校园里风华正茂的少年。不过,就像歌词里唱的那样——我们不必等待,就是现在——最好的时光是当下,现在的水歌是最好的水歌,对吗^_^

也许这篇访谈中我挖掘到的故事还不够丰富,欢迎大家在评论区讲讲你所认识的水歌。

FCC DevTalk,美好的事情正在发生……


1. 简要介绍一下自己吧。

艺名 水歌 、网名 TechQuery, Web/JavaScript 全栈开发者 ,是多个国内外开源软件项目的作者、贡献者。现为 freeCodeCamp 成都社区第四任负责人,也在开源社基础设施组和 ThoughtWorks 公司工作。2018 年也终于成为小时候仰视的微软最有价值专家(开发者技术类)。

2. 你是什么时候开始接触电脑,什么时候开始写代码的?

小学二年级暑假,老爸给我报了个电脑学习班,从 MS-DOS、Windows 95 开始学,就打开了新世界的大门。正巧学习班租用的是本地新华书店的写字楼,从那时起就养成了课后找书看着学的习惯。

至于写代码,虽然小学三年级开始的计算机课有教 Logo 语言(小图龟),初一每周的兴趣课也有 VB 6 编程,但在当时惧怕数学、英语的我看来,都是抱着书催眠的东西…… 直到大一上 C 语言专业课也没自己写过实用程序。最早上手编程还是因为在大学 IT 社团为同学、老师修电脑太多,发现命令行脚本可以大大提高机械重复工作的效率。

3. 水歌这个称呼是怎么来的?

因为在大学社团里一遇到技术、公益活动的话题就滔滔不绝,那时流行“论坛灌水”的说法,学长就叫我“水哥”…… 我一开始是拒绝的,听起来很“水”,可叫多了就“真香”了,后来又被“伪文艺”的我改成“水歌”~

4、你在大学阶段最难忘的经历是什么?

我的大学 ≈ 图书馆看书写代码 + 做公益 IT 社团

(这两点是我今天对 IT、编程、开源、社区有所思考、有所建树的基石)

虽然高中合伙建过社团,但因为校史上从未有过 IT 社团,基本是自己摸索着做,换届半年后还让学弟给解散了,自觉很不成功…… 当来到川大,遇见飞扬俱乐部这个白手起家、日臻完善的 公益 IT 社团 ,便毫不犹豫地投身进去。

虽然我加入时飞扬已 5 岁,但却正处在从第一次危机中爬出来的过程 —— 技术员水平青黄不接,我们上一届卸任前还出了 大型电脑维修活动 现场丢了一台联想奥运纪念版笔记本的重大事故。但也是从那时起,我提出的“现场桌椅围合式布局”、设计的《电脑维修服务记录单》和起草的《电脑维修技术员考核大纲》成了飞扬至今的标配。

本届团队上任前的 改革研讨会 上,我提出的“软件、网络两部合并为研发部”方案被采纳,并成为创始团队成员,开始跟着代码大神学艺。但前期还主要在带其他维修师傅带不过来的“可怜”徒弟,在实践中审校《电脑维修技术员培训教材》、开发 软件维修工具 ,在研发部只担纲“产品经理”和官网副站长,并无独立编码能力,直到大三大四筹划创业也打算做个 懂技术的产品经理


这组照片是我从《i 飞扬》杂志截图的啦,很好看啊哈哈,不过水歌说他都忘了

而随着飞扬官网建设的深入,我自己也发起了【川大百科】《i 飞扬》杂志在线版,本想 给学弟学妹锻炼代码能力 的工作长期无人问津,一气之下就现学现卖,开始成为 真正的程序员 了。其后 Windows 注册表分析器、校园宽带路由拨号器、百科数据迁移工具、在线杂志框架等作品相继出炉,它们也成为我后来霸面多家公司拿到多个前端 offer 的敲门砖。

5. 大学毕业后,你的第一份工作是采购业务专员?

家庭原因让我对书店有种特殊的情感, 台湾诚品贵阳西西弗民营独立书店 兴起后令我眼前一亮,对比国营古板的新华书店,觉得这才是“一个城市的精神家园”该有的样子!看了《独立书店,你好!》之后,还曾走街串巷寻访成都的独立书店,所以当初就抱着“每天上班沐浴在油墨清香中”的想法去了一家成都本土的连锁书店。

但近一年的工作让我发现,中国的图书发行行业无论是否国营,状态都相差不大,对绝大多数从业者而言只是生意,我用一张公式不多 Excel 自动表格和一个按键脚本把每天 3 小时的人工压缩成半小时程序运行,已经是大家眼中的“大神”了……

6. 你是 JavaScript 全栈开发者,为什么选择这门语言?对于想学编程或者初入门编程的小伙伴,你有什么建议呢?

我与 JavaScript 结缘也是好事多磨。

高中从电脑杂志上知道 JS 时 jQuery 刚刚发布,那时的主流舆论还是鄙视它的,把各种历史遗留问题和非语言标准的 IE bug 放大来写文章,把它渲染成一个充满 bug 的语言…… 那时,我还是看到文字多的 IT 书籍就退避三舍,没有任何实践,也就没有任何求证,就“人云亦云”了…… 现在真想对当年那些文章作者说:“报道出了偏差,你们可是要负责的!”

后来在大学社团开发 电脑装机自动化脚本 ,因为 Windows 的 DOS 批处理功能羸弱,微软常用的 VBS 语法太丑,新系统力推的 .Net PowerShell 性能、兼容性差,曾仰慕的新手神器 Python 也发展得很庞杂了,微软系统自带的 JS 方言 JScript 就成了首选。毕竟我们这一代大学生都是谭浩强“绿宝书”养大的,“弱类型的类 C 脚本”写起来很舒服~

但我从“懂你”这个层面真正爱上 JS,还是 2015 年劳动节在家仿写 jQuery 开始的,后来这个项目也成为我第一个成熟的开源项目 iQuery.js

JavaScript (ECMAScript 5) 是一门原生支持 函数式编程范式 的、基于 原型 的面向对象语言。

在深入的实践中理解了一门语言的精髓,便会发出由衷的感叹 ——

一个函数、一个对象就能千变万化,简洁得恰到好处、强大到无以复加!

所以总的来说 ——

实践求真学以致用 是学好编程的要诀之一


freeCodeCamp 成都社区主办的 Code for City 黑客松

7. 你参与了很多开源项目,其中哪些经历让你觉得特别有成就感?

初四从堂哥那儿知道了 Ubuntu,为我开启了 开源世界 的大门。早期只是国内外 Linux 发行版的小白用户,平时的技术钻研还主要是 Ghost XP。但也正是对当年四大系统论坛之一的 Deepin 技术理念的认同与关注,让我在它转型 Linux 的伊始就有所参与。至今还记得 Deepin Linux 第一版发布后连夜安装体验,激动地给联合创始人 hiweed(冷罡华)写建议邮件。在之后的几个版本也给当时的核心开发之一写过 bug、改进汇总文章。如今,Deepin 不但成为 最好的中文 Linux 发行版 ,而且也在国际上名列前茅!

只提提改进建议总觉得自己还没真正参与进去,把自己积累的零散代码放在 GitHub 上也只是自娱自乐。终于在写开源代码 2 年后,2016 年从圣诞节前到来年春节后的两个月,我对 jQuery.prototype.contents() 方法支持 HTML 5 <template /> 标签的补丁,在外国前辈耐心指导下历经 8 次修改终于发布在 jQuery 3.2.0!第一次在亿万人每天使用的国际开源项目中留下自己的名字,别提多美了,哈哈!

当然,最让我有成就感的肯定是有朝一日我自己开发的 Web Components 框架 WebCell 能像 Vue.js 之父尤雨溪那样,走出成都、走向世界啦!


freeCodeCamp 成都社区主办的 2018 成都 Web 前端交流大会之“开源市集”

8. 你觉得国内有哪些不错的开源项目?

与开源结缘的 14 年,我见过、用过太多国人开发的优秀开源软件,在此只列举还在活跃开发、受众甚广的各领域典型代表 ——

  • 硬件级:Grub4DOS,系统启动神器

  • 系统级:Deepin,最好的中文 Linux 桌面系统

  • 软件引擎:NW.js、Electron,国人创始、全球社区

  • 应用软件:Notepad++,Windows 上最强大的文本编辑器,台湾同胞力作

  • Web 引擎:Vue.js,个人品牌经营最成功的国人开源项目

  • Web 应用:Hexo,生态完善的静态内容网站生成器,台湾同胞力作

9. 你在高中阶段就创建社团,大学期间是川大技术社团的骨干之一,如今是 freeCodeCamp 成都社区的第四任 leader,同时你还在其他技术社区中承担角色,你觉得应该如何运营一个技术社区呢?

大二刚做维修技术师傅时,还像大一新生那样冲在干活儿的第一线,忙得顾不来自己的徒弟,一个徒弟就向社长反映,社长和我说了句 —— 社团每项工作不是让 100% 胜任它的人去做得完美,而应该让还不够格、但可以努力一下做到的人去锻炼 。从此我开始转变为 导师 的角色, 事先规划过程指导事后复盘 ,4 年下来荣获“最受欢迎技术师傅”荣誉,但 三个和尚 问题还是屡见不鲜。

离开大学校园来到 FCC 成都社区,第二任 leader 姜姜也刚上任,虽然她上学时没有社团经验,但兼职打工时 敢闯敢干的拼劲儿 让她能把我提议“半月一次小活动”的方案贯彻执行, 女生天生的亲和力 也让她能不断认识、邀请各路大神来做讲师。也正是因为成都社区的人脉扩大,让我们遇见了后来的第三任 leader 青松。

青松与姜姜一见面就说“我想个人出资办个成都前端大会”,与我和姜姜在那一年前的打算不谋而合!而且他不但有想法,也已经做了一些功课,再加上 超强的执行力 ,竟带领大家一个月就办成了首届成都 Web 前端大会!从此大家对他十分佩服,也在换届时众望所归地高票接过姜姜的重担。刚上任就把原定中型活动的 React 技术交流会做成爆款大会,开创了 技术大会整合技术招聘 的新模式。接下来又多次与美团合办中型技术活动,也把我之前 走进名企 的想法做成系列活动,最后在第二届成都前端大会上支持我把开源市集实验落地。


freeCodeCamp 成都社区组织者(部分)


若干年后,大家看到这些照片想起曾经共度的美好时光,一定会从心底笑出声吧

姜姜为成都社区招募了不止青松一员大将,还有主办 Code for City 黑客松的 AK、带 FCC 进校园的书香、技术才女 Helen、设计小生波波、设计才女佳琦、文采飞扬的民成、社工经验丰富的小山、创立技术周刊的倩玉和小白、摄影大牛南宾…… FCC 成都社区在两年内一跃成为 成都著名、辐射西南、全国知名的城市技术社区 ,离不开这些 被发掘出的人才各显神通

加上在 FCC 的两年半,我也做了十多年 公益技术社团 ,自认为还没达到心中的“成功”,因为比起领工资的商业公司,公益组织要面临更严峻的 人的积极性工作传承性 问题,对此我一直想不出一个满意的答案。

但在 2019 年春节前后用 Hexo 给开源社和 FCC 成都社区做新官网时,摸索出一套基于 GitHub 工作流技术社区运营法,把一个技术社区转化为一个 开源文档项目 ,现正在 FCC 成都社区实验。

10、你今年有哪些计划呢?

今年有幸加入 ThoughtWorks,希望能在“敏捷软件运动”发祥地之一的公司学习、锻炼团队工作能力,也向公司中的技术社区同仁取经,给我自己的开源项目和技术社区的运营带来一些启发与助益。

同时,也期待我新创的“开源办社区”模式在我和 FCC 成都社区的小伙伴共同努力下,能有效地运作起来,造福更多人!

至于自己的业余生活嘛,希望去年给自己挖的文体爱好大坑可以填上一些,哈哈~

11、对于最近在 GitHub 上关注度蛮高的 996.ICU,你怎么看?

改革开放 40 年来,年轻人终于学会了 理性的抗争 。感谢 互联网 !感谢 万维网 !!感谢 开源运动 !!!

12. 说说你最喜欢的电影?

作为一个“伪文艺”,我最不会回答“哪部作品最好”一类的问题了…… 问我“世界上最好的编程语言”我倒是能斩钉截铁 —— JavaScript!哈哈~

其实即使我是“真文艺”也难以回答,不同类型片的镜头语言相差很大,就像各地美食一样,各有各的美味,还是看水歌版【豆瓣年度电影榜单】吧,哈哈~

7赞

水歌飞扬

发现 WebCell 链接打不开,是不是服务器没交费?

希望去成都浪浪,见见水哥,看看成都办公室,次一顿火锅。。。哈哈哈

1赞

动车过来3个半小时

域名换了 —— web-cell.dev
@miyaliu

1赞

来了请你吃火锅,哈哈~

这种标点格式会不好一点

  • 硬件级:Grub4DOS(系统启动神器)
  • 系统级:Deepin(最好的中文 Linux 桌面系统)
  • 软件引擎:NW.js、Electron(国人创始、全球社区)
  • 应用软件:Notepad++(Windows 上最强大的文本编辑器,台湾同胞力作)
  • Web 引擎:Vue.js(个人品牌经营最成功的国人开源项目)
  • Web 应用:Hexo(生态完善的静态内容网站生成器,台湾同胞力作)
2赞

是的,你这样写更顺。不过水歌这篇访谈吧,还得等他有心思了再优化一下,然后我们再正式发布