首页 > 代码库 > 远程工作
远程工作
大家认为远程工作是一种妥协,还是一项轻松的选择?
大概在五年以前,我在Biomni的团队(以及我们的众多软件工作室)认为我们在家也能够高效地工作。于是,我们中的大部分人离开伦敦投身乡村生活,用家禽饲养和山地自行车替代酒吧和餐馆作为休闲娱乐。与过去相比,我们现在更加贴近彼此、更有效地协作、引入了更有能力的伙伴,而且工作效率也变得更高。过去几年间,我们的业务保持了繁荣增长,并在竞争中占据了有利地位。下面给大家分享一下,我们如何取得这一成绩的故事。
人的因素
软件开发技能完全取决于人的因素。我们需要招募到合适的人,而一旦将这类人才纳入囊中,我们便需要让他们保持进取心和责任感,使其具有创造力并保证健康的身体。摆脱了办公室生活后,我们是否就能够实现这些目的?远程工作能不能让这一目标变得更易于实现?
招募
我们必须为应聘者提供什么?当我们这支团队在伦敦办公室工作的时候,很难吸引那些伟大的开发者加入我们。他们往往去追求银行业的高额奖金,或是投身 时髦的初创公司。要与这些“对手”竞争人才,既费时又昂贵。而现在团队转为远程办公后,我们就能够面向英国任何地区,招募合适的人才。我们最新引入的一位 员工来自Blackpool——这座城市对程序员来说机会有限,但却是他想要生活的地方。他很年轻、聪明、能够接受新想法且锐意进取。
另外,在人才方面,有一种观点早已得到广泛认同:最高效和最低效的程序员之间有着巨大的差别。我们如何吸引那些我们愿意与之分享愿景的天才程序员?或许可以尝试开出比其他雇主更多的薪水,或是提供额外津贴,但Dan Pink告诉我们,脑力工作者并非受金钱驱动,更高的奖励可能反而会带来更低的绩效。我们应该聚焦于自主性、控制力和目的。当人们在家工作时,很容易感觉到自主性的提高。控制力和目的,在我看来则不受影响。
如果把公司设在大城市,那么招募人才就像是在拥挤的湖泊中里争夺;如果选择偏远地区,或许招募就仿佛是在小池塘中垂钓。但是,假如我们跳出这种模式,选择 基于远程办公方式进行招聘,那么我们就可以从海洋中挑选人才:他们可以来自任何地方,只要时区相容即可。我认为我们不能低估这种做法的价值。尽管许多最雄 心勃勃的人,会为了获得最佳工作而愿意搬迁;但是还有大量的人们有着充分的理由不那么做。那些希望能为自家子女寻找良好学校的人,往往倾向于离开大城市; 而且与大城市中典型的喧嚣相比,还有许多开发者希望体会截然不同的另一种生活。对许多人来说,远程工作极其有价值,不论是从经济上还是从生活质量上都是如 此。
旅行
让员工车马劳顿地赶赴公司的办公室,或许并不能为他们这一天的工作带来任何有价值的贡献。长途跋涉总是令人感到紧张和疲倦,也许还充斥着危险、枯燥 和不可预见性。想想看,人们因为火车延误而无法及时赶到公司;又或是备受压力、浑身湿冷地抵达办公室,而后在这一天里内心充满对回家路途的忧虑,这样的情 景是否很常见?
在过去,我曾经每天花费两个半小时,用来搭乘公共交通,一个月下来产生的费用达到了大约300英镑。这样的生活方式令人疲倦而且成本高昂,另外在时间方面 也会带来令人沮丧的浪费。遥远的上班路途迫使我远离我的孩子们,不得不把他们全天丢给儿童托管机构。在家办公则完全能够打消这些问题。我先把孩子们送到学 校,然后坐下来冲一大杯咖啡,开始努力工作。
健康
除了通勤问题之外,还有什么因素会消磨我们的员工?办公室可能为员工带来压力:自负、阶层和政治会让开发者们感到恐慌。在成长中,我父亲曾经饱受与 工作相关的焦虑的折磨,我也见识了这些焦虑会带来哪些损害。一直以来,我下决心找到一条更好的出路。当我远程工作的时候,我可以与人们更加自由地建立连 接,同时能够避免许多在办公室中我所看到的失调(dysfunction)。
典型的开发者人格与Aspergers(亚斯伯格症候群)患者颇为类似,对此Jeff Atwood在2006年曾写道:
用屏幕和电子邮件地址来替换传统办公室中的喧嚣,在程序员与混沌的日常工作之间插入了可控的接口。对于感觉难以理解社交信号的人来说,扁平化的工作层级更加舒适。置身于所见即所得(WYSIWYG)的世界中,严格依赖于功绩赢得敬意和回报,是亚斯伯格症候群患者的梦想。
寂寞
对远程工作者来说,寂寞是否会成为问题?一些人藉此成长,另一些人则心怀恐惧。对我个人来说,在办公室会感到更加寂寞——如果周围围绕着的都是一些 不认识的人,办公室将成为一个令人感到孤单的场所。而在家工作的时候,我会更加自信、自由自在也更加独立。有些人告诉我,在家里工作的时候,他们会为了自 我驱动而苦恼。但是我怀疑,如果一个人需要别人盯着才能够获得驱动,那么实际上他所从事的工作并不适合他。
我有大约80%的时间在进行结对编程,这种程度的强协作工作,使我没有寂寞的空暇。但是还有许多不愿意结对,而是喜欢置身众人之中的开发者,对他们来说又会如何?他们可以选择本地咖啡店或是协同工作的空间。此外还有一些类似于Sqwiggle的工具,能够让我们看到团队伙伴们的面孔,并快速建立视频连接。
社交生活
另外,那些在饮水机旁邂逅新人的闲谈、或是在午餐后与同事们简短地来上一杯的时光呢?这些人与人之间的联系非常重要,它们有助于让我们感到自己身为组织机构的一员。这样看来,远程工作是否会产生一点点被隔离的感觉?
实际上,在远程工作的团队中,我依旧能够享受到这些乐趣。我们的文本和语音聊天中都有大量的玩笑,而且会话内容比我们过去置身办公室的时候具有更多 正能量:我们都身处家中而且生活幸福,因此也就少了许多值得抱怨的内容。不过,是否还有其他一些事情,能够让我们在远程工作时保持重要社交纽带?下面是我 的一些建议:
- 鼓励大家提前几分钟出席虚拟每日立会,并利用这段时间做一些社交性沟通。
- 邀请人们出席社交会议,比如选择周五下午,在放松的氛围里讨论过去一周的情况,并展望即将到来的一周。这样的时光非常适合分享所学到的经验。
- 试着每隔数周就在现实生活中聚集到一起,并将这类聚会完全用于社交活动。每个月在组织机构的开阔空间中度过一天,对于社交联系来说要比饮水机旁的聊天更加有效。
在远程工作模式下,我们需要精心组织这些活动,但这并不意味着活动本身必须严肃、正式。我们可以设计一些略微无序的活动,从而为建立随机性的社交联系制造更多的机会。
组织机构
只有当人们都以某种方式被“组织”起来之后,“组织机构”这一概念才得以具现。我们可以试着组织其他人,或是让他们自行组织。我更倾向于后者方式,例如找一天在项目经理面前进行一场每日立会。远程工作对我们自我组织的方式会产生哪些影响?
可见性
在一开始,看不到其他人都在做什么,可能会让人略微感到一些无所适从,但我最终认识到这其实真的无所谓。最重要的事情是我们提交的代码。当我想要协 作的时候,它将有助于我了解别人是否有空。借助于我们使用的工具,我可以看到谁正在交谈中,又有谁正处于空闲状态。我经常在团队聊天中抛出一个问题,而这 个问题往往会吸引我们中的两个或更多人一起研究。在办公室的时候,我经常发现我自己没法向其他人请求帮助,因为他们看起来都很忙。而当我在家时却可以求助 ——反正如果他们很忙就会忽略我。
如果要使团队得到良好组织,我们需要看到团队成员们正在做什么,有哪些问题正在浮现,人们正在学习什么东西。在过去,这是项目经理在状态更新方面的职责,而现如今大部分团队通过任务板和每日立会来自己搞定。在经过了长达五年、每天举行在线举行立会并使用诸如Skype、GotoMeeting、Webex或Lync等软件进行电话会议的经历后,我可以有信心地向你保证,这种做法是有效的。我们在会前先聊一会,然后一起研究任务板,分享我们所学到的东西,以及正在面临哪些阻碍。这是一套每天例行的仪式,它将我们联系在一起,并使我们能够从大局上理解当前的境地。
这么干是否能够与真正的立会相媲美?只要我们着手推动,立会就能够收到足够好的效果——至于置身何处,所产生的差别并不大。尽管很遗憾在虚拟立会中,人们永远不能真的走到板子前挪动卡片,但是我们依旧可以使用诸如Trello、Kanbanery 和 LeanKit等工具来满足拖拽卡片的需求。可能有人想要知道,我是否真的站着参加虚拟立会?有些时候是。
团队必须建立信任,而我们如何信任那些看不到的人?在办公室里,你如果看到某人在打字,那么可能会认为他正在工作。而当我们认为他们正在偷懒时,实 际上他们或许受到惊扰而停止并进行思考。当我置身办公室的时候,我很少花时间反思自己的工作方式,而是一直忙于使自己看上去比其他人更忙。当我处于远程办 公环境时,我的评定完全取决于我的工作,而不是工作过程中我看上去的样子。在开展远程工作数年之后,我们的持续改进文化得到了加强。我揣测远程工作可能正 是原因之一。
会面
对于陷身会议室,我的确抱有恐惧感,而线上会议也可能会成为更痛苦的事情。不过经历了数年时光之后,我们已经取得了一些进步。最容易毁掉在线会议的 情况,是某个与会者遇到了声音问题,这会使在线会议变成一种时间的浪费,令每位与会者都非常痛苦。我们完全可以通过确保各自都拥有良好的网络接入、耳机及 硬件而轻松地避免此类问题。通过良好的配置,我们能够清晰地听到每个人的声音,并且毫无延迟地共享屏幕。
在线上会议里,与会者很容易关闭自己的发言,或是去做其他事情,而只对会议内容大致听一下。与办公室会议相仿,远程会议也有可能变得无趣,同时许多 程序员将开始在后台编写代码。这样当他们遇到提问的时候,将会出现一些尴尬的瞬间。这是否很糟糕?它提醒我们保持专注、保持会简短,就像在办公室一样。我 已经摆脱了在办公室开一整天会的工作方式,转而采用更及时、更简短的在线会议;同时这也让我们将当面会晤更多地用来进行社交联系而不是解决问题。
我们已经学会了一些技术,用来努力吸引每个人并确保他们获得公平的话语权。当我发现某个人主宰了会议的时候,我一般会发起一轮快速的意见轮询。对于 线上会议来说,这种做法尤为重要,因为正在发言的人看不到其他人脸上不爽的表情。如果某些人半天没说话,那么最好问问他们正在想什么。让每个人都保持参 与,是进行富有成效的会议的关键。线上会议是否能像面对面一样有效?是否有一些细微之处被忽略了?或许会有,但是我认为,用不了多久,这些问题就会由于更 有效地表达而得到弥补。
创建和维护
构建软件是个发现和实验的过程,我们大部分的时间都花在了学习上。要想高效地完成这一工作,我们需要思考的时间和协作的能力。当我们采用远程工作方式的时候,增加的额外复杂度在于,必须能够远程访问所有需要的服务器和源码控制,从而构建、部署和测试我们的解决方案。
学习
我们创造出的软件的质量,取决于我们学习的速度,而不是编写代码有多快。我们需要持续不断地了解需求,以及我们可以如何来最好地实现这些需求。在办 公室里,我们往往会无意中听到包含着关于其他人如何学习的重要信息的对话,然而当我们在远程工作的时候我们将永远不会察觉这样的对话。对此,我们需要做出 心态上的调整,以便当我们正在学习且乐于与其他人分享的时候能够留意。在每日立会中,我会试着询问一些问题,来鼓励这种做法——这些问题往往引领我们在立 会后进行一些知识分享。
思考的空间
远程工作能够为我们带来思考的空间——在忙碌的办公室环境中,这样的空间是如此地难以寻觅。许多办公室工作者为了试图不受干扰和打断地完成工作而早 到或晚走。那么对远程工作来说是否会有任何不同?依旧会有寻求代码审查的人给我发消息,或是技术支持给我发来的问题。我可以将自己的状态设为“请勿打 扰”,但是这会阻止别人向我寻求帮助,从而影响信任和协作。因此我很少这么干。
远程工作与办公室工作类似,都有许多不同的沟通渠道,它们或多或少都具有一些侵略性。对团队来说,对于不同渠道分别适用于哪些不同情况达成共识很有 必要。我们的团队刚刚开始聊天的时候,出现了这样一种模式。当人们聚精会神的编码时很容易忽略聊天。我们邀请人们参与协作,而那些接受邀请的正是有意愿参 加的人。接下来我们会切换到语音沟通,让那些希望沉浸在思考空间的人不受打扰。
协作
如上所说,在远程办公模式下我们能够有效地分享信息,并找到自己的思考空间,但我们是否能够真正共事?当我们置身办公室的时候,我们或许能够挤在桌子周围、敲打白板,或是挤入一间会议室。那么在远程办公时,能否做到同样的事情?在很多方面远程工作都能做得更好。
我将每天的大部分时间都花在远程结对编程上——通过屏幕共享或其他工具,例如tmux。这比肩并肩坐在一起的方式要强多了。我听说许多人即时身处同一间办公室也会这么干。人们联结在一起,但依旧保有自己的办公桌和配置。
当整个团队想要聚集起来,共同研究某个问题或是讨论下一步工作时又会怎样?我们选用一套在线工具进行会谈并分享屏幕,而且此时我们依旧坐在自己舒适的办公环境里——这会让我们感觉良好,而且比找到一间办公室或空闲的白板要容易得多。
结语
对于在办公室工作,我们已经有了悠久的历史;相比之下,远程办公的历史则非常短。现在有许多工具,同时也还有许多新兴工具正在随着WebRTC 的步入现实而不断浮现。但我们需要花一些时间来适应工作方式的改变,并学习如何使用这些工具,从而像在办公室一样高效。
远程工作是否能够改变我们的组织机构?在摆脱了我们在办公室中建立起的那些分隔并elevate我们的物理结构后,毫无疑问,简仓和阶层对我造成的负面影响减弱了。它将使我们感受到更大程度的自主和自由,从而能够建立起组织机构内部的更广泛地协作和联结。
那么如果我们能够高效地远程工作,这是否能够为我们的组织机构带来竞争优势?我相信这样的结果毫无疑问将会到来。在我们远程工作的五年时间里,没有 一个开发者离开。我们建立起了一支更有责任感也更富有创新精神的团队,同时我们也开始从全英国挑选天才,而无须支付高昂的薪水。有许多初创公司,例如 37Signals和Wordpress.com都在采用这种模式,我认为对企业来说现在是时候开始认真地对待协作式远程工作方式了。
关于作者
Howlett相信,持久的变革需要时间。在 过去12年里,他帮助Biomni的团队从混乱状态走向强大的持续改进文化。而在此期间,该公司从办公室现场工作转向在家办公;他也撰写了超过100篇博 客文章,描述期间所面对的困难,以及如何克服它们,并出版了一本名为“A Programmer‘s Guide To People”的书。他特别关注打破限制协作的阻碍,并确保人们能够高效地决定如何完成自己的工作。随着举行演讲并运作其本地讨论组 “Cheltenham Geeks”,他逐渐成为了敏捷社区中的知名人物。
查看英文原文:Remote Working Works
远程工作