我给自己设立了每月 $20 的开源捐赠预算

Babel 官方最近发布了一篇博客 称 Babel 团队的 funding 已经不够了。一直以来我零碎地捐赠过一些开源项目和个人,在卖贴纸和 T 恤的时候也把大部分的利润捐赠给了 Vue. Babel 这件事让我有了固定每月捐赠一些开源项目的想法。

目前设定的是每月至少 $20 (约 130 多元人民币) 的预算,这样平均至少可以捐赠 4 个不同的项目。我可以在这个预算内根据我的技术栈灵活地选择我对哪些项目进行捐赠。

我个人会选择一些这样的项目进行捐赠:

我在做 side-project 的时候经常会用的项目
项目没有融资背景(例如我非常喜欢 Prisma, 可是它已经有了 $12M 的 A 轮融资)
做了一些我用到的工具的个人开发者

目前我捐赠的项目和个人

EGOIST 在全职做开源的好朋友
chakra-ui 我用 React 写 side-project 必用的 UI component 库
dayjs 我经常会用的 moment.js alternative
react-query 我经常会用的 React 请求库
next-auth 非常好用的 Next.js OAuth 库
Logseq 开源的 Roam Research alternative

你可以在 OpenCollectiveGitHub Sponsor 看到我对哪些项目和个人进行了捐赠。

国内用户捐赠的方法

国内用户捐赠只要具有以下其中一个条件即可:

注册 Paypal 账号和国内银行卡绑定
持有一张 Visa 信用卡

OpenCollective 支持 Paypal 和信用卡,甚至支持银联的信用卡,因此一般国内用户都能很容易通过 OpenCollective 进行捐赠。GitHub sponsor 不支持 Paypal, 需要 Visa.

除了每月固定的捐助,还可以选择一次性的捐助。

我对开源的看法

我从开放的源代码学到了非常宝贵的知识,这些知识帮助我成为了更好的程序员。功利一些来说,我通过使用这些开源项目得到了可以谋生的岗位,这些开源项目竟然是开放和免费的。

有些人认为,做了一个成功开源项目,即使没有钱,也收获了名气。对我个人来说,我确实也通过做开源项目得到了非常多的机会,但是正是自己做过开源项目,才深知维护一个开源项目的成本不是靠「名气」就可以支撑起来的。

关于这个话题,强烈建议收听牛油果烤面包的这一集 Podcast: 《#70. 和Vue.js的创造者尤雨溪聊开源软件》

也可以读一读这本 Working in Public: The Making and Maintenance of Open Source Software, 里面有很多开源软件维护者面临的问题。

我们可以为开源做什么?

根据自己的经济情况,设立一个捐赠预算($1 也很不错),给自己生活中、工作中用到的开源工具进行捐赠。
和我一样写一篇文章介绍你对哪些项目进行了捐赠,鼓励更多的开发者对开源项目捐赠。
贡献有意义的 PR,即使只是文案的修改。

via Randy's Blog
做这个世界的生产者

偶尔看到这篇名叫 Consume less, create more 的文章,是作者从「消费者」转变为「生产者」的心路历程。他每天在巴士上面用 iPhone 写点什么,最终写出了这篇文章。

我从懂事开始就一直觉得自己在这个世界上与众不同,觉得自己的出生一定是背负了某个特殊的使命。后来发现原来每个人年轻的时候都是这么想的,随着年纪渐长,大多数人开始接受自己只是个普通人的事实。我也不例外。

但唯一没有变过的是我没有因为意识到了自己的平凡而停止了试图变得不平凡。其中的一个表现就是我希望在这个世界上,我是作为一个生产者存在的,而不只是一个消费者。

写博客、编程、做音乐都是我的生产,即使我写的博客没有让我成为几十万粉丝的 KOL, 我写的代码没有几万的 star, 唱的歌的观看数只是几百,我还是保持生产,因为对于这个世界,能让我有那么一点与众不同的是我的生产,而不是我的消费。

我讨厌抖音,不是因为它的内容,是因为它默默地把人驯化成了贪婪的信息消费者。如果我什么都不创造,那么我每天看 Hacker News 和别人每天刷抖音没有任何区别。

这个世界的每个人都是消费者,但不是每个人都是生产者。如果你也希望为这个世界留下点什么,就去创造,别担心你创造的是不是垃圾,只要创造了,是一定会有收获的。

via Randy's Blog
这个月我将离开阿里巴巴,结束至今 4 年的阿里生涯。

在阿里的 4 年我体验到非常多的东西,了解到了作为一个「职业程序员」的工作状态,认识了很多很靠谱的同事。尝试了一些东西,创造了一些东西,也吸收了一些东西。

我很幸运,这几年我遇到的老板都对我非常好。在 UC, 甄子给了我很大的自由度,让我得以在技术上做很多的探索 。在花呗,完颜和我一起做了很多次难忘的乐队演出。我很喜欢 花呗前端团队 ,这里的同事很有趣,在一起工作非常快乐,他们在面对复杂且繁忙的业务时展现的专业性是我难以企及的。

Why leave?

在大公司,成为一个优秀的业务型程序员要做的更不仅仅是理解业务需求。而我更擅长的是用技术解决效率问题、通过设计降低软件复杂度(Programming complexity)。但在业务 deadline 面前,这些仿佛是次要的。很少人有精力在 deadline 和加班面前能保持追求代码质量和软件设计,但这却是保证软件稳定和快速迭代的基础。为了快速上线而忽视代码质量的代价是很沉重的,但没人会指出这些技术债的根本原因就是太着急了,整个环节都太着急了。

我也不擅长画大图,把事情说得很宏大。阿里是一个很大的公司,有很多内部系统(所谓的「中台」)已经很完善,不是每个人都有机会遇到「大」问题。但是如果不做点什么大事,在阿里的仕途不会很顺利。所以我目睹了许多因为 KPI 和职级晋升产生的内耗。它潜移默化地使人做事变得功利,它就像一把声音在你做事的时候默默地提醒你:要把事情做大。

我从 Apple 和乔布斯身上理解到了在做同一件事时,不同的目的会导致做出来的东西天差地别。钱很重要,但如果乔布斯做产品的目的是钱而不是用户体验,那么 Apple 不会是今天的这个 Apple. 我认为做技术产品也是一样的道理,「做好」应该是目的。但能遇到适合「做大」的技术产品的场景是很靠运气的,在这样的情况下,绩效和晋升的压力会让人不得不把「做大」变成了目的,这就导致了:

简单的事情复杂化,增加使用者的理解成本( Cognitive Load
能使用现有的技术,偏要自己再做一套。由于「做大 -> 晋升」是目的,这样的产品有很大的机率在达成了目的后被放弃。
做事态度变成「能用就行」,不关心用户体验。

这样的做事方式不适合我,也违背了我做技术的理念。

What’s next

我还没有一个很确切的计划,但我希望能去一个地方,定义我价值的不仅仅是因为我用了多牛逼的技术,做了一个多大的「平台」,而是我用技术的手段,给用户创造了什么他们觉得有价值的东西,如何改进了用户体验。又或者我用技术解决了哪些效率问题。

更具体的目标是成为 Tech Lead 的角色。同时我对 Growth Hacking 有很大的兴趣,希望可以结合技术和数据找出产品增长的瓶颈、把产品做得更好,帮助产品实现增长。

我会回到广东,离开杭州。

Conclusion

离职不是什么苦大仇深的事,我对阿里没有任何的怨念,阿里有很多很好的地方,只不过不属于这篇文章要讨论的范围。无论在哪个地方,我想要的都是和一群有想法的人一起打磨一个有价值的产品,而不是不同职能的团队都只做对自己 KPI 有利的事。每个公司都有其独特的生存法则,但这个生存法则也应该让那些务实和纯粹的人能很好地生存下去。也许这就是我作为一个技术人的理想主义吧。

via Randy's Blog

Invalid media: image
说说 React 和 Vue

争论框架是个无聊的事情,有一天在开车的时候我突然想到选框架和选车是一样的。

React 就像手动挡,Vue 就像自动挡。你不能因为你会开手动挡就看不起开自动挡的,我想正常的驾驶员在城市代步都会选择开自动挡。我只想代个步,为什么不把复杂的事情交给变速箱呢。

当你要下赛道,你可能要选择手动档。因为你相信你的人脑比变速箱要聪明得多。你需要由你自己的大脑控制最重要的事 —— 赛车里是速度,软件开发是性能。useMemo 或者shouldComponentUpdate 就是你车里面的那根档棍。

用手动档的没有必要看不起用自动档的,人家根本不在意这车能不能开到极速,只想安心开开车顺便摸摸副驾驶的大腿;用自动档的也没必要在路上看到别人开手动档的就骂别人傻逼,人家一个老司机开手动档多年,可能从心智上开手动档开得跟你开自动档一样轻松,自己也享受手动档的乐趣。也有可能是因为他想开的车只有手动档的 —— 比如他因为想用 Ant.Design 所以选了 React.

就像选择自动 GC 和手动 GC 的语言,作为一个成年人,应该知道什么是 trade-off.

作为专业的程序员,更重要的是知道你面对的是赛道还是公路,你的伙伴到底会不会开手动档。

最怕的是硬要让只会开自动档的人开手动档的车,轻则红绿灯起步死火被疯狂按喇叭,重则…

via Randy's Blog
好产品帮助用户变得更好 - 读 Badass: Making Users Awesome

如何让用户愿意花钱购买你的软件 / 服务 ?

如果你也在思考这个问题,那么你一定要读一读 Kathy Sierra 写的 Badass: Making Users Awesome (中文译作《 用户思维+ 好产品让用户为自己尖叫 》)

想象一下,有一天,你看到有人在网上写了一篇如何记账和理财的文章,读罢,备受鼓舞,文章的作者在里面提到了如何用一个 App 高效做记账,于是你买下了这个 App.

背后驱使你买这个 App 的原因是什么?是因为你觉得这个 App 很不错?不,是因为你想成为那个善于理财的人。

这就是这本书的观点 —— 用户购买你的产品,他在意的是用了你的产品,他成为了什么样的人。所以,如何打造一个可以持续获得用户的产品,秘诀在于如何让用户通过你的产品成为他想成为的人。

这个观点让我耳目一新,我可以从自己或者从别人的购买行为看出这样的本质。我忽然发现,以往在思考如何打造一个用户觉得有价值的产品,我太专注在思考工具本身的功能应该怎么做,完全忽略了我的产品如何帮助我的目标用户变得更好。

例如,我总是在想着做一个博客平台,读完 Kathy 的这本书,我发现,我太过于思考从功能上,我要提供给用户什么。我想,我要提供 Podcast 托管,我要提供最快的 CDN, 我要支持自定义域名。但是,整个互联网,博客平台已经有很多,这些功能,别的平台可以提供。用户为什么选择我?

读完这本书,我会这样去思考:我如果做一个新的博客平台,用户可以因为我的平台,成为一个什么样的人?这样一来,问题就变成了:我的博客平台如何让用户成为一个优秀的独立博客主?我的博客平台如何让用户成为一个成功的 Podcast 节目主?

我们总是提供工具,但是往往忽略了如何让用户用好我们的工具,使他们变得 Awesome.

让用户用好我们的工具,是零经济成本但最有效的宣传工具。因为这一些 Badass User (通俗来说就是「玩得溜」的那些用户,我姑且称为「用家」),他们自己会帮你宣传。

当一个玩摄影的朋友告诉你,「这个镜头太牛逼了,你看我用它拍的这些照片,太好看了。」你可能会对这个镜头心动,晚上就回家搜一搜这个镜头,然后下单。

这位朋友嘴上说的是「这个 xx 太牛逼了,我用它 xxx」,事实上他想表达的是「我太牛逼了,我用它 xxx」。

只要你帮助你的用户通过你的产品变得更「牛逼」,就会有越来越多这些「用家」帮你宣传,就会有更多人购买你的产品,希望自己变得「牛逼」。也就是常说的「种草」。

然而他们宣传的方式不一定是直接跟身边的人说这个工具有多好,而是自己如何使用这个工具,做出了什么样的事。如果你有关注「少数派」这个媒体,少数派是这种案例的典型。你会发现上面几乎所有的文章,比如关于 Ulysses 这个 App 的文章,这些作者不会单纯去写这个工具怎么样,而是:

《为什么我选择用 Ulysses 写了一本小说》(我如何用 Ulysses 写了一本小说)
《搭建 Ulysses 学术写作之公式输入》(我如何用 Ulysses 学术写作)

越来越多的人会因为看到这些分享,希望自己可以用 Ulysses 也成为像他们这样成为一个写作者。

简单地来说,就是想一想,你的产品如何让你的用户在和朋友聊天的时候体现自己的 Awesome.

这本书也提到了在帮助用户成为「用家」的过程中遇到的问题以及解法,还从如果成为某个领域的专家作了一些科学上的分析(但我觉得这一部分的知识可以通过读 Atomic Habits 学到更多)。

我知道这本书是在翻 Egghead.io 的创始人 John Lindquist 的这条 Retweet无意中看到的,我觉得一定是本很好的书,他才会给每一个 Egghead 讲师送这本书。

我早在读 Egghead 的讲师指南的时候就发现 Egghead 会直接给每个讲师一套完整的录音设备(因为做 screencast 录音质量很重要)。我当时震惊于 Egghead 的阔绰。读完这本书,我就明白,即使需要成本,一套好的录音设备可以让这些用户(讲师)录制高质量的 screencast. 创始人就在践行这本书的理念。

注:本书的作者 Kathy Sierra 也是 Head First Java 的作者。

《 用户思维+ 好产品让用户为自己尖叫 》购买链接

via Randy's Blog
2019 年终总结:慢慢变成别人眼中「食古不化」的「怪人」

总结

2019 年 3 月我来到杭州,在蚂蚁金服开始了新的工作。这是我第一次在广东省外的地方生活。

新的环境,新的工作,对我来说是一个很大的挑战。挑战不在于如何适应一个新的环境,而在于在一个技术基建完备的环境里,如果业务难关不是技术可以解决的,那我的价值在哪里?在这个方面,我让很多对我抱有期望的人失望了。

「我的价值是什么」是我不断寻找答案的命题,我不满足只作为一个消费者活在世上。只有作为生产者创造自己独特的价值,才让我觉得自己是这个世界的一员。

我创造了很多,但好像只有写博客算是对别人来说稍微有价值的东西。现代的人又不怎么喜欢认真地看文字了,写好一篇文章的阅读量也不比同样内容的一个视频高。就连我一个关注了很久的独立博客博主,也转了型做视频。

「写博客」似乎已经是一件看上去「食古不化」的事,而我竟然越来越「食古不化」了。有时候到一家餐厅,被告知没有餐牌,只能扫码点餐,我会反问,「如果我没有手机呢?」。

我想,如果旁边正好有一位比我年轻十岁的客人听到我这样问,他心中也许会暗想,「x, 这个食古不化的傻x」。

今年下半年我又因为不能忍受国内社交网络的反智内容和评论,微信和微博都变成了只写的状态,除非收到消息,微信几乎不怎么打开。此举极大地改善了我的心理健康。但在别人眼里,就是一个不合群的怪人。

告别 2019,我就 25 岁了。这是一个不算年轻,也不算不年轻的岁数。如果开始「食古不化」是变老的征兆,那么我已经开始变老了。但如果不懒惰、不犬儒、不圆滑、不反智就是年轻,那么我将会永远年轻下去。

音乐

今年做了 6 首翻唱,上传在 YouTubeBilibili:

播放量最高的是《奉献》和《黄昏》。

阅读

今年读的书里有以下几本想推荐给大家:

《学会提问:批判式思维指南》(豆瓣 | 购买

《非暴力沟通》(豆瓣 | 购买

《颓废与沉默》(豆瓣 | 购买

消费

● Kindle Oasis ( 购买 ) 替换了我的 Kindle Paperwhite. 手感很好,放裤袋很轻松。是我今年买得最值的产品。
● 黑卡 3 ( 购买 ) 替换了我的黑卡 1, 有可以旋转的屏幕,自己拍视频的时候轻松多了。
● iPad Pro ( 我的评测 ) 替换了我的 iPad mini 2. 主要用来看微信读书,睡前浏览各个咨询网站。最后悔是没有买蜂窝版。

每天都看的内容

V2EX
Hacker News
端传媒
Podcast (睡前听)
Feedly (只订阅一些独立博客)
YouTube
Twitter
Instagram

放空的时候看的内容

少数派
数字尾巴

关于 2020

创造更多价值吧。

via Randy's Blog

Invalid media:
image
image
Back to Top