Born Remote

Cross-posting a blog post I wrote for Flux Engineering Blog.

Flux started as a remote company, with Max and Nick in California and me in New York. We had known each other for a long time and decided to build Flux as a distributed company from day one. Now Flux has three offices: San Francisco, New York, and Portland.

We are often asked how we handle the remote situation because it’s not very common to see an early-stage startup so distributed. My one-sentence answer is to see it as an advantage.

There are some benefits we can easily see in distribution:

  • Bigger talent pool. So you can hire people from multiple locations without needing them to move.
  • Lower cost, to company and to individuals. Bay Area and NYC are notoriously expensive. Portland is much more affordable. One of our team members actually moved from SF to Portland. We are all glad Flux can provide such an opportunity for him.

But what about the shortcomings? Communication gaps? Hard to bond? Below I’ll talk about what we do to make a distributed teamwork. Some shortcomings can actually be turned to advantages if handled well. That’s why I say we should see distribution as an advantage.

Asynchronous By Default

As a tech company, a majority of our production activities are software development, which is usually done better when people can focus without too much “tapping on the shoulder”. A distributed team structure makes “asynchronous communication” our default mode.

One signature of asynchronous communication is to do daily standup on Slack. We use a bot from Standuply and named it “Standup Steve”. Everyone answers questions from the bot, and compiled answers are posted on a channel. In this way, we get the basic caught-up without the hassle of dialing in a crowded call for 15 minutes.

For a given development task, an initial discussion usually happens in a weekly meeting, which is the only default synchronous communication step that circulates info to get everyone up to speed. Most following work happens asynchronously: writing design documents, coding, reviewing, testing, shipping.

We still do quick calls spontaneously from time to time, but the default way is to communicate in non-interrupting ways such as comments on tickets, wiki, and pull requests.

The default asynchronous communication pattern also enables more flexible work hours. We tend to do more communication and real-time collaboration during the overlapping hours between east and west coasts, and treat non-overlapping hours (morning ET and late afternoon PT) as unofficial “quiet hours”. If someone wants to travel somewhere (like Hawaii) and work remotely, or someone sometimes has an odd cycle (like a real night owl), it can work well as long as they follow the rhythm and people know when to expect them online and open for calls.

A side bonus of asynchronous communication is more knowledge gets written down. It’s natural to write a self-explanatory document to initiate a discussion, which naturally becomes the document and keeps records of some considerations. For deeper tech design discussions, it’s often more efficient that way, because people need time to digest and think things through.

Connect as Human

Human is social. People build initial trust more easily by seeing each other and feel they spend time together. This is true for remote/distributed teams and is probably the biggest “obstacle” people have in mind for remote working. There are a few things we do in Flux to make sure we connect in a more human way, besides codes and documents.

For example, we always turn videos on when having meetings. Face time, even through video, is precious. And it helps convey emotion better and reduce misunderstanding. That’s why we often see intense arguments, sometimes irrational, happen in emails or comment threads, but video or in-person discussions rarely escalate as quickly. We also grow more aware of this “phenomenon” and would switch to video calls whenever some discussion on Slack gets complicated.

You can actually have fun on video calls. Last month we did our first “board game afternoon” on Zoom! We played Avalon with the help of a brilliant website Avalon.fun. It was an absolute blast! Games flew smoothly, so many funny moments and laughters!

We also do whole-company offsite! This week is the second time we gather from three cities to one place to spend a few days together. It’s useful to build initial connections and trust. And some “downtime” to connect outside work is invaluable in the long run. Flux is still small enough we can get everyone together and literally stay under one roof (a moderate house rental from Airbnb).

Last but not least, we have a few channels on Slack as our “water cooler” place, where we post funny stuff from internet or have casual chats. At this “family” stage, everyone knows everyone outside work. Personal details bond people together.

Toronto and Niagara Falls

这些年在美国境内玩了不少地方,但一直没去东部著名的尼亚加拉大瀑布。原因是听说加拿大那边的视角比较好,于是就一直等到拿了绿卡去加拿大比较容易了再去。今年终于找到了个合适的时间去了一趟。

周末一共去了四天。前两天在多伦多,基本上就是吃吃喝喝。逛了一天兼具自然历史和艺术的ROM博物馆(Royal Ontario Museum)。第二天则是去了当年抵抗美军打了一小仗的Fort York和十分touristy的Distillery步行街。个人感觉这几个地方比起来Distillery还不错,很惊奇的发现了一家清酒坊,还有live表演的水平很棒。

但总的来说多伦多的主要亮点还是中餐。。到达之后第一顿就开到中国城随便找了家馆子吃午饭,店里都没什么人,水平却很是可以,很现代,跟国内的馆子基本是接轨的,不像纽约的三个中国城分别给人时光倒流10/30/50年的感觉。于是这两天基本就在一直吃中餐。。还开车大老远跑去东边郊区去吃了家早茶,也很不错还有一些在纽约没吃过的早茶菜式。这两天只有一顿晚饭吃了个本地主打海鲜的法餐,海鲜做的不过不失,倒是额外点的一碟西班牙火腿十分惊艳。两天吃下来我们对多伦多的食物印象很不错。

后两天便是驱车前往尼亚加拉瀑布。这个瀑布坐落在美加边境,一路过去路边无数酒庄的招牌。瀑布旁边是一个酒店林立的小城,还有赌场,某些路口有几分Vegas的味道。我们住的是Marriott Fallsview,窗外俯瞰整个瀑布的view确实对得起这个名字(还有价钱)。在瀑布旁边的路上遛了一趟,然后坐了个几乎人人都要坐的轮渡到近处感受了一下马蹄瀑布的气势。两个小时之后就发觉这地方也没什么其他太多好玩的。据说在航空业不发达之前,尼亚加拉瀑布曾经是美东最大的蜜月胜地。然而飞机旅行兴起之后这儿就没有那么热门了。想想也的确如是,看到这等自然奇观,赞叹和被打动的心总是有的。巨大的瀑布又不花什么功夫就能得到最佳体验(站在边上看),是很适合蜜月这种场合。

晚上瀑布被射灯照成各种颜色,甚是妖异。还有十来分钟的烟花。第二天我们闲得无聊去了一下路上看到的一个寺庙,还有对门的一个沿着河看white water的景点,之后就打道回府了。

这趟加拿大之行还是比较满意的。首先终于去了一下这个从美国最容易去的国家,其次看了尼亚加拉大瀑布算是打了个卡。以后私人旅游应该不会特意再去这片儿了,去办别的事顺便玩玩还可以考虑。

火焰纹章:风花雪月

前一阵子通关了Switch上的火纹新作,英文名是很朴实的Three Houses,中文名却是很神奇的“风花雪月”。玩起来之后发现中文名还挺恰当。

这一作一上来就跟哈利波特似的,主角被扔在一个学校里,有三个学院每个学院的领袖都是一个家族的继承人,然后就可以选择这三条故事线中的一条来打。我选了黑鹫线。每个学院有八个角色,于是一上来就有二十四个角色可以对话互动,让人眼花缭乱。好在战斗的时候只有自己选定的学院的八个人,外加挖角挖来的人。早期能挖来一两个最多,之后如果认真送礼物培养好感度的话能挖来很多。但我也没仔细研究好感度这部分,于是基本就用早期阵容一直打完了。

本作不是战棋游戏常见的那种一关一关的结构,而是有个月历,然后每个月结束的时候打一个主线剧情的关卡,其他时候每周自己可以选择做一些不同的事情。基本上每个月一定会做至少一次的事情是散步,也就是在学院里跑来跑去跟所有人对话。对话量相当之大,而且还是全程语音。本作战斗其实又比较简单(我选了困难难度但还是挺简单的),于是感觉对话的时间比战斗的时间还多,很容易错觉在玩galgame。好处是人物塑造确实不错,角色虽多,但每个人都有很多细节,形象很立体。坏处是感觉不够hardcore,估计DLC新加的疯狂难度会补足一下这一点。

三条故事线使得这游戏的可重玩性很强。剧情里还有数次选择感觉会影响主线剧情的分支。我只所以没怎么努力挖角也是觉得如果重玩的话还会用到那些别的学院的角色。但是最近好游戏很多(Astral Chain和Monster Hunter World),所以通关之后也就搁置了。回头游戏荒或者想玩战棋的时候拿出来二周目好了。

North Cascades National Park

月初去Portland出差之后去西雅图周边hike,顺便去了据说人很少的North Cascades国家公园。

去了之后我大概明白为什么这个公园离西雅图这么近但访客很少了。主要的一条横穿公园的公路上几乎没什么“景点”。仅有的一个viewpoint就是看Diablo Lake。这个湖很绿很好看,里面有人划自带的皮划艇。不过就这么一个点儿实在不值得开车几小时来看。所以这个公园游客才这么少,连门票钱都不收,纯免费。

Diablo Lake

但这毕竟是个在一堆大山中间的国家公园。风景还是有的只是不太容易看到。我选了一条Hidden Lake Overlook trail,八英里,上下3200英尺,爬上山脊去看群山环绕之中的一个隐湖。不得不说美国人民在给湖命名方面想象力相当匮乏,这些年去过数不清的Hidden Lake, Long Lake, Mirror Lake。。。

到这个trail起点的路上我就先被路况被吓到了,好好的高速路上开着,导航突然就让我往旁边的一个全是大坑的土路上走。停车研究了半天才确认这确实是去trail起点的路,然而这路上全是水道井盖儿大小,半尺多深,鳞次栉比的大坑实在看着瘆人。我在那儿犹豫了半天看见好几辆SUV跌跌撞撞的冲了上去,只恨自己只租了辆Camry。这时候突然冒出一辆蓝色小车,看起来甚至像电动的,居然也停都不停的冲了上去,看得我都愣了。于是我也心一横开始往上开,硬是把车开出了坐船的感觉……折腾了半天居然也到了。

我开走之前错误的预估了这个trail的难度,因为hiking project上只给打了蓝黑色的标记我就以为是moderate而已打算走一下热身的,走起来才发现这正经是个strenuous的。。无数的上坡,越往上路还越难走,爬石头踩雪的路段都有。以后得仔细看看数据了。

Hidden Lake

虽然走完已经废了,但这个trail的景色还是很值。前面一段是在树林里,可看的不多,好处是不晒。。走三分之一之后进入高山草甸景色的地带,这儿就很好看了。满山草地里点满了野花,到处是融雪汇成的小溪沿着山势奔流而下。随着不断攀高,周边的几座雪山一一从近处的山脊背后浮现出来。最后的三分之一路程则是在乱石和积雪中间穿行,路边还偶尔会看到上来扎营的人的帐篷,在刀削一般的岩壁下面显得十分渺小。翻过山脊看到深蓝色的Hidden Lake那一刻,有种feel alive的感觉。看到湖之后再往上爬一段乱石还可以到一个巡山的人住的小屋,先到的backpacker可以在这儿过夜。下山的时候发现远处的雪山因为光照角度的原因傍晚看不太清,这个trail还是比较适合早点爬。下到山脚树林里的时候天都暗下来了,树林里面更暗。这时候还遇上了几拨在往上走的人,每次在trail上遇到这种情况我都很好奇他们是打算干啥。。感觉天黑都上不到适合露营的地方。其中还有一家子是拎着水桶抱着被子的架势,令人咂舌……

去完这个trail之后,我歇了一天又去爬了Mt. Pilchuck。这个据说是西雅图附近很热门的一个trail,确实人也不少。令我大跌眼镜的是到这个trailhead的路也很破,也一堆坑,还很长!难道以后来PNW这边hiking都应该租越野车?

Wingspan和Gaia Project

前一阵子买到了今年的大热游戏Wingspan,鸟类学家女设计师根据真实鸟类设计的卡牌游戏。刚入手觉得很好玩,一连玩了挺多盘甚至和xw开了几场二人局。这游戏设计得比较轻巧,三栏摆放卡牌的玩法对我们来说是个新机制。节奏也快,每局只要半小时多。美工极赞,卡片,骰子,软陶的鸟蛋一看上去就很讨喜。但玩着玩着有种颜值有余,深度不足的感觉。平衡性似乎欠佳,虽然是个中型策略游戏的架子,但运气成分比较大。属于上手觉得很好玩,玩了很多盘之后觉得自己水平好像没什么长进的游戏。

Gaia Project则正好相反。我几个月前凑单的时候买了这个Terra Mystica的星际主题版。上手第一次玩的时候所有人都玩得很迷糊,还有人抱怨人设太丑拒玩。然而最近拿出来又玩了几次之后突然开始喜欢上这游戏了。系统深度足够,不同的种族特点鲜明,打法迥异,但平衡性调整得很好不会觉得哪个族或者哪个打法过强。游戏里面有各种机制来balance短期和长期收益。一上来相当overwhelming,打个两三局之后会觉得挺过瘾。缺点可能是偶然性偏低,开局setup完之后所有信息就都公开了,于是一旦落后太多的话翻盘机会很小,比较容易有人掀桌。但总的来说是个玩懂一点之后觉得很好玩且够重的游戏。