Contents

很久以前,我就期望能尝试下远程工作。一种崇尚已久的,更高效,更自由的方式。没想到,这个愿望,在 2020 年开初就因一个从没想到的悲剧而“实现”了。

这个全民悲剧就不多说了。能看懂 “能。明白” 这几个字的,就能体会我的心情。

最近很多技术公众号都发表了关于远程工作的文章,包含了工具的推荐,和要注意的事项,包括文档协作、视频会议、任务管理、工作协同等。

其实,我觉得现在欠缺的不是工具。不然,为什么网上还有不少人爆出公司执行远程工作同时,推出了一些幺蛾子政策:全程打开视频摄像头、10分钟内必须回复、每天发日报、估算效率等。

这些政策的出现,除了所谓的信任问题外,总的来说还是老板担心远程工作会影响效率。

效率的提高,需要从软硬两方面下手。

硬件方面,上了云,就减少了 VPN,Remote Desktop 的使用,降低网络卡壳的影响。公众号里介绍的协同工具,其实也算是在硬件方面提供助力为主。

但是,不是说上了云,什么都在线,效率就上来了。正如武林高手草木皆可为剑,摘叶即可伤人。工具虽然重要,但主要还是看怎么使用这些工具

决定效率最关键的,还是软的方面,也就是沟通。

我说的沟通不是单纯地指用了什么通讯工具(邮件还是即时聊天),而是如何协作,如何使用那些协同工具。这些工具的目的就是提升沟通的效率。软件工程领域,沟通和协作是很多方面的。既有人和人的沟通,更多的是人和机器,系统的沟通

如果有 Code Review,需要喊一嗓子,还是能自动发代码审查请求到模块负责人或者指定人员?

有多少比例的自动化测试,还是全人工测试?

通过看板来了解各方进度和项目障碍,还是靠写工作报告,发邮件?

持续集成环境是否会出问题?开发是否需要跨团队找人解决?

服务器和网络设置能像 AWS 的 CloudFormation 那样一键部署,还是需要人手几天的配置?

开发人员需要新服务器或数据库资源,网络接入,环境对接,需要层层审批获取权限,还是能自动化?即便同样使用的都是 AWS。如果使用传统的 RBAC,每为一个新资源赋权都要去改 Role。而使用 ABAC,则能更方便灵活地做权限管理。

工具用不好就算了。最可笑的是,可能云平台或工具本身已具备灵活的资源申请,权限控制和管理的能力,却被企业以安全的名义(Least Privilege 原则),实则不信任,强加上一些人手的,半自动化的审批流程,或者限制了一些功能。如果用的是被阉割的云平台,则让人啼笑皆非。

我认为,即便一家软件公司不是完全远程工作的模式,还需要面对面交流,也应该时不时尝试远程工作,来衡量组织内部的协作模式是否高效。

远程工作应该是一个目标。它是衡量一家软件公司运作是否高效的一个指标

Contents