2019这一年

自从17年毕了业开始工作以来,慢慢享受到了自由的甜头,可以去过自己想过的生活,每到年末就会想,这一年是不是过得比上一年更好了,是不是做了想要做的事情。我相信每年的答案都会是肯定的(毕竟标准是自己定的哈哈),虽然觉得2019年过得比以往要「复杂」一些。 继续做着自己喜欢的事情,在这些事情上走得更深入,会产生新的体会,同时也培养了新的爱好;去了很多的地方,想让自己每一个周末都过得值得回忆,觉得这是一种增加生命密度的方法,同时不再像以往那样纯粹为了玩乐,会想怎么样把眼前的景色更好地记录下来。而所谓「复杂」,主要是指这样试图追求自我与社会规则之间产生的不可避免的张力所带来的失落与迷茫,好在跟朋友讨论之后有了更深入的理解和看起来可行的解决方案(或者也可以叫认清现实吧);当然也有自己在工作上的折腾,现在知道还是由于自己经验不足,走了一些弯路。不过不管怎样还是有很多收获,所以这样的「复杂」也让人成长。 一 那就先从爬山和摄影开始吧。去年总结的时候把17年称为我的 hiking 元年,去年为爆发年,因为当时很自豪地发现自己一年爬的山加起来比珠穆朗玛峰还高,还写了篇知乎答案。说到这个,今年时不时会登陆知乎看看这个答案的动态,几乎每隔几天就会有人赞同或喜欢,觉得把自己的经历和好看的景色分享出去是一件很让人满足的事情。今年显然是走了更多的路,在我的 spreadsheet 表格中记录了40条 trail,总长度165英里,总高度40647英尺。 觉得这样的仪式感很好,每次看到又多了一条记录,会觉得跟这件事情有了更多的关联。我觉得「关联」是一个很重要的感觉。有一次在 Mt. Rainier 看日落,看到很远处一座山被日落的余晖照得粉红粉红的,回家在 Google Earth 顺着那个方向找,才知道原来那是华州最高的非火山山峰,叫 Mt. Stuart. 过了一个月去 Lake Ingalls backpacking,发现就在这座山峰旁,顿时觉得很亲切,记忆里两年前去都没有留意过。今年11月份回国,飞机向西北方向飞,看到 Cascades Range 的群山连绵于城市上空,兴奋不已地悉数着那些能叫得出名字的山峰。朋友听到我聊起这些喜悦,说「你见青山多妩媚,料青山见你应如是」。 对我来说,走在树林里,真是一种全身心的愉悦。今年感觉到心态上有一些变化。记得最开始 hiking 的时候还会觉得无聊,“不就一直走路嘛”;后来不知道为什么特别迷恋山顶的湖,去了 Lake Ingalls、Lake 22、Heather Lake、Lake Ann、Colchuck Lake,往上爬的时候一直在幻想清澈碧蓝的湖从树丛中慢慢显现靠近的那个瞬间;不过到了现在,觉得 hiking 这个过程本身就是让人享受的,能让我瞬间忘记工作和一些烦心事,整个心沉浸在自然里。 当然也不是每次都能看到好景色的。今年最有趣的事情就是,因为去年 Lake Serene 关了,看到别人发的照片又觉得很美,一直很想去。今年2月份去了一次,结果雪太厚没上去成。不甘心,又去了第二次第三次,都因为大雾没能看到全貌… 不过也没什么,出门多了,什么天气都遇到过,可能有些地方还是需要缘分的哈哈。 走的 trail 多了,自然也会有更高的期待和追求,想去风景好的地方,想去看没见过的景色。一月份第一次穿 microspikes 走了雪地,点亮了冬天 hiking 的技能;十月份第一次 backpacking ,还是直接 hard 模式,得在雪地里扎帐篷,早上起来想看日出结果发现鞋子都结冰了,只有拿着烧水的炉子用火烤,而且第一次背着三十多磅的背包走了两天,晚上回来累得不行连吃饭都要睡着了;十二月圣诞节第一次去看冬天的 Rainier,第一次 snowshoeing,被这冬季纯白的世界所震撼了,跟夏天的野花和秋天的红叶有着不一样的美。 如果不能把这些景色记录下来,爬山的乐趣大概少了一半。就像 The Art of Photography 里描述的,when you find something of importance, it will be apparent. It will be compelling....

December 31, 2019 · 13 min

生活在西雅图是种怎样的体验

去年第一次来西雅图的时候是二月份,阴雨天,冷。从国内带来的伞,在圣地亚哥待了近两年都没怎么用 ­,来西雅图的第一天就被吹断了。所以因为工作搬来西雅图的时候是一百个不愿意。 生活了一年多,慢慢意识到西雅图真是个严重被低估的地方。觉得这里就像一个藏宝库一样,周围的自然风光不停地给我惊喜。 西雅图周围的山太多了,看看地图就知道,附近的国家公园就有三个,以至于这个夏天基本只要天气好没有公司的事儿都会往山里跑 。前几天算了算,今年走了近二十条 trails,爬了 31200 ft,加起来比珠穆朗玛峰还稍微高一些 。露营也是今年才开始的,从六月份第一次露营,到现在在野外睡了五个晚上 。作为一个户外新手,这些事情想想还是挺有成就感的。 今年在西雅图附近走的第一条严格意义上的 trail 是很多朋友推荐的 Lake 22 (5.4miles, 1486ft elevation gain, 离市区约一个半小时车程),六月初山顶还有一些雪,但是已经没有雪崩的危险。 对山顶有湖的 trail 特别着迷,接下来的周末去了 Heather Lake (4.6miles, 1194ft,离市区约一个半小时车程)。爬着爬着下雨了,让我想到了那句“山色空蒙雨亦奇”。 仔细看山上有很多小瀑布,觉得特别有意思。 一到新月就想去看银河,于是六月中去了 Baker Lake(离市区约2小时车程)第一次露营。第一次真是没经验,下午才跑到营地,结果大部分都被占了,好在还有一个私人运营的有空位。晚上湖面倒映着银河特别美 。 Annette Lake (9.3miles, 2112ft, 距离市区约45分钟车程) 是我自己去的。一个人爬山的好处就是可以完全放空自己,敞开心去接受大自然所呈现的一切。 七月中到八月中是去Mt. Rainier雷尼尔雪山国家公园的黄金时间,此时野花正在山间慢慢盛开。7月中旬我们周六一早就去抢sunrise区域的营地,走了一条叫Burroughs Mountain 的 trail (9.5miles, 2591ft),后来还看到了雪山银河,看到了日照金山,虽然基本就没怎么睡,但是那二十四小时过得太值了。 接下来又去了两次 Rainier, Paradise区域的 Skyline trail (5.5miles, 1758ft) 是经典,野花盛开的时候随处都是风景,跟自己说每年都要来爬一次。估计很多朋友都去过,这里就放两张小动物照好了。 几只本来在打架的土拨鼠,被我们围观得一脸懵逼 今年的英仙座流星雨在8月12号那个周末。我们往北开了近三个小时到了 Artist Point,这里是开车可达的山顶,周围峰峦叠嶂,还有 Mt. Baker和Mt. Shuskan两座雪山。跟小伙伴裹着睡袋躺在山顶看如烟花般绚烂的流星。哦对了山脚下河水旁的营地也很难忘。 时间快进到10月份。虽然华盛顿州叫The Evergreen State,没有New Hampshire或者Alaska那样漫山遍野的秋色,但金松 (Larches) 搭配山峰所带来的美也是无与伦比。去年抓住秋天的尾巴去了 Lake Ingalls (9miles, 2500ft, 距市区2个半小时车程),一直念念不忘 。...

October 28, 2018 · 3 min

工作一年了,聊聊三件事

到明天5月22日,我就入职满满一周年了。回想起这一年,从刚开始啥都不懂做事都有些畏手畏脚,到现在能在听到 pager 响的时候气定神闲地打开 ticket,还能在组里面搞一些事情,想办法提升一下工作流程或者减轻一些 operations 负担 。开心过吐槽过迷茫过失望过,一年下来还是收获了很多。 入职前以为自己以后的工作就是天天写码,从早写到晚。但实际上出于组里项目的安排,到现在我也没写多少代码(想了想还是不要说我写了多少行了)。前几个月还在和我的小伙伴们半开玩笑地说,我作为 SDE 终于从 Ops 的工作中脱身出来,开始做 PM 了。 一 入职的前几个月安排我做 migration 的事情,大体来说就是一些 service 之间相互通信的 protocol 需要更新,需要升级一些相关的 package。这件事听起来很容易,也的确是可以按照步骤一步一步完成的,但问题在于,我们组有很多继承下来的老系统,大多“年久失修”,改动这一部分可能会影响另一部分,这让我遇到了层出不穷的问题。我一开始由于对系统不了解,像一只无头苍蝇一样,全靠内部版的 stackoverflow 来解决问题。虽然也能解决一些问题,但是这个过程非常痛苦,需要一个方法一个方法尝试,而且常常是越试越绝望。 这让我想到了很早以前看到的两个图。(用 Google 图片搜索找到最开始的出处应该是这里) 我觉得这还是理想情况 —— 新手花了成倍的时间,终于还是找到了出口。但真实的情况很可能是,由于现实过于复杂,在找到出口前就已经饿死在迷宫里了。即使找到出口了,也有可能找到的不是真正的出口,而是另一个深渊的入口(会在未来引发更多更大的问题)。 所以,与其期望“瞎猫碰到死耗子”,倒不如静下心来,花时间去了解事情背后运行的机制,在懂得原理之后,就能对目的地的大致位置有谱了。 这让我想起吴军老师经常提到的“鸟飞派”和“空气动力学派”。说人类很早就梦想着自己能像鸟儿一样飞翔。于是人们就开始模仿鸟类,比如将鸟的羽毛做成翅膀的样子然后绑在胳膊上往下跳,结果自然不必多说。后来人们将这样的方法论称为“鸟飞派”。我们都知道,最后怀特兄弟发明飞机靠的是空气动力学,他们根据科学原理设计了飞机,而不是简单地模仿鸟类。 这种解决问题的方法说起来都懂,但做起来并不容易。至少对于我自己来说,我很容易就直接 copy-paste 别人的解决方案,毕竟简单、快捷。但要知道,这种方法的弊端除了前面说的 —— 这个方案可行很可能只是因为你幸运罢了,它可行很可能是问题本身就比较简单;如果问题复杂,变量太多,很难说别人遇到的问题和你遇到的问题一模一样 —— 另一种更严重的危害就是,这样做其实学不到任何东西。Copy-paste也许能让我们解决眼下的问题,但是这不能赋予我们解决未来类似问题的能力(也许能提高一些搜索能力),说白了也就是这种方法论不能产生复利效应。 这是我最大的收获。后来我遇到比较复杂的问题,往往会要求自己静下心来研究。我还会在草稿纸上将子问题一个一个列出来,然后一个一个找答案。就像在黑暗中慢慢地牵着这些小问题的绳索往前走,一步一步来,就能找到答案。 二 很不巧,做完了上面一个 migration 的任务,我们组出现了一些人员安排上的变动,将大组拆成了两个小组。而我被分到的小组所负责的新项目 v1.0 正好 code complete,于是我就要做一些 production readiness 的事情。说白了就是,set up infrastructure、deploy、set up monitors and alarms 等等。每一件事基本上都是手动在内部工具上点鼠标。最要命的是,因为我们要在全球 launch,所以每一个地区都要重复一遍类似的事情。当时每天工作无聊至极,一度怀疑自己工作的意义。 后来我找大老板聊,我说,你看我入职那么久,都没写什么code,现在又在做这些比较机械式的事情,别的小伙伴一个月能写好多代码…… 他的回答让我印象很深。他说,你不能仅仅把关注点放在“我写了多少code”上面,能不能到下一个级别,关键在于你做的事情的复杂度以及影响力。 就比如说这样简单的事情,你能不能想办法自动化,能不能开发一个工具简化流程,能不能更有效率地完成这些事情,能不能把经验分享出去从而为别人创造价值? 吴军老师在得到的专栏里经常讲 “一流的人能够把二流的项目做成一流的”。与此类似的,买土豆的故事你一定听过。后来我就换了一种思维,不再百无聊赖地做着这些看似无聊的事情,而是主动去思考怎么样换一种做事的方式。于是我发现,除了点鼠标,其实很多内部的工具是提供 CLI 或者 API 调用的方式来做的。这些方式往往支持批处理,特别适用于我的情形。有了这个认识,在后来的工作中,一旦我发现我做的工作比较机械化的时候,我就会写一个 script 来自动化完成这些小任务。...

May 23, 2018 · 5 min