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 It was an absolute blast! Games flew smoothly, so many fun moments!

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表演的水平很棒。


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

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



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



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






  • 挖人容易但不能彻底板凳本学院的人!五年后第一仗居然强制本学院的人出战。。一周目我打的是黑鹫线不知道这回事。于是这绝对是我打得最艰苦的一关,重启了四次才过去。
  • 高难度下命中很重要。。很多时候打不中就是死。所以加命中的战技都很有用。
  • 魔法的命中率很高。所以我队伍里后期有四五个魔法型角色。莉丝缇亚和雅妮特是两个主力。
  • 射程加2法杖极好用。金鹿学院二把手洛廉兹看起来实在有点招人烦,是我队里唯一一个板凳的十杰后人。但是他还是得带着升升级,外传拿的魔法射程加2的法杖给莉丝缇亚,配合舞娘再动就是一个移动炮台。
  • 理学和信仰升到S级分别有射程+1的特技。
  • 英谷莉特杀魔法师基本上是一下一个,反击要么回避掉,要么打中也不太痛。后期学会警戒姿态+之后可以把回避堆到很高,靠迎击态势(五回合不限距离反击)来反击掉远处的炮台或者魔法师。
  • 一周目的时候觉得白魔带神速态势很好用。二周目开始觉得重甲带铁壁态势也很好用,很多时候可以用来救人或者卡位。赋予祝福在某几个强力boss的时候可以用用。迎击态势只有在特定几关反击超远程的时候好用。
  • 骑士团的攻击力并不是太重要,更重要的是命中率和属性加成。被打中的敌人下回合不能移动是最主要的作用。
  • 骑乘型兵种善用下马。有时候可以避免被弱点克制。还有楼梯沙漠这些地方下马走路可能还快些。
  • 由于主角指导等级上来就解锁到A+了,于是散步请吃饭加好感度和干劲都很快。基本上就是在散步和出击之间循环。休息和指导这两个选项都没怎么用过。
  • 英雄遗产武器到大后期是可以用黑暗金属修理的。。我之前看了个攻略说不能修于是一直没敢用,直到挺晚才发现。


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的难度,因为hiking project上只给打了蓝黑色的标记我就以为是moderate而已打算走一下热身的,走起来才发现这正经是个strenuous的。。无数的上坡,越往上路还越难走,爬石头踩雪的路段都有。以后得仔细看看数据了。

Hidden Lake

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

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

Wingspan和Gaia Project


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