新程序员杂志004
新程序员杂志004
本文为《》内容,与作者尤雨溪畅谈他的程序人生。《新程序员004》即将上市,敬请期待。从MySQL之父、MariaDB创始人 Michael "Monty" Widenius,到PostgreSQL全球开发组联合创始人Bruce Momjian、阿里巴巴副总裁贾扬清、指令集创始人兼 CEO潘爱民、著名科技作者吴军,再到 作者尤雨溪……《》以「我们的技术时代,我的程序人生」为主题,与多位国内外知名的技术先锋和新生代程序员代表进行了深度对话,希望行业优秀人物的技术之路与人生感悟给大家带来启发。
作者 | 刘韧、谷磊 责编 | 田玮靖

出品 | 《新程序员》编辑部
2016年2月,新泽西,29岁的尤雨溪着手在Patreon众筹平台开设账号。接着,他呼吁(以下简称Vue) 用户赞助Vue全面开源。尤雨溪好友郭达峰立即响应,使用其公司开源基金,向Vue提供了为期6个月、每月3000美元的支持。尤雨溪的月收入很快达到4500美元,但依然不到供职Meteor公司时月工资的一半。

打开网易新闻 查看精彩图片
作者尤雨溪
2014年10月,Meteor邀请尤雨溪到硅谷分享他的个人作品Vue,随即便邀请尤雨溪加入公司。“Meteor是第一个用JavaScript做全栈的公司,概念很超前,当时JavaScript生态正在npm带动下快速爆发。”不想再在Google做颗螺丝钉的尤雨溪欣然接受邀请,开始在新泽西远程为Meteor工作。
尤雨溪愿意从Google离职,更多是为了诞生于2014年2月的Vue能在专注做框架的Meteor公司得到更好地发展。Vue是创建用户界面的JavaScript框架,也是创建单页Web应用的框架。互联网UI设计师要想让自己设计的页面生动起来,就需要学JavaScript编程,Vue提供的JavaScript框架,能帮助没有经过太多编程训练的UI设计师,快速接受并理解规范的编程理念,减少底层编程的工作量。
刚到Meteor,尤雨溪就建议Meteor拥抱npm生态圈,“把整个框架改造成一个能直接使用npm生态的包。”当时Meteor自己有一套包管理系统,与npm并不兼容。Meteor认为尤雨溪的建议是一次成本很高的重构,风险太大,没有采纳。直到后来尤雨溪的建议被市场证明,Meteor才开始拥抱npm,但为时已晚。
对于尤雨溪来说,在Meteor工作的这一年,Vue演进顺利,他也对前端框架的架构有了自己的理念。但Meteor却是个极端一体化的框架,前端、后端、数据通信甚至数据库都要特别指定。“指定数据库这一点极大限制了它作为一个全栈框架的适用范围,把自己的市场份额压缩得非常小,是个败笔!”尤雨溪在Meteor没有技术决策话语权。后来,Meteor竟然选择押注Facebook的React,而不是尤雨溪的Vue。
判断出Meteor框架没有前途,尤雨溪一下子失去了动力。“我做的这些事也不能让Meteor起死回生,还不如辞职,全职去做Vue。”“我宁愿快乐地工作12个月,也不愿不快乐地赚11个月的高薪,然后休1个月假,花钱买快乐。”2016年2月尤雨溪毅然从Meteor离职,开始凭一己之力挑战Facebook的React、Google的Angular。时间轴拉到2021年,Vue在全球最佳Web前端框架中排名第二,成为GitHub上最受欢迎的项目之一。
GitHub是尤雨溪的办公室和杠杆。尤雨溪一直认真阅读GitHub上对Vue提交的Pull Requests(PR),以此判断提交PR的用户对Vue的理解,如果这个用户所发的PR和尤雨溪的想法重合两三次,尤雨溪就会邀请他加入Vue开源团队。GitHub不仅是尤雨溪找用户的地方,还是尤雨溪找团队的地方。那些在GitHub上活跃的Vue成员不一定非要写代码以及做技术上的贡献。“发现问题、回答问题、帮助社区新人上手或修改文档等,都是非常有价值的贡献。”Vue团队成员因迫于生活压力或技术兴趣转移等因素离开,也很正常。“一个开源社区想要有活力地延续下去,就要不断发掘、吸纳新鲜血液,更要给新人成长空间。”“开源的活力就在于每个参与者都在真正自主地做事,大家都希望项目变得更好。”
Vue诞生在Google
2013年,纽约,Google Creative Lab。Google很多项目在这里实验、诞生。尤雨溪在用Google的Web前端框架Angular 1(现在叫 AngularJS)实现各种新奇、非传统的交互创意。他一边快速完成创意总监交派的工作,一边从设计师角度简化AngularJS,就此埋下一颗颗替代AngularJS的种子。
时间倒回2012年,Facebook的一位团队负责人在网上看到尤雨溪用JavaScript在Web实现Clear App滑动操作的视频,立即邀请尤雨溪到Facebook面试。此时Facebook对Web的兴趣比App大,认为用户在移动端会延续PC端的网络使用习惯,更多地使用手机浏览器,而非App。尤雨溪能在浏览器复刻App效果,很合Facebook胃口。
四、五轮面试后,一位华裔工程师面试尤雨溪,他问“JavaScript原型链是什么?”尤雨溪完全回答不上来。“之前只学了实现目标任务的技术,并没有对JavaScript进行系统学习。”从Facebook败下阵来,尤雨溪重新啃JavaScript教材。“把JavaScript语言的每个细节都过了一遍。之后,别人再问,JavaScript是怎么回事?我总能说得头头是道。”
几个月后,当尤雨溪正为硕士毕业后的工作着落发愁时,意外收到了Google Creative Lab猎头的邮件,问他有没有兴趣聊聊?尤雨溪当时就兴奋地回邮件说好!电话即刻响起,猎头在电话那边说明项目后,没提面试的事,直接问尤雨溪是否有兴趣加入。Google Creative Lab每年招5个应届生:项目经理、文案、平面设计、动画设计、交互技术各一人,组成The Five团队,尤雨溪负责交互技术。此刻的尤雨溪感到了天生我才必有用:“程序员最讲究的就是作品,光说没用,代码要拿出来溜溜!所以现在程序员都得有自己的GitHub。”
兴奋的尤雨溪赶紧通知远在中国的爸爸,自己被Google录取了。尤雨溪爸爸却纳闷了:儿子,一个艺术生,怎么能去Google?但他还是非常、非常地高兴!
Google Creative Lab是个非常有意思的地方,这里以做创意类的东西为主,延续了Google早期奔放的做事风格。“不少搞技术的都是创意领域的精英,拿过很多大奖。”Creative Lab工作节奏非常快,创意总监提出一个想法,俩小时后,平面设计师就做出一个工作流程,紧接着就需要尤雨溪当天把原型在Web上实现。“哇!这么酷的东西,居然让我来做!”Google Creative Lab 80%~90%的项目都是保密的,是Google的内部产品,属于团队内部探索。“一个产品现在是这个样子,5年后和10年后它可以变成什么样子?10年后的交互还是不是这个形态······”
工作之余,尤雨溪开始开发自己的“玩具框架”Seed。Google的工作内容偏重开发速度,而尤雨溪想沉淀一些更工程化的技术能力,另外,每次都靠作品获得机会的尤雨溪单纯觉得“要有作品可以开源,作品才是成就感”。Seed便是Vue的雏形。
创意行业,设计师非常看中技术人员还原设计稿意图的能力,要求技术人员首先能很好地理解设计意图,其次要有审美能力。尤雨溪在团队的头衔叫Creative Technologist,负责把创意转换成看得见、摸得着,能够交互的程序。Google看中尤雨溪用技术手段将创意展现出来的能力和细节方面的执行力,在Google,像尤雨溪这样的人不多。
但尤雨溪在Google Creative Lab做了两年多就离开了,他不想总在不同的项目间跳来跳去。“在这里,我们做了好多内部原型,用来反馈各种各样的创意想法。一般1~2周做完,先是内部讨论,觉得这东西有意思,然后把狂放的想法中比较实际的东西提取出来,交给产品团队。产品团队看到我们的东西通常会说:‘很棒,不过有点太酷了,我们可以把里面的一些东西搬到现实的产品中来。’然后就没下文了。”
尤雨溪渴望做出来的东西能传达到用户手里,更想看到它能在世界上产生些影响。当然,现在Google的产品中,有些能看到当年他们所做东西的影子,但这个反馈周期太长了······
尤雨溪离开Google没立刻告诉爸爸,他怕爸爸担心他的未来······全职做Vue,尤雨溪又瞒了爸爸一年……
被爸爸逼到失去学习热情
最小玩家尤雨溪躲在老家旁边的网吧玩《红色警戒》。爸爸冲进来,揪着耳朵把他拎回家!
1987年,尤雨溪出生在无锡一户注重教育的家庭,爸爸是公务员,妈妈在大学教书,后来去了银行。上小学时,按照惯例,10月及以后出生的适龄儿童要等下一年才入学,而尤雨溪的爸爸不这么做,相当于让尤雨溪提前一年上了小学。
小学的尤雨溪,虽有一台486,但并不用它学编程,而是经常缠着表哥帮他装游戏,一次,看到表哥在家里玩《无悔的十字军战士》,感觉很酷,就让表哥也帮他装一个。但自己的486只有4MB内存,没法装。后来表哥帮他升级了8MB内存条,才装上了他心爱的游戏,尤雨溪因此超级崇拜表哥。尤雨溪经常去家旁边的网吧玩,一来二去,跟网吧老板混熟了,人少时,老板免费让他玩。慢慢地,网吧为大众接受,尤雨溪再去网吧,家里人也就不管他了。

打开网易新闻 查看精彩图片
486前的尤雨溪
当时奥数风潮正兴,小学快毕业时,为稳妥进入当地最好的初中,对数学没太大兴趣的尤雨溪参加了奥数比赛并且拿到了奖。爸爸兑现奥数拿奖承诺,在小学升初中的暑假,奖励了尤雨溪一台奔腾II台式电脑,尤雨溪非常开心,终于可以玩《帝国时代》了!游戏之余,尤雨溪开始用Windows自带的画图工具,在电脑上画画,积攒了30多幅画作。这是尤雨溪最早的作品。
大桥中学一直是无锡最好的民办初中,师资力量很强。在这里的三年是尤雨溪学生时代压力最大的时期。“学校课程排得非常满,早上6点就要吃早饭准备上学。”班里竞争激烈,全班40个学生,尤雨溪成绩一直是中上游水平。“考进前10名就算很好的了。”
尤雨溪爸爸人大毕业,考过托福,但专业所限没能出国,出于这份执念,从初一开始,爸爸就一直逼尤雨溪背单词。尤雨溪在校学习强度本来就很大,双重压力之下,尤雨溪失去了学习的热情,可他还是很听话,一切尽力为之。
申请到美国本科“全奖”
周末,上海到无锡回家的火车上,尤雨溪还在背《新概念英语》。到家,爸爸会抽查,背不出来就要挨骂,尤雨溪因此恨过爸爸。《新概念英语》从第三册起难度陡然增加,需理解文章逻辑才容易背诵。背完《新概念英语》第四册后,尤雨溪英语水平到达了新高度。平时英语课不太认真,考试同样能拿高分,到此尤雨溪又开始感谢爸爸逼了自己一把。
2002年,复旦附中还在面向全国招生,1000多人参考,招50名外地学生。“大我一岁的好友先考进了复旦附中。他将这个消息告诉了我。”“可想而知,信息差对一个人的影响有多大。如果当时不知道外地生能考复旦附中,我就错过了一次重要的机会。”
在复旦附中的三年,尤雨溪过得很开心,没有初中那么大压力,有时下午四点多就放学了,尤雨溪就会和几个同学去网吧打游戏。复旦附中有各种社团,是国外通识教育的氛围。“学校生活开销也不大,食堂的伙食很便宜,偶尔会租一些漫画、小说来看,玩游戏会花一点钱。”
复旦附中一位学长被哈佛录取,触动尤雨溪开始申请美国本科,但时间有些晚了。当时国内无法考SAT,要到香港去考,可尤雨溪还要上课,根本来不及安排去香港,更别说备考了。因此,尤雨溪考了托福,却因没请中介,自己拿托福成绩“裸申”而均以失败告终,这些学校根本不考虑没有SAT成绩的学生。尤雨溪也尝试性地申请了哈佛大学,拒绝信寄到了复旦附中门卫,大家看到,以为尤雨溪也被哈佛录取了,尴尬的他,只能告诉大家自己是被拒了。
万般无奈之下,尤雨溪去请教那位考
《程序员》杂志邮政代号是什么?
刊名: 程序员
Programmer
主办: 中国社会科学院
周期: 月刊
出版地:北京市
语种: 中文;
开本: 16开
ISSN: 1672-3252
CN: 11-5038/G2
邮发代号: 2-665
历史沿革:
现用刊名:程序员
曾用刊名:Inter信息世界
创刊时间:2000
“参与 Debian 项目 20 年后,被降级的我选择退出”
整理 | 张仕影 责编 | 郑丽媛
出品 | CSDN(ID:CSDNnews)
作为在 Debian GNU/Linux 项目中服务超过20年的开发者 Norbert Preining ,最近决定离开该项目,原因在于 Preining 去年 12 月时被免去了职位。在接受 iTWire news 的访问时,他说,经过这么多年的努力,他认为被降级为 Debian 维护者不是自己想要的,所以目前已经加入了 Arch Linux 项目。
Debian 社区内部管理结构
Debian 作为致力于创建自由操作系统的组织,其社区内部基本为一个技术构建的空间,致力于给开发者最大程度的权限。在 Debian 社区中只存在两种官方角色:Debian 开发者(Debian Developer,简称 DD)和 Debian 维护者(Debian Maintainer,简称 DM)。
在 Debian 章程的定义中,Debian 开发者(DD)的主要职能是提交代码以及维护自己的包。他们具有进入 Debian 服务器的权限,也可参与社区选举,此外,还能够完全掌握自己的工作,做任何技术性和非技术性的决定,几乎不受限制。与 DD 不同,Debian 维护者(DM)拥有的权限极少,他们只能在标记允许 DM 上传的包上执行上传工作,甚至连访问 Debian 资源的权限也十分有限。
Debian 社区内部矛盾由来已久
Debian 社区中除了 DD 与 DM 这两种官方角色外,还有 Debian 技术委员会(Technical Committee,简称 TC)的存在。根据 Debian 章程表明,技术委员会是决定所有技术相关事宜的权威,其中包括任何开发者拿不准的事宜,然而矛盾的点正在于此。
在这种缺乏强大聚合力的情况下,Debian 社区内部开始出现“分裂”。2014 年,围绕 Debian 选择初始化系统 systemd 所引发的争论,在 Debian 贡献18年之久的早期成员 Joey Hess 宣布退出组织,随后三名资深成员 Russ Allbery、Colin Watson 以及 lan Jackson 也先后从 Debian 技术委员会退出。
在 lan Jackson 的辞职邮件中,他提到在委员会对于项目的管理上,自己已经耗费了精力。
同样的是,Russ Allbery 也在辞职后表示,委员会几乎每一个决策都面临巨大的压力,他对此感到乏力。他在辞职信中写道:“Joey 的离职让我忍不住去思考 Debian 的管理到底出了什么问题,我相信很多人和我有一样的想法。”
Norbert Preining 退出 Debian 的原因
Norbert Preining 与 Debian 社区中的 Martina 以及 Lars 等人一直以来都有分歧,但近来 DAM(Debian 客户经理)与 CT(社区团队)对此的处理非常不合理。
DAM 始终认为是 Preining 在欺负项目成员,而且不与社区团队沟通 。对此,Preining 进行了否认,并表明是 Martina 等人一直在背后打击他:
对于这一切,Preining 认为真正的原因在于:“ Martina、Lars和其他那些人是 DAM、CT 及 Debian 中’领导圈’的亲密朋友,因此他们似乎不需要遵守同样的社区规则 。"
事实上,作为最早的 Linux 发行版本之一,Debian 几乎占据 Linux 系统家族的半壁江山;作为老牌的开源社区,Debian 运行了近 30 年依旧香火不断;但作为统筹超过一千名开发者的 社会 组织,Debian 却一再让许多人感到失望。
那么,你对于 Debian 社区内部的管理模式有何看法?
参考链接:
END
《新程序员001-004》全面上市,对话世界级大师,报道中国IT行业创新创造
成就一亿技术人
上一篇:网上随意发表不当言论
下一篇:新疆财经是核心期刊吗