swyx 有一篇文章 Learn in Public 非常流行,讲的是他认为最快的学习方式 —— 公开学习。

我看了两遍英文原文,也看了两篇中文译文。英文原文的一些表达让我觉得晦涩;中文译文的质量不是太高,一篇还有明显的机翻痕迹,读下来体验都不是太好。这篇文章是值得传播的,但我的英语水平也不足以做出一篇流利的翻译。在这里,我针对原文中相对复杂的句子做了解释,并揉入一些见解。建议你读一遍英文原文再看。


If there’s a golden rule, it’s this one, so I put it first. All the other rules are more or less elaborations of this rule #1.

Rule 在这里的意思不是规矩(about what is allowed),而是法则(about what you should do)。

elaborations 的对应的动词是 elaborate,意思是阐述(to give more details or new information about something),在这里表示「其他法则都或多或少是对这个法则的阐述」。


You already know that you will never be done learning. But most people “learn in private”, and lurk. They consume content without creating any themselves. Again, that’s fine, but we’re here to talk about being in the top quintile. What you do here is to have a habit of creating learning exhaust:

  • Write blogs and tutorials and cheatsheets.
  • Speak at meetups and conferences.
  • Ask and answer things on Stackoverflow or Reddit. Avoid the walled gardens like Slack and Discord, they’re not public.
  • Make Youtube videos or Twitch streams.
  • Start a newsletter.
  • Draw cartoons (people loooove cartoons!).

being in the top quintile,quintile 表示五分位,这句话表示「成为最好的 20%」。creating learning exhaust,这句话比较难理解。exhaust 一般作为动词,表示使某人筋疲力尽、耗尽了某物。从语法上它在 learning exhaust 中应该是个名词。但 exhaust 作为名词时,意为机械(如汽车)排出的废物。考虑到作者似乎是个华裔,这里的词类应该是用错了。他应该是想用 exhaust 的这个动词语义:谈论某个话题,直到没有更多可以讲的。这里表达的是,当学到一个东西,要把你所知的方方面面都表达出去。

Definition of word exhaust


Whatever your thing is, make the thing you wish you had found when you were learning. Don’t judge your results by “claps” or retweets or stars or upvotes - just talk to yourself from 3 months ago. I keep an almost-daily dev blog written for no one else but me.

make the thing you wish you had found,表示不管你学的是什么,衡量是否值得投入学习的标准,是看学的内容是否是你希望早点知道的。wish 在这里表示一种期望发生、但事实上没发生的事情。you wish you had found 表示「你希望早点发现,但是没有发现的」。


Did I mention that teaching is the best way to learn? Talk while you code. It can be stressful and I haven’t done it all that much but my best technical interviews have been where I ended up talking like I teach instead of desperately trying to prove myself. We’re animals, we’re attracted to confidence and can smell desperation.

这中间的一个长句挺难理解。我讲了几次后才看懂。试着翻译一下:

(让别人听懂并理解你的代码)是有难度的。我没有非常多的成功经验。但我过往最好的面试体验,都是在教别人理解我所做的内容而不是在极力证明我自己。


除了把学到的知识表达出来以外,还可以更进一步做更多的贡献:

  • 感谢给你带来帮助的视频的创作者
  • 给你使用的库提交 PR(即帮助完善)
  • 教给别人
  • ……

这看起来会付出更多时间精力。但是会很值得。因为人们会注意到你,会更愿意帮助你,他们无形中成为了你的导师。这引出了一个策略:你应该帮你的导师们干活。举个例子,某个开源库需要人提 PR 来实现某个功能。这个时候你可以主动去做。一旦你提交了 PR,库的作者就会帮你 review 代码、提出建议,这无形之中免费帮助了你。你很难用钱买到这些。另外,由于你 learn in public,你会把他们的帮助过程公开出去,让知识得以更广泛地传播。

至于 learn in public 会带来的一大困扰,是会有人批评你的内容或者觉得你在显摆。对于批评,你可以把它当作一次学习机会,让对方指出你的问题。至于其他负面看法,这不重要,网络会放大攻击性和负面言论。不要去在意他们。

说实话,读完这篇文章后,我并不觉得它的行文很流畅,一些用词也有些别扭。但是里面的观点的确对我有所启发。这篇文章也是 learn in public 的一个实践。希望有帮到你。