《效率脑科学》是今年我读过的第一本想给五星好评的书。原作名为Your Brain at Work: Strategies for Overcoming Distraction, Regaining Focus, and Working Smarter All Day Long。以脑神经科学的方式讲述我们在工作中会遇到的多种困境,并一一提出解决方案。
本书的整体思路跟此前我在枫影夜读系列中介绍过的心理学著作异曲同工,但阐述的角度不同。比如我近期翻译的《凯文·凯利70岁生日写的103条人生忠告》,以 K.K. 自己的人生经验总结为主,能引发思考,但未详谈原因。陈海贤老师写的《了不起的我》会从心理学的角度解释人类行为与选择的理由,但并不怎么涉及生物学基础。丹尼尔·列托(Daniel Nettle)写的《追究幸福》(Happiness)在实践与哲学层面与本书颇有相通之处,但丹尼尔也不怎么解释其生物学基础。
所以《效率脑科学》一书我最喜欢的就是作者提供的脑神经科学解释。作者David Rock来自澳大利亚,现居美国。本书原名为Your Brain At Work,主要讲述的是工作场合下的问题,对我来说也十分实用。我在阅读过程中一直有一个想法:作者肯定不止是个学者吧,他怎么能对工作中遇到的问题了解得这么深入?后来发现David不仅拥有Middlesex University脑神经科学博士学位,并且还创办了NeuroLeadership这家公司,担任公司CEO。这就难怪David对工作中的各种问题了如指掌了。
本书分为五个部分,通过四幕工作场景的演绎,在层层递进中以脑神经科学的角度解释这些案例中不同角色遇到的问题,并提供可行的解决方案。其实我不是很喜欢作者写作这四幕的故事,给我的感觉是作者好像不太擅长写小说一样,哈哈。但我还是读完了,这四幕对应作者想要表达的四个概念,每一幕又分为多个独立的场景,所以其实有好几十个故事在其中。这四幕分别是:
现代人每天的工作和生活往往是在信息爆炸与决策爆炸中度过的。我们在工作中每天都要做的任何非重复性脑力活动,包括计划、组织、优先级排序、创作等,都需要用到大脑中一个微小、脆弱又耗能的区域,即前额皮质。
这就是为什么我们很容易在每天下班后感到精疲力尽的生物学原理。最近比较热门的一部电影《瞬息全宇宙》(Everything Everywhere All at Once)开场时由杨紫琼饰演女主角需要在准备父亲生日、春节派对的同时,煮饭,准备应对下午税务局的查税任务,回答顾客的提问,还要解决自己的女儿带着女朋友回来见自己古板的外公等事件。我们在日常工作中虽然不会这么极端,但是手机上不断弹出的提醒,公司内部通信软件永远消不完的红点,邮箱中各式各样的邮件等等,又何尝不是另一种维度的爆炸呢?
自从有了手机以来,让我们“永远在线”的科技给我们带来的是无时无刻不在“警戒状态”的神经紧绷。这无疑使我们本就弱小的前额皮质不堪重负。
所以要想知道为什么我们在繁重的工作中表现不佳,为什么我们在面对各种问题时容易产生情绪,并在情绪高涨的同时做出糟糕的选择;要想知道怎么让我们变成一个能自如应对各种突发事件,从容自信的人,那么首先要了解我们自己。脆弱的“前额皮质”就是我们需要了解的第一关。
我想这大约是“自我意识”的脑神经科学解释吧。现实中有相当多人,也许在随波逐流中从未思考过自己应该做出怎样的选择和决定。只是因为走入这个车站,刚好遇上这趟列车,于是被挤进车厢,运往下一站而已。我在我的《个人OKR实践系列》对此有过浅层的讨论。读完这本书,我大约知道为什么会这样:因为大脑是节能的,思考这些问题是十分耗能的。
也正因此,大脑更倾向于解决当前印象深刻的问题, 而不是“更重要”的问题。本书中给我最大启发的是这句:
要思考最有用的问题,而不是最有趣的。
意识到大脑的弱小之后,作者把我们的意识以“舞台”作比,前额皮质能容纳的信息就是一个极小的舞台,运行这个舞台需要大量能量。舞台上一次只能容纳少数几个演员,按照作者的说法,我们一次能记住的事物的个数是 4 个,而不是 7 个。(于是最近我把我的个人OKR中的O缩减为 4 个)。这些演员上台之后,一次只能演一幕。一旦我们同时让多个演员上台,同时演绎多幕故事,我们就会陷入混乱。
在陈海贤老师的《了不起的我》中有提到一个东方哲学上的“大象与骑象人”比喻,我想David在本书中给了这个比喻一个科学解释:前额皮质只占大脑总体积的4%。从进化的角度,我们的原始祖先需要保持高度警惕,一有风吹草动就警觉的人更容易活下来。而我们24小时在线的手机成了不断给我们风吹草动的假象。
了解大脑的局限性之后,我们需要有意识地观察到"此时此刻我们已经分心了",我们的注意力没有用在需要解决的问题上。5年前我在这篇文章提到一切都需要训练,当时也提到了70年代不太科学的大脑模型,现在《效率脑科学》给出了更为中肯的解释。而我这几个月也在尝试一项新的训练:冥想。因为众所周知的原因,冥想在简体出版物中会变成“正念”,或像《“活在当下”指南》(Sam Harris - Waking Up)一样被编辑改为别扭的“专念”。
我就是读了Same Harris这本 Waking Up 之后开始做冥想练习的。以我浅薄的训练经验来看,冥想训练给我带来的好处是:我可以在情绪产生的时候,更快地察觉到这一点,并通过呼吸观察法将我的思绪拉回到当下,跳出问题,寻找解决方案。换言之,我可以意识到我正被我的大脑控制,并反过来训练自己控制我的大脑。
冥想训练很大一部分是注意力的训练。方式多种多样,其中呼吸观察是最常见的一种:找一个安全的空间,坐在椅子上,靠着椅背。轻轻闭上眼睛,开始感受肩膀放松,感受背与椅子接触的感觉,感受臀部与椅子接触的感觉。然后有意识地呼吸,把注意力集中到鼻尖,一呼一吸,一呼一吸。
如果你是第一次训练,不到10秒你就会发现注意力根本无法集中在呼吸上,短短10秒钟脑子里就诞生了无数的念头。但是没有关系,每次念头出现的时候,就把它拉回来,或者随它去,告诉自己,我现在只需要关注呼吸就好。
一切皆需练习。
注意力的运用更需要练习。
David Rock的这部作品,从了解大脑局限开始,到如何让这个有明显缺陷的工具,远离威胁,接近奖赏,安抚情绪,专注解决问题。贯穿其中最重要的就是这个小小舞台的导演。我想,Sam Harris的 Waking Up 已经在试图以不带宗教性质的方式解释正念、冥想的重要性,而David Rock的脑神经科学解释无疑是强有力的补充。
这些年我阅读的心理学书籍让我的心智获得不少成长,除了阅读以外,最重要的就是实践训练。读过的书我大都在实践中尝试过,寻找其中适合我的部分,比如读完这本《效率脑科学》,我的个人OKR实践就开始以“The Magic Number Is 4”做修改。
舞台资源很有限,要用来思考最有用的问题,而不是最有趣的问题。
最后借用本书作者的书末祝福结束本文吧:
愿你保持较低的皮质醇水平,较高的多巴胺水平;
愿你的催产素浓厚而丰富,血清素又高又平稳;
愿你在一生中都能观察自己的大脑。
祝你旅途愉快!
Justin Yan
2022年5月24日
于灯下
5月份啦,我们又快又欢乐的科技快乐星球系列更新到了两位数,最近除了刚刚落幕的 Google I/O 大会之外,还有哪些有意思的科技新闻呢?
赶紧跟着我们的节目一起快乐一下吧!
以下为本届 Google I/O 发布的硬件渲染图,对于这些新产品你有什么看法呢?快来留言区告诉我们吧!
P.S. 更正 14:57 一处口误:发布了两个软件更新,不是硬件。
欢迎各位听众朋友们通过以下方式联系我们:
fyfyFM
进群推荐使用小宇宙等泛用型播客客户端搜索“枫言枫语”来订阅收听本节目。
荔枝FM,喜马拉雅,蜻蜓FM等平台亦有同步。
用 Golang 肯定见过类似这样的标记:
type Model struct {
ID string `json:"id"`
CustomerMobile string `json:"customerMobile"`
CustomerName string `json:"customerName"`
}
定义一个 struct
后我们可以在每一个字段(field)后面使用 `` 符号作特殊标记。json:
后面表示这个字段映射到 JSON 数据的自定义 Key。下面这段则是使用 GORM 作数据库字段绑定时的模型定义:
type Model struct {
ID uint `gorm:"primaryKey"`
CreatedAt time.Time
UpdatedAt time.Time
DeletedAt gorm.DeletedAt `gorm:"index"`
}
那么这样的字段映射关系到底是如何实现的呢?答案是使用 Golang 的 Reflect(反射)。
官方文档提供了 reflect 包的所有接口说明,我们可以使用这些接口在 run-time 修改实例对象。通常我们会使用这些接口获取当前实例的值、静态类型,或者使用 TypeOf
接口获取的动态类型。跟多数语言的反射功能类似。
一般我们使用 GORM 一定会有打开数据库的地方:
func main() { db, err := gorm.Open(sqlite.Open("test.db"), &gorm.Config{}) if err != nil { panic("failed to connect database") }
// Migrate the schema db.AutoMigrate(&Model{}) //… }
GORM
的 AutoMigrate()
方法最终会在 schema.go
的实现中,通过 func Parse(dest interface{}, cacheStore *sync.Map, namer Namer) (*Schema, error)
函数取得上述 &Model{}
这个实例对象,然后再针对它使用 reflect API 获取相关类型信息。以下是关键代码:
// 这里的 dest 就是 &Model{} 这个对象 value := reflect.ValueOf(dest)
// 这里取得 Model 的反射信息 modelType := reflect.Indirect(value).Type()
// 这里通过遍历他的所有 Fields,针对每个 Field 作反射解析 for i := 0; i < modelType.NumField(); i++ { if fieldStruct := modelType.Field(i); ast.IsExported(fieldStruct.Name) { if field := schema.ParseField(fieldStruct); field.EmbeddedSchema != nil { schema.Fields = append(schema.Fields, field.EmbeddedSchema.Fields...) } else { schema.Fields = append(schema.Fields, field) } } }
在 func (schema *Schema) ParseField(fieldStruct reflect.StructField) *Field
函数中,获取上述 gorm:"primaryKey"
之类的额外标签信息:
tagSetting = ParseTagSetting(fieldStruct.Tag.Get("gorm"), ";")
如此一来,我们写 struct
声明的时候也就把相应的 ORM 信息一并写了进去。
我们已经知道 TypeOf()
和 ValueOf()
是 reflect 的基础,如果我们要解析的对象是集合类型(如Array, Map等),可以使用 t.Elem()
遍历,如果是 struct
类型,则可用 t.NumField()
循环遍历 t.Feild()
。
package main
import ( "fmt" "reflect" "strings" )
type TestData struct { ID int
tag1:"Tag1" tag2:"Tag2"
Title string }func main() { aSlice := []int{1, 2, 3} aStr := "Hello World!" aStrPtr := &aStr aTestData := TestData{ID: 1, Title: "Test"} aTestDataPtr := &aTestData
aSliceType := reflect.TypeOf(aSlice) aStrType := reflect.TypeOf(aStr) aStrPtrType := reflect.TypeOf(aStrPtr) aTestDataType := reflect.TypeOf(aTestData) aTestDataPtrType := reflect.TypeOf(aTestDataPtr) printReflect(aSliceType, 0) printReflect(aStrType, 0) printReflect(aStrPtrType, 0) printReflect(aTestDataType, 0) printReflect(aTestDataPtrType, 0)
}
func printReflect(t reflect.Type, depth int) { fmt.Println(strings.Repeat("\t", depth), "Type: (", t.Name(), ") Kind: (", t.Kind(), ")") switch t.Kind() { case reflect.Struct: for i := 0; i < t.NumField(); i++ { field := t.Field(i) fmt.Println(strings.Repeat("\t", depth+1), "Field: (", field.Name, ") Type: (", field.Type, ") Tag: (", field.Tag, ")") if field.Tag != "" { fmt.Println(strings.Repeat("\t", depth+2), "Tag is", field.Tag) fmt.Println(strings.Repeat("\t", depth+2), "tag1 is", field.Tag.Get("tag1"), " tag2 is", field.Tag.Get("tag2")) } } case reflect.Array, reflect.Slice, reflect.Chan, reflect.Map, reflect.Ptr: fmt.Println(strings.Repeat("\t", depth+1), "Element type: (", t.Elem(), ")") }
}
上述代码的 gist 在这里。打印出来的结果如下:
Type: ( ) Kind: ( slice )
Element type: ( int )
Type: ( string ) Kind: ( string )
Type: ( ) Kind: ( ptr )
Element type: ( string )
Type: ( TestData ) Kind: ( struct )
Field: ( ID ) Type: ( int ) Tag: ( tag1:"Tag1" tag2:"Tag2" )
Tag is tag1:"Tag1" tag2:"Tag2"
tag1 is Tag1 tag2 is Tag2
Field: ( Title ) Type: ( string ) Tag: ( )
Type: ( ) Kind: ( ptr )
Element type: ( main.TestData )
在 run-time 拿到了这些数据之后,我们就可以动态修改他们的值,比如说:
func main() { // 声明一个 string aStr := "Hello World!"
// 修改它的指针内容 aStrValue := reflect.ValueOf(&aStr) aStrValue.Elem().SetString("Hello, Goodbye") // 我们也可以修改一个 struct aTestData := TestData{ID: 1, Title: "Test"} aType := reflect.TypeOf(aTestData) // 手动创建一个新对象 aVal := reflect.New(aType) aVal.Elem().Field(0).SetInt(2) aVal.Elem().Field(1).SetString("Test2") aTestData2 := aVal.Elem().Interface().(TestData) fmt.Printf("%+v, %d, %s\n", aTestData2, aTestData2.ID, aTestData2.Title) // 输出如下内容: // {ID:2 Title:Test2}, 2, Test2
}
除了动态创建对象还可以创建函数。
func MakeTimedFunction(f interface{}) interface{} { rf := reflect.TypeOf(f) if rf.Kind() != reflect.Func { panic("expects a function") } vf := reflect.ValueOf(f) wrapperF := reflect.MakeFunc(rf, func(in []reflect.Value) []reflect.Value { start := time.Now() out := vf.Call(in) end := time.Now() fmt.Printf("calling %s took %v\n", runtime.FuncForPC(vf.Pointer()).Name(), end.Sub(start)) return out }) return wrapperF.Interface() }
func timeMe() { fmt.Println("starting") time.Sleep(1 * time.Second) fmt.Println("ending") }
func timeMeToo(a int) int { fmt.Println("starting") time.Sleep(time.Duration(a) * time.Second) result := a * 2 fmt.Println("ending") return result }
func main() { timed := MakeTimedFunction(timeMe).(func()) timed() timedToo := MakeTimedFunction(timeMeToo).(func(int) int) fmt.Println(timedToo(2))
// 输出: // starting // ending // calling main.timeMe took 1.001339833s // starting // ending // calling main.timeMeToo took 2.001299666s // 4
}
reflect还有一堆可以 Make
的东西:
func MakeChan(typ Type, buffer int) Value
func MakeFunc(typ Type, fn func(args []Value) (results []Value)) Value
func MakeMap(typ Type) Value
func MakeMapWithSize(typ Type, n int) Value
func MakeSlice(typ Type, len, cap int) Value
理论上以前在 iOS 上通过 Objective-C Runtime 实现的 JSPatch,也可以在 Golang 使用 reflect 来实现,不过完全没有必要。
可以看到使用 reflect 来构建对象不仅代码写得很绕,而且没有编译器静态检查,很容易写出有问题的代码。目前看来用在 GORM, JSON, YAML 之类的声明是很不错的。ORM 实际上是把一种数据结构转换成另一种,所以我们也可以考虑用 reflect 来实现 AToB()
这样的转换器,而无需显式编写胶水代码。
最近刚读完中国作家虹影写的自传体小说《饥饿的女儿》,同期在读的是MIT经济学教授夫妇写的《贫穷的本质》。朋友介绍这部小说给我的时候,令他印象深刻的是其中对于女性欲望的描写。这种直白的文字在1997年应是特别不寻常的。
可能我身处这个时代(2022年),只觉此类表达已司空见惯。所以我对《饥饿的女儿》中关于主角与历史老师发生的爱与性并不特别关注,也未觉“震撼”。我最喜欢的是这部小说关于重庆贫民区在三年饥荒、文革时期的背景下翔实而生动的细节。
开始时我抱着读虚构小说的心态在看(我通常会跳过《序》、《前言》直奔正文),结果读完第一章我就觉得“为什么作者可以把这些贫民生活的细节写得如此深刻?”于是翻阅了作家虹影的资料,确认这就是虹影的自传体小说。
虹影出生于1962年的重庆贫民区,网络上关于她的介绍一般有一句“曾经就读于北京鲁迅文学院、上海复旦大学”。为什么不是“毕业于”?或者获得某某学位?我内心有点打鼓。后来读到这篇文章,大意可以理解为是特殊时代的特殊情况。虹影在《饥饿的女儿》最后一章中对此有所提及:
“1989年2月,我乘火车到了北京,在鲁迅文学院作家班读书。3月份,一些小型或不太小型的聚会已在大学校园里举行,学生们在热情地辩论中国应当成为什么样的国家。4月,北京学生开始走出校门,走上街头。到处是歌声,到处是激情澎湃的人群。”
再后来(1991年),虹影与任教于伦敦大学亚非学院的学者赵毅衡结婚,自此在英国生活。相较她悲惨的童年,浪迹天涯的20岁时代,在英国的日子算是巨大的飞跃了。也正是在这段时期,她开始尝试小说创作。《饥饿的女儿》首次出版于1997年,虹影的三十五岁之作,自此名声大噪。
作者在这部小说里写的是自己的童年,核心人物均为自己的家人。故事围绕主角“六六”(虹影在家中排行第六,是最小的女儿)对自己身世之谜的探索,在丰富的支线展开中,生动地还原了旧时代的贫民窟生活。其中对市井群众之间的生活琐事之着墨,尤其角色刻薄之处,个个栩栩如生,跃然纸上。
1962年六六出生,正是全国性饥荒的最后一年。1966年,文化大革命开始。
“‘文革’开始时,我四岁,‘文革’结束,我十四岁,十年有七年时间本应坐在教室里,大部分时间却在义务劳动:造梯田支援农村,在工厂垃圾堆里扒拾废钢铁,甚至夜里摸进工厂,偷好好的零件去交给收购站,换回一张交了废铁多少斤的证明条子。”
我有点沮丧。因为我在读书的过程中常不自觉想到:"写作这个时代的文字,在今天是会从网络上消失的。"为什么我竟然要有这样的“不自觉”啊?
我想本作的这段描写有异曲同工之妙:
“大人打孩子,天经地义,看热闹的人只看不劝。就跟到江边看淹死的人、山上看无头尸体、路上看突发病昏厥的人一样。人们的眼睛一般都睁着,很少伸出援手,倒不是怕死鬼替身。生生死死疯疯傻傻本是常事,不值得大惊小怪,每人早晚都要遇到。”
是啊,“生生死死疯疯傻傻本是常事,不值得大惊小怪”。
其实除了时代背景下的“天灾人祸”,小说的主线“六六通过各种努力探寻自己的身世之谜”已经有一个不错的悬念,在多次追问大姐的过程中一步步逼近真相,张力十足。所以阅读起来非常流畅。对于没有亲历旧时代的我来说,饥荒年代血淋淋的描写也让这部小说变得更加丰满。
22.04.28/夜
2022年4月28日,凯文·凯利(Kevin Kelly)在他的网站上发布了 70 岁生日的文章:103 Bits of Advice I Wish I Had Known,意为:103条我希望早点知道的人生忠告。他 69 岁,68 岁生日时也写了这样的文章。朋友转发给我之后,我觉得有些内容很有启发,于是在做笔记的时候想:不如直接翻译过来好了。
K.K. 写的这103句忠告既幽默又睿智,但毕竟只是短短一句话,缺乏上下文,也就不够精确。我觉得读者朋友可以不必咬文嚼字,只要这些话能引起思考就已经很不错了。以下是我在阅读过程中觉得有启发的部分,不想看我的思考的小伙伴也可以点这里直接跳转到翻译。
以下是我觉得有启发的几句
大部分 K.K. 写的我都深表赞同,这里只选出部分我认为比较有意思的,没写在这里的不代表我不认同。比如关于密码管理器这点,我认同并且实践多年,自然无需多言。
1.99%的时间里,真正关键的时刻就是此刻。
About 99% of the time, the right time is right now.
我们很常听说“我要等到某某时刻就去做某某事情”,但其实多数时候,the timing is never right。寻找合适时机往往只是我们拖延的借口罢了。
3.不要为你不想成为的人工作。
Dont ever work for someone you dont want to become.
48.你无法让聪明的人只为了钱而特别努力地工作。
You cannot get smart people to work extremely hard just for money.
一般来说,办公室里比你多工作三五年的人就是你未来的样子,你的老板/上级就是你未来会成为的人。一个聪明的人找工作的时候自然希望这份工作能带来正面的作用,不仅因为钱,所以会被领袖吸引进某家公司是很正常的事情。但是这种希望是会变的,当你有一天发现你根本不想成为你的老板那样的人时,就是你该离开的时候了。
4.好好耕耘12个爱你的人的关系,因为这12个人远比1200万人喜欢你重要得多。
Cultivate 12 people who love you, because they are worth more than 12 million people who like you.
我认真使用个人OKR帮助我回顾与计划以来,“人际关系”一直在我其中一个O里,但是目前我做得远不够好,所以看到这句我深有感慨。
7.“但是”之前的话都是废话。
Anything you say before the word “but” does not count.
就是说,我上面关于OKR那句话,在“但是”之前都是废话。
5.不要一直重复犯错;试着去犯新的错。
Dont keep making the same mistakes; try to make new mistakes.
97.重复别人是一个很好的开始。重复你自己则是一个令人失望的终点。
Copying others is a good way to start. Copying yourself is a disappointing way to end.
犯错需要勇气,这大概是为什么大多数人都不会主动去犯新的错误的重要原因。Tim Urban 在 How to Pick a Career (That Actually Fits You) — Wait But Why 这篇文章中对此有不错的分析,推荐阅读。Tim Urban也在文末说到:"My goal for the future isn’t to avoid mistakes, it’s for the mistakes I do make to be my own."
8.当你原谅其他人的时候,他们不一定会知道这件事,但你自己却会被治愈。原谅不是我们给予他人的东西;而是我们给自己的礼物。
When you forgive others, they may not notice, but you will heal. Forgiveness is not something we do for others; it is a gift to ourselves.
原谅他人,其实是在治愈自己。我想起台湾的电视剧《我们与恶的距离》,其中“原谅”在几个关键角色身上都是一道极难跨越的坎。
10.无论什么时候,看到争论基于两个对立面进行时,要找到第三个面。
Whenever there is an argument between two sides, find the third side.
16.如果在一个游戏中,获胜变得过于重要,那么我们可以修改游戏规则以便从中获得更多乐趣。而修改规则本身就可以成为一个新的游戏。
If winning becomes too important in a game, change the rules to make it more fun. Changing rules can become the new game.
88.当你跟别人谈判的时候,不要把目光瞄准蛋糕中最大的一片;要瞄准如何把蛋糕做大。
When negotiating, dont aim for a bigger piece of the pie; aim to create a bigger pie.
这几句都颇有跳出圈子的感觉,当你发现形成非黑即白的局面,深陷其中难以解脱时,试着跳脱出来。
18.生产力反而经常分散我们的注意力。不要试图寻找更快完成任务的方法,而是把精力放在你根本不想停下来的任务上。
Productivity is often a distraction. Don’t aim for better ways to get through your tasks as quickly as possible, rather aim for better tasks that you never want to stop doing.
读到这句我深有同感,以前“枫影夜读”还名为“每周读书”系列的时候,为了“每周”这个看似有用的目标,我不得不放弃一些无法短时间内读完的书,反而损害了我本身“喜欢阅读”这件事的体验。还不如就继续喜欢阅读,然后顺便写点书评来得愉悦与持久。
14.人生的课程将以它们需要的顺序出现在你面前。任何你需要掌握的课程其实都在你身上。当你真正掌握了一节课之后,下一节课就会出现。如果你还活着,这就意味着你还有课程需要学习。
Life lessons will presented to you in the order they are needed. Everything you need to master the lesson is within you. Once you have truly learned a lesson, you will be presented with the next one. If you are alive, that means you still have lessons to learn.
21.你作为一个意识生物的成长,将以你愿意接受的令人不舒服的对话的次数来衡量。
Your growth as a conscious being is measured by the number of uncomfortable conversations you are willing to have.
30.请教一位你崇拜的人: 他们的幸运转折往往来自于跟主要目标无关的弯路。所以拥抱这种弯路。对任何人来说,人生都不是一条直线。
Ask anyone you admire: Their lucky breaks happened on a detour from their main goal. So embrace detours. Life is not a straight line for anyone.
34.不要等着暴风雨自己过去;要在雨中跳舞。
Don’t wait for the storm to pass; dance in the rain.
44.你在低谷时做的事情比在好日子时做的更重要。
What you do on your bad days matters more than what you do on your good days.
85.你跟那些惹怒你的事物一样大。
You are as big as the things that make you angry.
人的一生很奇妙,我们会在感觉很美好的同时经历许多的不愉快。而现代人“成长”的标志之一似乎就是能够适应这种复杂的痛苦。不管是面对复杂的人事也好,超出预期的事件也罢,不管是遇到跌宕起伏的股市也好,碰上别人都是傻逼的事情也罢,试着把这些都当作锻炼自己心智的课程。下一次你碰到一样的情况,如果能至少表面上镇静地应对的话,那就说明你可以学下一课了。
24.你的努力(锻炼、陪伴、工作)的一致性远比数量重要。没有什么可以击败每天坚持做的小事,这比偶然做的事情重要得多。
The consistency of your endeavors (exercise, companionship, work) is more important than the quantity. Nothing beats small things done every day, which is way more important than what you do occassionally.
除了不积跬步无以至千里这样的至理名言以外,我之前写过文章介绍的 Atomic Habits 一书对此有更为细致的分析,推荐阅读。
27.你必须具备的三种能力: 在确认一件事情能运作之前永不言弃的能力,在确认一件事情无法工作下去时放弃他的能力,以及信任能帮助你区分二者的人。
Three things you need: The ability to not give up something till it works, the ability to give up something that does not work, and the trust in other people to help you distinguish between the two.
通常来说,普通人往往在还没成功之前就放弃,却迟迟不愿放弃前景糟糕的事情,哪怕有人这么明确地跟他说了,他也不愿意相信。什么?你问我这个普通人是不是我?还好这里不是TVB😂
38.设定一个野心得荒谬的目标的好处是,上限足够高,这样即使最后失败了,以通常的标准来衡量也可以算某种程度上的成功。
The advantage of a ridiculously ambitious goal is that it sets the bar very high so even in failure it may be a success measured by the ordinary.
此理与 OKR 相同。
39.了解自己的一个好办法是,仔细地分析自己做的会惹怒其他人的每一件事情。
A great way to understand yourself is to seriously reflect on everything you find irritating in others.
以前我从 Steve说播客学到:“最好的观察自己的时候,就是产生情绪的时候”。我记住了这点并由外向内观察了数年,而 K.K. 提到的这点则是从自己往外看时的分析,是个不错的补充。
50.所有东西的90%都是垃圾。如果你觉得自己不喜欢歌剧,浪漫小说,抖音,乡村音乐,素食,NFTs,那你可以试试看自己能否找出不是垃圾的10%。
90%of everything is crap. If you think you don’t like opera, romance novels, TikTok, country music, vegan food, NFTs, keep trying to see if you can find the 10% that is not crap.
今年(2022年)我听了大量我以前根本不会听的音乐,经常在推上以 #今日唱片 分享音乐。我开始发现诸多音乐流派、门类的奇妙之处,甚至开始发布音乐分享 newsletter。有太多的音乐在一开始听的时候都是很难接受不好入耳的,我们需要更多的训练来形成欣赏的能力。而最开始的时候,需要一点原初动力,K.K. 这个 10% 不妨成为引发好奇心的导火索。
51.你如何对待那些对你无能为力的人,将成为评价你的标准。
You will be judged on how well you treat those who can do nothing for you.
54.你无法说服一个人接受一个他自己也无法说服他自己的理念。
You cant reason someone out of a notion that they didn’t reason themselves into.
没有什么必要说服另一个人,毕竟这世界上还是有很多人坚信地球是平的。
55.最好的工作是你需要被拉伸才能合格的工作。其实最好只申请你的能力尚不合格的工作。
Your best job will be one that you were unqualified for because it stretches you. In fact only apply to jobs you are unqualified for.
62.”我现在该做什么?”的唯一有效回答是,先找出“我想成为什么人?”的答案。
The only productive way to answer “what should I do now?” is to first tackle the question of “who should I become?”
好吧,那我想成为什么人呢?
89.如果你重复今天你做的事情365天,那一年后你会成为你想成为的人吗?
If you repeated what you did today 365 more times will you be where you want to be next year?
我刚刚问了这个问题,你立刻就把我否定了啊,OMG🤦♂️
这个问题太直击灵魂了啊!
92.我们的后代将创造令我们惊叹的成就,但其实只要我们的足够的想象力,他们会创造的部分东西,用今天的材料和工具就已经能实现了。所以,要想得更大一点。
Our descendants will achieve thins that will amaze us, yet a portion of what they will create could have been made with today’s materials and tools if we had had the imagination. Think bigger.
93.为了丰厚的回报,请对你完全不感兴趣的事物保持好奇。
For a great payoff be especially curious about the things you are not interested in.
95.所有的突破在一开始都是看起来很可笑和荒谬的。事实上如果它在一开始看起来不够可笑和荒谬的话,它也称不上是一种突破。
Every breakthrough is at first laughable and ridiculous. In fact if it did not start out laughable and ridiculous, it is not a breakthrough.
看到这里,我在思考是不是我应该要试着在我完全不感兴趣的事情里,寻找那 10%?
99.与其让你的人生规避“出人意料”,还不如直接瞄着它们而去。
Rather than steering your life to avoid surprises, aim directly for them.
103.防止变老的最佳实践是保持惊讶。
The chief prevention against getting old is to remain astonished.
保持好奇心是一个创造者应该有的常态,而可笑的 breakthrough,需要一点想象力加持的出人意料,会不会就隐藏在我不感兴趣的 10% 里呢?
感谢 K.K. 在 70 岁生日时的真诚分享,我深受启发。
P.S. 写完才发现原来已经有其他人翻译过了。Anyway,我有我自己的思考就足够了。
以下是全文翻译
今天是我的生日。我今年70岁了。活到现在我也算学到了一点可能可以帮助到其他的人东西。过去几年,我每年都会写一点人生建议之类的东西(当然没人请我写这个)。出乎我意料之外的是,今年好像我想讲的话特别多。所以接下来是我给各位读者的一份小小的礼物:我希望我年轻时就知道的103条人生智慧。
我(Justin)最早知道 @Livid 还是在 2010 年看到他发布的 Rework 的中文版翻译。
没想到一晃十二年过去了,我们邀请到这位“用十年时间做了一个叫 V2EX 的网站”的人,跟我们闲谈 V 站,畅聊去中心化技术。
岁月如梭,十二年后,我们是否还充满着理想主义激情迸发,是否还纵情于技术世界流连忘返?
在跟 @Livid 录节目的时候,常常让我回想起那个天真的年代,也让我感受到在下一个十年,继续热情澎湃地脚踏实地,有何不可?
希望听众朋友们跟随我们的声音,一起笑对人生。
P.S. 本期节目开场3分钟的全损复古音质来自在线软件直录,因为保留了录音事故现场很有趣所以采用,请诸位坐和放宽,安心享用🙇♂️
欢迎各位听众朋友们通过以下方式联系我们:
fyfyFM
进群推荐使用小宇宙等泛用型播客客户端搜索“枫言枫语”来订阅收听本节目。
荔枝FM,喜马拉雅,蜻蜓FM等平台亦有同步。
什么样的状况可以称为“贫穷”?联合国千年发展计划有一个“消灭极端贫穷和饥饿”的目标,其中具体提到:1990年至2015年间,将每日收入低于1.25美元的人口比例减半。
所以日收入低于1.25美元(约8.13人民币)的群体就是“穷人”吗?联合国官网(2003年)数据显示:自1990年以来,已有超过十亿人口脱离极端贫困,但仍有八亿人生活在赤贫之中。全球穷人数量惊人。
多数人关于富裕与贫穷的概念可能都不是与生俱来的。我记得小时候过年家族聚餐,大门口会有乞讨的人过来唱歌。长辈会给我们这些小孩子几毛钱,让我们拿去给乞讨者。那可能是我印象中对“贫穷”这个模糊概念最早的视觉化呈现。我记得小时候有些长辈会说:“这些人年纪轻轻,有手有脚不去好好干活,就是因为懒才来要饭的。”
所以穷人是因为懒才穷的吗?所谓“贫穷陷阱”理论在现实生活中存在的吗?
MIT的经济学教授 Abhijit V. Bannerjee 和他同为 MIT 教授的妻子 Esher Duflo 合著的这本书──Poor Economics: A Radical Rethinking of the Way to Fight Global Poverty──试图为现行的经济学理论寻找证据,证明或证伪某些专家对“大问题”的“大思考”。
我阅读的是本作的简体中文版本,由中信出版,景芳翻译。简体中文名为《贫穷的本质》,副标题是:我们为什么摆脱不了贫穷。翻译质量很高,感谢译者。中文书本标题多为编辑所定,不再讨论。
全书分为两个部分,第一部分是生活案例,通过全球多个地区的案例分析,讨论了饥饿、健康、教育、生育等话题;第二部分是慈善机构,从穷人每天都需要面对的风险开始,到小额信贷,到被迫“创业”,到政治政策,讲述穷人面对的各种问题。
我在阅读的过程中总能收获一些反直觉的东西。比如“我们与穷人的差别其实很小,因为我们的认识比我们想象中要少得多…我们真正的优势在于,很多东西是我们在不知不觉中得到的。”比如自来水、电、疫苗等等。
“我们不需要使用自己有限的自控及决断能力,而穷人时时刻刻在运用这种能力。”这点我深以为然。书中提到类似非洲穷人不愿购买消毒蚊帐防止疟疾,亚洲农民不愿购买化肥提高产力等案例,我觉得如果换了我身处其中,估计也差不了多少。
我想到我认识的朋友们,如果自小在条件不差的环境中成长,成年后往往有更多选择,可以把时间、精力放在自己想做的事情上。不管是成为某方面的专家也好,还是不断拓展视野也罢,总之,这样的朋友的人生轨迹充满了更多的可能性,环境、家人对他的限制更小。这让我想起多年前那篇网络热文:《我奋斗了18年才和你坐在一起喝咖啡》。该文作者描写的境遇更极端,但因为这些条件限制带来的不利却是普遍存在的。这世上不乏有内裤开局单挑Boss的高手存在。这个过程极其痛苦,历经无数磨难,可能性并不为零,但十分渺茫。
因为贫困线以下的群体多在发展中国家,所以作者分析的案例集中在非洲、印度、印尼等国。作者Abhijit在印度出生,他关于印度习俗的分析让我觉得地方虽然不同,但管理国家的毕竟都是人类。比如印度不同邦的人对于发烧的看法:马哈拉施特邦的人觉得大米可以帮助患者快速退烧,而孟加拉邦的人认为发烧的时候不可以吃大米。这让我想到小时候老家关于感冒的人能不能洗澡、洗头、这个能吃那个不能吃的各种禁忌,现在看来有些哭笑不得。
这个世界上有各种各样的组织在试图改善穷人的生活,抗击全球贫困。牵涉全球多个不同的国家,不同的制度,不同的风俗,不同的习惯。尽管在抗击贫困这件事情上,有些地区做得比较好,另一些地区比较糟糕,但即使是最糟糕的地区,也有改善的空间。作者把这些可以改善穷人生活的事情总结为五个方面:
1. 穷人通常缺少信息来源,相信那些错误的事情。
这一点不通过科学手段无法获取信息的网民们恐怕深有体会。但除了这种外部的限制以外,本人是否有足够的自我意识,是否有形成正向循环的信息渠道也是非常重要的一环。书中提到至少要让小孩子们学会阅读,这样可以通过阅读学习其他知识。我想到李笑来写过一本书──关于他的争议我们暂且不论──标题为《学习学习再学习》。就是要先学会如何学习,然后再去学习。有点文字游戏是意思,但颇有道理。
经历过高考的读者对此可能有所体会。对于理科考试而言,通过无脑刷题来提升考试分数是一种方法,但是学会从题目中找出设计规律,总结每个科目每种题型的解答方法也许更加高效。也就是学会方法,再做刷题训练。
2. 穷人肩负着生活中的多种责任。你越富有,越容易做“正确”的决定。
诚然,阅读本文的多数人可能不需要每天为喝井水还是喝河水而发愁。我在阅读本书的同时也在阅读中国作家虹影的自传体小说《饥饿的女儿》。虹影出生于1962年的重庆,家境贫寒,在母亲肚子里经历饥荒年代,随后是接踵而来的文化大革命。她童年的经历在很多细节上印证了《贫穷的本质》中提及的穷人案例。
穷与富是相对的。即便在温饱线以上,中产与1%的富人依然有极大差距。这些差距带来的做出“正确”决定的难易程度,也见诸其中。所以阅读本书,了解穷人的困境与改善方法,也是在提升自我的意识。比如给自己买保险,给家人买保险。
这种看似简单的,具有明显好处的,应该趁年轻的时候早点做的事情,我就需要在多年以后,通过学习才逐渐有此意识。亡羊补牢,为时未晚。很多事情不是穷人好吃懒做,不是目光短浅,而可能只是他不知道而已。
北大法学博士,B站有名的Up主罗翔老师说过类似的话:“一个农民去城市乱闯马路,你不能说这位农民蠢,他只是不理解为什么有交通规则。一位知识分子去乡下,分不清稻谷和麦子,他不是蠢,他只是不理解。所以不要带着知识的优越感。”
3. 一些服务于穷人的市场正在消失,或是在这些市场中,穷人处于不利地位。
这一点对大部分不处于贫困线以下的人来说算是比较幸运。因为目前大部分行业服务于人数最多的“普通人”(我也不知道有什么其他更好的词),通常只会给富人开设 VIP 通道,但不会拒绝普通人。
当然存在一些活动是需要一定经济实力才可能参与的。比如 F1 运动就需要小孩子自小参加卡丁车训练和比赛。家长要负担小孩的训练费,出场费,车费,油费,维修费等等。普通家庭出身的孩子即便有天赋也很难支撑他一路晋级直到进入 F1 围场。
4. 贫穷的国家不会因为贫穷或其不堪回首的历史而注定失败。
曾经贫穷的人亦如此。
我的老家属于“沿海城市”,改革开放几十年,我见过太多做生意起起落落的人。小时候没什么感觉,现在想来,各有各的幸运与不幸。回顾过去,我们总能给历史找出一堆原因,看似今天是过去的必然结果,但事实上,从来没有人能够预测未来。
上文提到的女作家虹影,她小时候的教育条件并不算好。但她写的小说文笔极佳,至少《饥饿的女儿》写得很好,我看不出来作者小时候的经历会是如此悲惨。
人生有太多东西无法选择,但始终我们可以选择乐观或悲观。而且别忘了,“无法选择”它也是一种选择。
5. 对于人们能做什么或不能做什么,最终常变为自我实现的预言。
一个人往往会对自己有一个预设。这种预设既来自自己的判断也来自外部的评价。很有趣的是,当你预设自己是一个怎样的人的时候,往往你会不自觉地,下意识地做出能够印证这个预设的行为。最后变成自我实现的预言。
所以当你对自己的某一方面很没有自信的时候,可以试着往“I Can Do It”的方向去想。只要学会了如何学习的方法,加上足够的训练,大部分人都可以胜任大部分工作。又不是去奥运会赛场,只有到这种级别的地方才真的到了拼天赋的时候,我们在学校里,在工作上做的大部分事情,都完全没有“不自信”的必要。
我喜欢《贫穷的本质》里涉及全球多个国家的实验与具体案例分析。作者作为经济学教授,除了分析经济学主流的“大理论”以外,会通过具体的案例与随机对照实验,用证据证明这些“大理论”到底适用还是不适用。这种讲求实证的方式让我非常佩服。
虽然我不是经济学方面的专家,也没有Bill Gates那么大的能量可以帮助全球抗击贫困。但至少通过阅读本书,我可以知道自己还存在哪些问题,可以提升自我。
就像盲区会被我们的大脑忽略一样,现实生活中有太多事情被我们忽略了。抬起头,多看看不一样的角度,不要让自己陷入缺少有效信息的屏障里。
22.04.24/夜
我挺喜欢村上春树的,读过他多部作品,但很少撰文评论。可能是因为我看不懂,不知该评论什么。
你可能会说:“看不懂也能谈得上喜欢吗?”
我不太确定。可能喜欢的感觉和是否“看懂”没有必然联系也未可知。总而言之,村上春树的小说,我“感觉”挺喜欢。
《没有女人的男人们》是村上2014年发行的短篇小说集,共收录了七个故事。大部份于2013年发表在《文艺春秋》之类的刊物。唯最末一篇同名小说《没有女人的男人们》是为本辑而作。这个标题取自海明威的短篇小说集:Men Without Women。
我在看了电影《驾驶我的车》之后买了本书。电影剧本改编自其中几个短篇,影片名则取自第一个短篇《Drive My Car》。影片故事有点杂糅缝合的意思,但氛围表现不错,我很喜欢。红色的萨博小车行驶在濑户内海蜿蜒的公路上,背景音是男主角的话剧台词。推开旧式旅馆的木窗,可以看到波光粼粼的景色。挺舒服。
这七个短篇延续了村上一贯的写作风格,各种必备元素:性、伦理边界、爵士乐或 The Beatles,威士忌,女人,男主角,神秘,见诸各个作品。其中第二第二篇的小说名《Drive My Car》与《Yesterday》均为 The Beatles 的经典曲目。村上春树果然很爱披头四啊。
七个短篇中我最喜欢的还是《木野》。这个小故事算是典型的“村上套路”:妻子出轨,男主角消沉之余寻找开启第二人生。有酒吧,有爵士乐,有猫,有美女,也有神秘力量。这些元素在村上笔下渲染出难以言喻的气氛,有点阴郁有点诡怖,有点怀旧又很有质感。
作为一个“看不懂”村上小说的读者,我大概还是更欣赏这种奇妙的空气吧。这种空气可以在阅读完之后绵延一段时间。像我在读完《恋爱的萨姆沙》这篇之后就做了个体验极为真实的梦,但毕竟那个梦的感受不算很好,所以没给此篇加分。
读完本辑,感觉有点像以前读《刺杀骑士团长》,余韵停留在免色那过于理想的形象,捷豹上山时的引擎声,以及纸片人傲慢的表情。对我来说,这就挺好了。
22.04.11/中午
于自居
P.S. 作为一个南方人,读村上的小说照例要推荐台湾赖明珠翻译的版本。相较之下,大陆林少华译本的用词较容易使我跳出小说氛围,更不用提由于简体出版标准导致的种种细节问题了。
F1 2021 赛季给我们带来十几年未见之精彩。今年(2022)随着 F1 规则大改,车队之间实力洗牌,又将给我们带来怎样的一个新赛季呢?非常值得期待。
本期节目我们邀请到老朋友:老黄(黄不了),跟我们一起畅谈 F1 这项激动人心的极限运动。
P.S. 节目中提到的老黄新挂上去的唱片是 Miles Davis 的名盘 Kind of Blue,本期片尾曲选择的也是 Chet Baker 的现场专辑 Chet Baker in New York 里演奏的,Miles Davis 所写的曲子:Solar
欢迎各位听众朋友们通过以下方式联系我们:
fyfyFM
进群推荐使用小宇宙等泛用型播客客户端搜索“枫言枫语”来订阅收听本节目。
荔枝FM,喜马拉雅,蜻蜓FM等平台亦有同步。
John Doerr 2017年出版的这本 Measure What Matters 早有耳闻,简体由中信出版,书名为《这就是OKR》(简体出版社编辑的起名倾向总是令人惋惜)。英文版读下来十分流畅,生僻词不多,推荐阅读英文版。亚马逊中国有售,配合 Kindle Wordwise 阅读会更轻松一些。
John Doerr 1974年加入 Intel,当时 Intel 正在研发奠定后来 x86 架构地位的 8086 处理器。当时 Intel 与 Motorola 的竞争达到白热化阶段,Intel 面临生死存亡的危急关头。时任 Intel CEO 的 Andrew Grove 凭借优秀的管理方法成功将全公司上下统一,全员朝研发出超越时代的 CPU 发力,给 John Doerr 留下深刻印象。John 后来也成功在 Intel 成为最优秀销售。离职 Intel 后把 Andrew Grove 的方法总结为 OKR,作为 VC 带给当时还十分年轻的 Google。后来的故事大家都知道了,OKR 成为 Google 的管理基础,直至今日仍在发光发热。
理论上 OKR 不仅适用于大公司、大组织,它也适用于个人。我从去年(2021年)开始尝试把 OKR 用于我的人生目标,所以对 John 的“正统 OKR”实践很感兴趣。这本书也给我带来了不少启发。所以对 OKR 有兴趣的读者不妨也找来看看。
全书主要分为三个部分:
第一部分从作者把 OKR 带到 Google 写起。讲故事的部分居多,也算有趣,不过有时候我觉得还是比较啰嗦。最重要的是第一部分,作者引出 OKR 的四个 Superpower:
OKR 对大组织来说最重要的作用莫过于上下统一,全员聚焦于最重要的事情。同时也提供给公司老板一种更加合理的衡量方法:关注产出(Output)而不是动作(Activity)。比如一般认为只看工作时长是“管理懒政”,因为加班多并不代表产出多。
OKR 提供了另一种合理的视角:看组织成员对于组织方向的目标(Objective)有多大贡献,而不是看他加了多少班。
对我的个人 OKR 实践来说,这点尤为重要。在我的个人 OKR 中,健康目标非常难以衡量。过去我直接让这个 Objective 和我的 Habit Tracker 挂钩,比如这个月我一共去了 N 次健身房,做了 N 次不少于 5 分钟的 Meditation 等等。这些事实上都是对“行为”的衡量。作为习惯追踪(Habit Tracker)非常有用,因为习惯养成最重要的是频率(参阅 Atomic Habits 一书)。但我是否健康,是否自信,是否每天都很有精神其实无法被这些 KRs 衡量。
OKR 有个非常重要的点,就是 Objective 可以被 KRs 衡量,当 KRs 都完成的时候,Objective 就达成了。但是我完成了本月的健身房训练次数之后,Objective 达成了吗?不见得。所以更合理的 KRs 应该是我的体重、体脂率、睡眠质量(App 打分)等能被量化的数字的提升或维持。
除非我的 Objective 是“在这个月里,养成xx习惯”。
另外是优先级(Priorities),不管是大组织也好,个人也罢。资源总是有限,像大家耳熟能详的 Time, People, Money 三者不可兼得之说。这就是优先级存在的意义。我们一段时间内只能解决一个问题,不要试图解决所有问题。
"Real artists ship."
没有产出,一家公司就会倒闭;没有产出,一个团队再有创意也只是空谈。前段时间看了 Netflix 纪录片《通用魔术》(英文名 General Magic,推荐友台主播 @JJYing 翻译的字幕),虽然这家创业公司每个成员都很厉害,大家野心也很大,受到资本界的追捧,可以说要啥有啥。但是最终他们无法在合适的时间交付一款足够好用的产品,所以结局是个悲剧。虽然历史无法重来,但是如果当时他们有一位类似 Andrew Grove 这样的管理者,可能智能手机的历史会被改写也不一定。
对我个人的 OKR 实践来说。人生需要关注的方方面面实在太多。2022 年 2 月,我试着在我的 OKR 里加入更多目标(Goals),结果导致我大部分目标都无法达成。3 月份,我从我的目标中只挑选出最重要的三个。每个都从我的大 Objective 派生出来,以 KRs 为衡量目标,完成 KRs 即达成本月目标,最终结果只有达成✅与未达成❌两种,没有中间状态。
这一项是 OKR 对大组织最有效的地方。书中举了多个例子,也邀请了多位硅谷大公司的高管来讲述他们的故事。在一个大公司工作,因为体量的关系,很多人会感觉自己就是一个流水线上拧“螺丝钉”的人。互联网有个笑话,“面试造核弹,工作拧螺钉”说的便是此理。
OKR 理论上可以解决其中一部分问题。这部分书里举了 MyFitnessPal 这个例子。公司的目标是: Help more people around the world.
KRs 设定为新用户增长和总用户数。一线员工做用户增长时可以明白自己可以帮助到更多的人。
这也是我说为什么可以解决“一部分问题”。要想让一线员工觉得自己的工作的有意义,首先这家公司的产品或服务得令人觉得有意义。毕竟这世界上还存在许多除了赚钱以外没什么正面价值的产品和服务。
对于个人 OKR 来说,这点也至关重要。我希望在每个计划与回顾周期暂停脚步,看看我过去做的事情对我的人生都产生了哪些影响。我想要的目标是靠近了还疏远了。
有时候目标制定好了,大脑就体会到“我做完了”的感觉。“set them and forget them”十分常见。
所以一个能够被执行的计划一定是经常“追踪”(Track)的。前面讲到一个 KR 在周期结束时只会有“完成与否”的二元回答,但是在周期结束前呢?Google 的做法是采用 0-1.0 之间的数字做追踪记录。
而因为下面要提到的“大目标”(Stretch,Think Big)特性,通常一个 OKR 的目标都不容易 100% 被实现,所以 Google 认为进度 0.7-1.0 即可算作目标完成,他们称为“绿色”(Green),0.4-0.6 是“黄色”, 0.0-0.3 是红色。因为“通常无法100%完成的特性”,Google 还额外加入了“打分”(Score)机制。
假设我的销售任务是谈成 10 个交易额 100 万的订单,有两种做法。一种是我一直拖延到截止日期前一个礼拜才开始积极打电话销售,熬了好几个通宵想方法做渠道投放,最终谈了 170 个客户完成了 3 个订单。另一种是我合理分配到周期内的各个时间段,经常想办法拓展渠道,虽然只谈了 100 个客户,也不需要熬夜通宵,但是谈成 7 个订单。两者应该鼓励哪种一目了然。
周期内追踪时也会对每个 KR 做标记,红色进度的 KR 需要考虑是负责人本身的问题,还是目标设定的问题,情况严重的可以考虑放弃该 KR。黄色进度的可能需要盯紧项目环节,看是否需要调配资源等支持。绿色进度的表示状态良好,继续保持。
对我的个人 OKR 来说,中期回顾有助于我发现 KR 设定的不合理之处,也让我知道当前周期内我的个人目标被实现了多少。看到一些目标有进度是个好信号,看到一些目标毫无进展则给我警告:是不是我的目标设定太多了?是不是这个目标对我来说其实并没有那么重要?
对于组织 OKR 来说,“正统”的做法是不与绩效考核(Performance Review)挂钩,避免大家为了保险起见选择一定能完成的目标。对于个人 OKR 来说,对自己保持“绝对诚实”至关重要。因为自己是自己唯一的裁判,如果为了 OKR 结果好看,我完全可以在中期随意修改 KR,变更目标,多一些 Greens, 少一些 Reds。但这样做真的有用么?
跟组织 OKR 要保持公开、透明、负责一样,个人 OKR 也要对自己诚实、负责。
前面也提到 OKR 一个特点是需要 Think Big,目标制定需要有野心,令人感觉不舒服,不太可能 100% 达成的。
书中提了 Google Chrome 的例子。当一个目标足够大的时候,即使只完成了 70%,也已经是个非常了不起的成就。OKR 的百分比进度与打分机制给予这种富有野心的目标一种合理的衡量方法。
这也是我在本书中学到的一点,除了“把目标都变成绿色”,还可以“引入打分机制”。
不过我也想到一个问题:如果大家都知道 70% 即完成,那么我制定目标的时候就可以定一个 70% 可以被完成的目标,然后上报一个 100% 的数字。所以这些规则漏洞还是必须有“不与利益挂钩”加持才有可能规避啊。
传统的任务派发式工作方法让一线员工感觉像个“拧螺丝”的流水线工人,OKR 可以解决一部分上下统一的问题。OKR 应用到个人也可以让自己更清楚自己在朝什么方向前进。
如我在《个人 OKR 实践》系列中想表达的,OKR 也只是一种工具,跟 GTD 一样,需要自己去实践,去尝试,然后发现适合自己的部分,不适合自己的部分。找到有用的东西为我所用,对于不合适的部分抛弃就好了。
读这本书对我产生最大的启发是"As Measured by…"。所有的 Objectives 都应该问这个问题,它如何才能被衡量呢?如果这个 Objective 无法被衡量,那么是否设置的时候就已经有问题了呢?
回顾我的个人 OKR,可以改进的部分还有很多,挺好的。
22.03.21/中午