居家办公半年复盘:一套顺手的远程开发工具链

从二月在家办公到七月,我和我的小团队已经连续远程开发了快半年。最初几周是狼狈的:家里上行带宽不够、会议软件卡顿、代码环境搬了一半,大家只能一边摸索一边救火。到了夏天,我们终于沉淀出一套相对顺手的远程开发工具链,效率基本追平了在办公室的状态。这篇文章把这套配置完整写下来,给同样在家办公的同行做个参考,希望能帮大家少走一些弯路。

家里的开发桌面:双屏显示器与笔记本并排放置

一、远程开发的核心是把代码留在服务器上

我们踩过的第一个坑,是把代码库直接 clone 到每个人的笔记本上。结果就是:笔记本硬盘不够、本地环境难配、提交的代码在同事机器上跑不起来。后来我们改成了一套相对标准的方案:所有开发都在云端的 Linux 开发机上进行,本地只留编辑器界面。

具体做法是给每位工程师配一台云主机或者公司内网的物理机,代码仓库只在这台机器上 checkout。本地用 VS Code 的 Remote-SSH 插件连接上去,打开的虽然是服务器上的目录,但编辑、补全、调试的体验和本地几乎没有差别。这一步解决了三个问题:环境统一、代码不落地、编译在大机器上跑。唯一要注意的是网络抖动,所以我们要求大家的连接都走 SSH 而不是 Web 终端。

为了让开发机和线上环境尽量一致,我们用 Docker 把运行环境全部容器化。数据库、缓存、消息队列这些依赖,在每台开发机上用一份 docker-compose 文件一键拉起。新同学入职第一天,不需要在自己的笔记本上装一堆乱七八糟的服务,只要能 SSH 到开发机,clone 仓库、跑一条命令,十分钟内本地环境就齐了。这件事在办公室的时候我们就想做,一直没排上优先级,远程办公之后一个月内就落地了——环境一变,痛点藏不住。

二、终端复用和断点续传

远程开发的第二个痛点是网络一断,长时间跑的构建就没了。我们统一要求所有人在服务器上用 tmux 管理会话。任何编译、测试、数据库迁移,都在 tmux 窗口里跑;本地 SSH 断了,重连上去 attach 回去,进程还在原地。这个习惯看起来基础,但在网络不稳定的居家环境里,它救过我们无数次。

另外一个小改进是配置了 SSH 连接保活。在本地的 SSH 配置里加上 ServerAliveInterval,让连接在空闲时也保持心跳,减少家里路由 NAT 超时带来的掉线。对带宽比较小的同事,我们还让他们把 VS Code 的文件自动同步关掉,按需手动拉取,避免后台同步把仅有的上行带宽占满。

数据库联调这件事也值得单独说。过去大家习惯在本机跑一个开发库,远程之后数据库统一放在开发机上,本地不直接连生产。我们用了一套只读副本加脱敏的方案:开发环境看到的是从生产同步下来的脱敏数据,既还原了真实数据量,又不会泄露用户信息。这套流程跑顺之后,大家对线上数据的敬畏心也建立起来了。

屏幕上的代码编辑器与终端分屏

三、代码评审从会议室搬到了线上

在办公室的时候,我们喜欢围在一块屏幕前走代码。远程之后,这个习惯必须改掉,否则效率会断崖式下跌。我们把评审全部改成了基于 Pull Request 的异步流程:功能分支、强制评审、CI 必须通过才能合并。GitHub Actions 上跑 lint、单元测试、打包,整个流水线配好之后,评审几乎不需要面对面。

一开始团队里有人不适应,觉得走流程太慢。但跑了两个月之后大家发现,异步评审反而更细致——因为写下来的意见比随口说的更容易推敲,也方便后来人回溯。谁在什么时候因为什么原因改了哪行代码,全部有迹可循,这对远程团队来说是最重要的知识沉淀。

需要同步讨论的时候,我们才开视频会议。但会议有两条硬规矩:一是必须有文档先行,相关设计结论提前写到共享文档里;二是会议结束必须留纪要,明确谁、在什么时候之前、做什么。飞书文档和腾讯文档我们都在用,团队内部更偏好飞书,因为它的评论和任务可以直接绑在文档段落上,异步沟通的效率比开高会高得多。

四、日常沟通:能异步就别拉会

远程办公最大的效率杀手,是随时弹出来的会议和私聊。我们给自己定了一个原则:信息能异步就异步,能文字就别语音,能群发就别单聊。工作日里,我们保留了每天一次十五分钟的站会,同步阻塞点,其余时间全部交给文档和任务系统。

工具链上,即时通讯用的是企业微信和飞书,任务管理用 Trello 类的看板,设计稿用 Figma。Figma 对远程团队特别友好,评论直接钉在画板上,设计师和开发不需要再截图来回传。这套组合跑顺之后,我们发现会议数量比在办公室时还少了,但信息传递反而更完整了——因为所有结论都落在文档里,随时可以翻。

还有一个小技巧是录屏。遇到复杂的线上问题或者设计细节,与其打字解释半天,不如花两分钟录一段屏,把操作过程和想说的话一起录下来,丢到群里。远程协作的一大损失是肢体语言和即时反应,录屏恰好补上了这一块。我们现在排查 bug、演示功能都先录屏,比开会效率高得多。

五、几个值得记的坑

最后分享几个我们踩过的坑。第一,家用路由和 Wi-Fi 是隐形瓶颈,尽量让开发主机走有线或者信号最好的频段;第二,视频会议尽量用有线耳机,外放回声会让所有人抓狂;第三,家里的工作区要和生活区分开,哪怕只是一张专门的桌子,心理上的切换也很重要;第四,注意保护公司数据,开发机必须开磁盘加密,外发代码要走加密通道。

还有一点容易被忽略:远程办公特别需要仪式感。每天早上按平时上班的时间起、洗漱、换衣服,而不是穿着睡衣直接开电脑;晚上干完活合上电脑,把工作群消息免打扰,否则工作和生活的边界会糊成一团。我们团队里好几位都反馈,建立这些小仪式之后,居家办公的状态明显稳定了。工具解决的是效率问题,习惯解决的是可持续问题,两者缺一不可。

这套工具链不是什么高科技,但它是被半年的居家环境逼出来的最佳实践。等办公场所全面恢复之后,我猜我们也不会完全退回原来的样子——异步沟通和云端开发这两件事,一旦习惯,就回不去了。

远程办公拼到最后,拼的不是工具的花哨,而是把流程沉淀成文档的纪律。工具会过时,文档化的习惯会一直陪着你。

赵久龙 站长

852 文章
0 粉丝
0 评论

0 条评论

还没有评论,快来抢沙发吧!

发表评论

客服