RemoteOK - 远程工作也 OK

2020 年春节,一场突如其来的病毒性肺炎席卷了中原大地 —— 2019nCoVID 席卷了中原大地。

由于初期的一些管理问题,导致2019nCoV成功借助春运的伟力,席卷了中原大地,所到之处,处处战火。

在这等背景之下, 远程工作自然而然被提上了日程,习惯了在办公室工作的人们,需要开始习惯以远程、Remote 的方式来工作、协作。借此机会,我希望将自己所掌握的远程工作的经验、知识分享给大家,帮助更多的人进入远程工作的状态。

  • 如果你觉得这本书不错,欢迎你分享给你身边的朋友,让他们一起学习。
  • 如果你在读这本书的过程中发现了任何问题,也欢迎你在下方的评论框内提出修正意见。

我是谁?

Hi,你好,我是白宦成(@Bestony)。目前是 Linux 中国 (Linux.cn) 技术负责人,Django 中文文档管理员 ... 等等,头衔太多,不一一列举。

如今的我,在深圳办公,每天上班下班打卡,但在 2018 年,我曾有很长一段时间的远程工作的状态,因此,我希望将曾经的一些经验分享给你,并将自己的看法和观点介绍给你,帮助你更好的远程工作。

这本书如何组织的?

这本书总体来说,遵循 “What -> Why -> How” 的思路进行撰写,分为了理论、经验、工具、访谈、资料五个大的篇目。

理论篇会向你介绍什么是远程工作,以及为什么你应该远程工作,以及一些其他常见的问题。

经验篇则会整合我自己以及一些来自互联网上的远程工作者的经验,帮助你更好的进入到远程工作的状态。

工具篇则精选了一些我自己用过,或者其他的一些朋友使用过的辅助远程工作的产品,让你在开始远程工作的时候,可以有的选、有的用。

访谈篇则是我从互联网上找到的一些远程工作团队的文章,这些文章详细的介绍了其各自的工作流、工作经验,对于初入远程工作的你会非常有价值。

资料篇则是我针对远程工作场景提供的一些推荐的资料、网站、视频等,这些内容会帮助你在远程工作的路上一路前行。

联系我

你可以扫描下方二维码,关注我的微信公众号

理论篇

在理论篇中,我们将就关于远程工作的几个常见问题进行讨论,探讨远程工作的 WhatWhy

具体来说,我们将讨论以下几个问题:

远程工作是什么

远程工作是指通过互联网在家或者其他场合办公,是一种借助互联网技术的沟通模式,并进行资源传输的行为,让工作可以在办公室以外的地方完成的一种便利的工作模式。

远程工作可以实现“任何地点都能工作”(Advancing work from anywhere!)

什么样的工种适合远程工作

虽然目前互联网的出现,让我们的信息传递成本急剧下降,但并不意味着所有的工种都适合远程工作。

适合远程工作的工种的特性

以下特性,是我们认为适合远程工作的工种特性

  1. 能够独立完成工作:在互联网行业中的绝大多数工作都可以一个人完成,坐班工作更多是出于管理层面的考虑。但如果管理层面决定启动远程工作的计划,那么能够独立完成工作的工种是最适合进行独立工作的工种。这里的独立工作是指“一个人可以独立完成一个工作”,而不仅仅是完成一个工作中的一部分,比如“流水线中的某一个环节”。
  2. 对于实体资源没有依赖:不少工种存在上下游依赖和实体资源的依赖,比如说,工厂流水线的工作往往需要机床、设备、物料等资源的支持,因此,对于这些工种来说,远程工作成为一个很难实现的目标。

一些已经验证适合远程工作的工种

  1. 程序员:程序员的工作在定义好产品的需求的情况下,往往可以单个人完成部分工作。不仅如此,程序员的工作生态下有 Git 、SVN 等工具,辅助开发,因而可以简单的实现远程和分布式工作。

  2. 教师:目前,互联网上存在不少的在线教育平台,借助这些在线教育平台,教师可以以远程的方式完成自己的教育、授课。

  3. 自媒体:除非一些本地自媒体(本地自媒体也可以某种意义上实现远程工作),大部分的自媒体都可以实现远程工作。

  4. ...

还有很多工种,恕我一时想不起来,就先写这么多,也欢迎大家不在上述列表中的,可以将自己的职业留言在下方。

远程工作对于雇主的价值

一般意义上,我国的管理者倾向于使用坐班上班的员工,而非使用远程工作的员工,但其实远程工作对于雇主而言,好处更大。

1. 提高生产力

远程工作可以最大限度的减少降低生产力的会议、办公室闲聊、办公室政治,让所有人的关注点都放在工作上,而不是一些杂事上,可以有效提升工作的效率。

2. 保持低开销成本

远程工作模式下,企业无需常设办公室。在需要的时候,在一些办公空间临时租用一间办公室就可以解决问题。用完再退租,做到资源的不浪费。同时,也因为没有固定的办公室,降低了固定的开销。

3. 减少员工流动率

远程工作可以让员工可以以自己喜欢、 自己舒服的方式来工作,在这种状态下,员工很难会想起离职这个选项,从而降低员工的流动率。

4. 留住更多的老员工

随着时间的推移,一些年轻的员工变成了老员工,他们可能因为子女教育、房产购买等原因,离开当前所在的城市,如果你允许他们继续以远程工作的方式为你工作,你可以留住更多的老员工。毕竟,新员工的培养需要成本。

5. 招募所有地区的优秀人才

当你接受了远程工作的方式,你的人才库也会随之而变得更大,你可以接收来自全国,甚至是全球的人才,而无需因为本地无法招募合适的人才而烦恼。

6. 业务24小时运转

当你的业务是全球化业务时,一个全球化的团队是有必要的。通过招募全球不同时区的工作人员,可以让你的业务 24 小时在线。

远程工作对于雇员的价值

不仅对于雇主有好处,远程工作同样对于雇员有好处。

1. 压力更小

由于无需前往办公室,因此,办公室政治、闲聊也不复存在,同侪压力(Peer pressure)也会因此而消失。对于每一个工作者来说,你所面对的只有自己的工作。

2. 更好的工作与生活平衡

由于减少了前往办公室的通勤时间,你可以将大量的时间安排在工作相关的事情上,特别是一些大中型城市,如北京、上海、广州、深圳等,通勤需要消耗非常多时间的城市,远程工作可以让你有更多的时间和精力来确保工作和生活的平衡。

3. 更加习惯的工作方式

远程工作可以让你以你习惯、熟悉的方式工作,而无需受到办公室的拘束,达到更高的工作效率。

4. 面向结果的工作方式

远程工作你只能依赖结果来证明自己。好在,你也只需要用结果来证明自己。对于成年人来说,没有更棒的方式了。

远程工作与外包的区别

谈及远程工作,不少人就会想起外包,但外包和远程工作并不是同一类事务,接下来我们可以看看二者有什么区别。

远程工作与外包的区别

项目远程工作外包
关系雇主与雇员甲方与乙方
盈亏雇员无需自负盈亏雇员需要自负盈亏
法律关系适用于当地的劳动法适用于当地的合同法
工作时长合同内约定的工作、休假时间,且不能违反相关法律规定没有约定
福利可以享有企业内部福利没有福利
社会保险按照法律执行没有社会保险
管理工具对雇员有高度管理权力只能就合同约定条目进行管理
生产工具企业为雇员提供一定的生产工具乙方自行准备生产工具

总结

总的来看,远程工作和传统的工作模式并没有太大的区别,仅仅是可以“不用坐在办公室里办公”了而已。而外包则不同,更多是一个独立个体与另一个独立个体之间的合作。

采用远程工作需要考虑的问题

我真的适合远程工作么?

如果你想要尝试远程工作,我建议你思考一下,以下这些特性你是否都具备:

  1. 自律:自律是第一条,也几乎是最重要的一条,如果没有自律,那么远程工作会演变成再不工作,最终让你失去自己的工作。

  2. 耐得住寂寞:远程工作意味着你没有了朝夕相处的同事,工作的性质又让你绝大多数的时候呆在室内,因此,你可能会因为长时间没有和外界交流而陷入狂躁的状态,因此,能够耐得住寂寞(或者你能够学会自我排解)很重要。

  3. 沟通能力强:远程工作因为失去了面对面沟通的机会,因此,很多时候,你必须通过文字表述清楚自己的意思。因此,强大的沟通能力是你完成远程工作的重要保障。

  4. 自备生产工具:远程工作意味着你和雇主大概率不在同一个城市,也因此,雇主可能不会为你准备生产工具,你需要自备生产工具。

  5. 跨城市社保缴纳:随着新税法的颁布,企业在缴纳税赋的时候,也会被要求缴纳社保,你的社保很有可能会你当前所在的城市不同。如果你的孩子可能需要上学等问题,这个也会是需要你考虑的问题。

远程工作一定要在不同的城市么?

当然不是,实际上,不少的企业虽然远程工作,但绝大多数工作人员为了确保工作效率, 依然会在一个城市,或以一个城市为中心生活,这样可以确保在有需要的时候,可以拉起一个在地会议。

远程工作的劣势

远程工作虽然好,但是也有其问题。作为一个雇主(或雇员),如果你真的希望采用远程工作的方式,需要认真思考以下一些劣势。

对于雇主的劣势

1. 合适的人难招

很多人可能很适合作为一个坐班的工作人员,但自制力的缺乏可能让他在远程工作的场景下失去工作效率,因此,一个适合远程工作的人可能并没有那么好找。

2. 管理者的恐慌

由于管理者无法看到工作人员的工作状态,因此,难免会陷入到恐慌中,恐慌自己的员工到底在做些什么。管理者需要学会相信自己的下属,相信自己的队友,并静待结果。

对于雇员的劣势

1. 生活与工作的界限模糊

由于你的工作无需在办公室完成,因此,工作和生活的界限也变得模糊,随之而来的,是你可能随时被拉去工作,也可能随时被拉去做家务。这一切都有可能。

2. 家人的不理解

因为你现在可以在家里工作了,因此,你很有可能会被生活中的种种琐事所打断。你的太太或老公可能会因为你在家中而让你去做家中的一些家务。和他们沟通,让他们不要来打扰你会成为一个问题。特别是在你没有一个独立的书房的时候

经验篇

经验篇的内容主要是会向你介绍一些我自己的经验,以及一些来自互联网上其他远程工作者的经验。这些经验和技巧将会帮助你快速进入到工作中的状态。

在你还没有形成自己的远程工作习惯的时候,不妨试试我们的经验,并以此为基础,形成你自己的远程工作的习惯。

雇员远程工作经验

我的远程工作经验

1. 一个独立 & 明确的工作空间很有必要。

我在远程工作时,给自己单独腾空了一个房间,作为我自己的工作室。在这个房间里,我只放了和我自己工作相关的物品。

一个独立 & 明确的工作空间,可以让我更加容易的区分生活和工作,无需担心把生活和工作搞混,从而让自己的时间彻底乱掉。

对于没有自己的房间的人来说,一线城市的一些共创空间提供的工位,也是不错的选择。

2. 开工的仪式感

我给自己的开工仪式感是开工前的一杯手冲咖啡。我给自己买了一套手冲咖啡的设备,每天早上起来会冲一杯咖啡,一方面提神醒脑,另一方面,告诉我自己,我需要开始开工干活了。

3. 时间表

由于远程工作你有了更多时间上的自由,因此,也会更容易因为时间而懈怠,对于远程工作者来说,一个时间表可以让我们的时间更加的有规律,更加有节律,不至于很容易就疲惫,或者很容易就进入到娱乐模式。

来自其他远程工作者的经验

岑小白的「远程手记」专栏

这个专栏记录了网友岑小白从开始远程工作,到最后拒绝远程工作的心路历程,对于想要踏入远程工作的同学来说,值得一看。

地址:https://zhuanlan.zhihu.com/yidianyidi

雇主远程工作经验

TBD...

工具篇

工作流

原则

  1. 信息透明 & 拉平:远程工作和坐班工作的最大的区别在于信息的不透明和不平等。在这种情况下,管理者会陷入到焦虑和恐慌当中,普通团队成员也会因为信息的不同步导致工作的进度缓慢。因此,信息的透明和拉平是十分有必要的。

  2. 异步工作模式:远程工作不同于坐班,信息可以快速且直接的完成同步,由于时差、地理位置的区别,往往一条消息需要数个小时才能获得反馈。因此,在开始工作时,除了要做好信息的透明和拉平,也需要考虑好如何处理异步场景下的信息交互问题。一个常见的案例是,你通过邮件发送的消息往往不会预期对方马上回复。

  3. 抓大放小:中国的不少管理者喜欢做“微观管理”,但微观管理在绝大多数场景下都是不推荐的,一方面让团队成员失去工作的自由,另一方面,让管理者失去思考更重要事情的时间。对于远程工作的团队管理者来说,一个非常重要的事情,就是关注事情的成果,而不是细节。放权给下属做事,才是最合适的。

方法

  1. 借助工具完成信息的透明和拉平:在这本书的后续章节中,我将会向你介绍大量不同的工具,这些工具可以帮助你和你的团队快速实现信息的同步、透明和拉平。
  2. 快速同步信息:在远程团队中,信息的同步概率需要高于坐班工作。根据你的团队习惯,推荐一日一同步、多日一同步和一日多同步。

工作流

工作流示意图

工作流可以总结为一句话:事前先同步;事中多同步;事后要同步

远程团队项目管理工具

远程团队在工作时一个很大的问题在于常规的项目管理手段无法使用。你很难在远程的情况下组织站会、追踪项目进度,因此,一些项目管理工具可以帮助你快速同步项目的信息,方便团队成员知道相互的工作进度。

总览

名称免费版看板文件管理集成Slogan
Trello免费可用Organize anything with anyone, anywhere
Basecamp免费可用Project Management & Team Communication Software
TAPD免费可用敏捷开发 项目管理 腾讯敏捷产品研发平台
Teambition免费可用让团队协作焕然一新
Tower免费可用提升协作效率,打造高效团队
Asana免费可用Manage your team’s work, projects, & tasks online

工具清单

Trello: Organize anything with anyone, anywhere

Trello 是国际上用的比较多的项目管理工具,其提供的看板、列表、卡片等功能,可以帮助你快速的组件项目的流程、工作,并让你可以在最短的时间里,了解到所有的信息。

Trello 最强大的是围绕 Trello 有大量的周边项目,可以组合提供非常强大的功能,比如甘特图之类的,你可以在 Trello 项目的 PowerUps 中找到这些拓展。

地址:https://trello.com/

Basecamp: Project Management & Team Communication Software

Basecamp 来自 Rails 开发团队 37 Signals ,他们在为客户开发外包项目时,其内部使用的项目管理工具受到了青睐,便开放出来,成为服务: Basecamp。

地址:https://basecamp.com/

TAPD: 敏捷开发 项目管理 腾讯敏捷产品研发平台

TAPD 是腾讯内部的敏捷开发平台开放出来的能力。在腾讯内部,大量的项目运转在 TAPD 上,不少外部项目也在使用 TAPD。

地址:https://www.tapd.cn/

Teambition: 让团队协作焕然一新

Teambiton 是一款老牌的团队协作工具,后被阿里巴巴并购。我自己平时和国内的一些朋友协作的时候,会使用 Teambiton 来完成协作。

地址:https://www.teambition.com/

Tower: 提升协作效率,打造高效团队

Tower 来自彩橙科技,他们自己使用 Tower 来研发项目。和 Basecamp 一样,产品受到客户青睐,后开放出来,提供成服务。

地址:https://tower.im/

Asana: Manage your team’s work, projects, & tasks online

Asana 是国际上常用的团队协作工具,我自己没有用过,但不少朋友在用,因此,也放在列表里。

地址:https://asana.com/

任务管理工具

在工作中,我们经常会使用一些任务管理工具,来整理自己的工作。由于同在一个地方,信息的同步显得十分简单,但远程工作由于地域的远离,团队成员之间无法共享任务,因此,一个支持团队协作的任务管理工具是十分有必要的。

总览

软件名免费使用支持平台邀请方式免费版项目人数
微软 TodoAndroid、iOS、Web、Windows、macOS邮件、链接5人
TodoistAndroid、iOS、Web、Windows、macOS、Linux邮件5人(高级版 25人)
滴答清单Android、iOS、Web、Windows、macOS邮件、链接1人(高级版18人)

工具列表

Microsoft Todo 微软 Todo

奇妙清单(WunderList)是一个老牌的清单软件,后被微软收购,就成了我们所熟悉的微软 Todo。

微软 Todo 目前是免费版的软件,因此,你可以直接免费使用它,并与你的同伴共享任务清单。

地址:https://to-do.microsoft.com/

Todoist

Todoist 也是一个老牌的 Todo 应用,免费就可以用,付费版功能更强。你经常会在网上看到一些 Todoist 的兑换码,从而兑换一些免费的高级版使用时长,从 3 个月到 6 个月不等。

地址:https://todoist.com/

滴答清单

滴答清单是一个国产的 Todo 应用,功能强大,也比较便宜。我自己在用的 Todo 就是滴答清单。

地址: https://dida365.com/

远程团队沟通工具

为什么不是微信、QQ?

微信和 QQ 是我们在绝大多数场景下使用的聊天工具。但是,这二者都有很多问题,比如,无法长久保留文件、无法方便的回溯记录等。此外,工作和生活使用相同的工具,也会让我们渐渐模糊工作和生活的界限。因此,我推荐远程工作团队使用专用的沟通工具来完成沟通。同时,借助其提供的第三方拓展,优化自己的团队工作效率。

总览

名称免费可用机器人第三方服务小程序文件存储
Slack永久
飞书少(需要自研)永久

工具清单

Slack

Slack 是国际上用的最多的沟通工具,大量的第三方应用使得 Slack 可用与各种应用对接,大大的提升了用户的效率。

地址:https://slack.com/

飞书

飞书是我们目前比较关注的团队沟通应用,自己也在研究相关的研发,作为字节跳动的产品,而且经过海外市场考验的产品,值得试一试。

地址:https://www.feishu.cn/

时间管理工具

这里的时间管理不是一般意义上的时间管理,更多是工作相关的时间管理,这些工具可以帮助你记录你工作的时间,帮助你更好的完成自己的工作,记录自己的工作。

同时,记录下的时间可以让你真正意识到自己的工作效率到底如何,你可以通过对数据的回溯,优化自己的工作效率。

总览

名称费用分析图表项目管理
Toggl免费版支持简单
Clockify免费版支持简单
Harvest免费版支持简单
Timely$7/月支持专业

清单

Toggl

Toggl 是我自己在用的时间记录软件,借助 Toggl ,我可以很轻松的记录我每天都在做些什么事情,方便我在每天、每周记录自己本周、本日的工作。

地址:https://toggl.com/

Clockify

Clockify 提供了 Timesheet 的功能,对于同时追踪多个项目的人来说,十分有帮助。

Harvest

Harvest 提供了强大的 Scheduling 能力,可以帮助我们快速的了解到团队的工作状态、内容。

地址:https://www.getharvest.com/

Timely

Timely 和其他软件不同的是,其提供了强大的项目管理工具,可以让管理者更加轻松的看到整个项目的运行情况。

地址:https://timelyapp.com/

远程团队代码管理工具

这一篇目,是只为程序员们设计的。虽然我们已经习惯了使用 Github 来存储代码,但是,如果你做的是企业协作场景,那么可能有更多更适合的代码托管平台。

总览

名称费用团队协作自动化服务集成
Github Pro$7/月无限人数内建CI/CD支持
GitLab.com$4/人/月-内建CI/CD
GitLab服务器成本无限自建 Jenkins
BitBucket$3/人/月-内建 CI
Gitee1280/年10人自建 Jenkins华为容器云/华为微服务/Tencent Hub
Coding399/人/年-内建 CI自建 Registry

上述平台均提供了免费版本,表内为最低付费版本价格。

代码管理工具特性

和 Github 上我们更关注影响力不同,在远程工作团队协作时,我们更看重以下几点:

  1. 私有仓库:无论你是一个远程团队,还是一个坐班的团队,你的代码库很难做到完全 100% 的开放。出于安全考虑,你总会有一部分代码是没有对外开放的。因此,私有库是必要的。
  2. 团队协作:由于你是团队,而不是个人,那么团队协作一定是一个重点。Github 免费版私有仓库虽然也提供了 3 个人的协作名额,但是由于 3 个人实在太少,而且缺乏其他的必备能力,因此不在本次的讨论范围内。
  3. 自动化手段:对于代码项目来说,必要的自动化手段可以帮助开发者更好的完成自己的工作,减少工作的压力。因此,自动化手段也是一个非常重要的能力。

工具清单

1. Github Pro

Github Pro 是 Github 提供的服务计划,可以提供非常多的功能特性。使用 Github Pro ,可以为团队提供最好的 Git 生态。在 Github 推出了自家的 CI 服务 Github Actions 后, 除了速度慢,几乎是无敌的。

2. GitLab.com

GitLab.com 是目前比较好的 Git 托管服务,相比于 Github 提供了一定的免费计划。也提供了自建的 CI/CD 工具,十分方便。

3. Gitlab

对于一些喜欢私有部署的企业来说,GitLab 的开源版本可能会更加适合。

4. BitBucket

BitBucket 是来自 Atlassian 公司的代码托管平台,值得你去试一试。

5. Gitee

Gitee 是来自国内开源中国的产品,速度方便不错,但产品的各项能力方面,有待改进。

6. Coding

Coding 的企业版本提供了非常多的能力,我目前也在用他。

远程团队设计管理工具

本章节作者 Leadream

由于性能原因设计工具一般都是本地客户端,但是近几年在数字界面设计领域出现了很多基于 Web 端的设计工具,为设计协作提供了更多可能性。对于设计师来说,除了设计团队之间的协作之外,还有和上下游之间的协作,设计工具的好用与否决定了团队间的工作效率。

设计工具

最近几年是设计工具井喷的几年,很多新的界面设计工具诞生,给了我们更多的选择。

Figma

Figma 无疑是设计协作的首选工具,它把界面设计这件事从本地搬到了云端。无需繁琐的文件管理,所有的文件都存储在云端,自动历史记录可以让你随时恢复到老板最喜欢的第一版

Figma 除了方便设计团队内的协作,还支持交付功能,只需要把文件链接发给开发他们就能看到设计标注了。当然,除了基于 Web 带来的易于分享和协作的特性,Figma 本身使用体验也非常好,即使在浏览器中也十分顺滑,还有很多符合直觉的操作细节,可以让设计师完全专注于设计本身而不用克服工具带来的阻碍。

Sketch

Sketch 是使用比较广泛的一款设计工具,支持组件式设计,但是它是客户端,设计文件需要通过云功能同步。

交付工具

除了自己的砍柴刀要趁手,在交付给开发时也需要一个好用的工具。Sketch 不带交付功能,因此需要选择第三方工具,而 Figma 虽然有交付功能,但只能生成参考代码,如果需要更精细的功能也需要第三方工具。

蓝湖

蓝湖是国内比较受欢迎的一款设计交付工具,可以生成在线标注,支持 Photoshop、Adobe XD 和 Sketch,也支持托管 Axure 文档。

像素大厨

像素大厨是另一款国内设计交付工具,支持 Photoshop、Adobe XD 和 Sketch,内测版支持 Figma。

Zeplin

Zeplin 是国外的一款比较老牌的设计交付工具,功能齐全,还支持整个设计文件的设计样式生成。目前 Zeplin 支持 Figma、Photoshop、Adobe XD 和 Sketch。

Sympli

Sympli 是一个设计协作和版本控制工具,支持 Figma、Photoshop、Adobe XD 和 Sketch 文件导入,还支持和 XCode、Android Studio、Jira、Slack 的整合。

Avocode

Avocode 也是一款比较老牌的设计交付工具,支持 Photoshop、Adobe AI、Adobe XD 和 Sketch 文件导入,还支持原型生成。

Abstract

Abstract 将代码的版本控制概念引进设计领域,通过 Git 的工作流来进行设计文件的版本控制。这么做的好处是设计文件版本管理更加科学合理,但是对于设计师来说上手门槛有点高,需要搞懂 Git 的基本流程,同时也比较容易占用存储空间。

会议工具

团队协作难免会遇到需要进行多对多沟通的场景。传统的群聊无法满足我们对于信息传递的需求,因此,一些必要的会议工具可以帮助你更好的完成自己的工作。

总览

名称免费桌面投屏外部参会Slogan
QQ群视频
微信群视频
ZoomVideo Conferencing, Web Conferencing, Webinars, Screen Sharing
腾讯会议云会议·随时随地 高清音视频会议
飞书会议流畅可协同的音视频会议
小鱼易连小鱼易连,人人都会用的云视频会议
华为 WeLink更懂企业的智能工作平台

工具清单

QQ群视频

对于一些使用 QQ 群进行协作的团队来说,QQ 群视频已经可以满足协作的需求。

名字QQ 群视频
人数限制50 人观看 & 6 人同时发言
价格免费
投屏支持
是否支持外部参会者

微信群视频

微信群是现在不少企业和团队的协作方式,微信群同样也是一个视频会议的可选项。

名字微信群视频
人数限制9 人同时在线
价格免费
投屏不支持
是否支持外部参会者

Zoom.com.cn

Zoom 是来自硅谷的初创公司的产品,近年来,在社会上广受好评,提供了高质量和免费的视频服务。

名字Zoom
人数限制免费版限制100人
价格有免费版
投屏支持
注册无限制
是否支持外部参会者

Zoom 免费版套餐 主持无限次数的会议(每次主持一场会议) 1对1会议没有时间限制 会议时长限制为40分钟,人数为3到100人

腾讯会议

腾讯会议是腾讯云提供的在线会议解决方案,支持手机、电脑、平板、Web一键入会,支持在小程序中参与会议。

名字腾讯会议
人数限制免费版限制25人
价格有免费版
投屏支持
注册无限制
是否支持外部参会者

腾讯会议免费版套餐 不限次数一对一会议 限时45分钟的多人群组会议 最高可达25名参会者 支持小程序加入会议

飞书会议

飞书作为头条系主推的工作场景下的协作应用,也提供了视频会议的能力。

名字腾讯会议
人数限制免费版限制 10 人
价格有免费版
投屏支持
注册无限制
是否支持外部参会者

小鱼易连

小鱼易连在一些小的团队中也会使用,我曾在和一个客户沟通的时候使用过小鱼易连,使用体验接近 Zoom。

名字小鱼易联
人数限制免费版限制 3 人
价格有免费版
投屏支持
注册无限制
是否支持外部参会者
名字腾讯会议
人数限制基础版套餐并发 10 人
价格有免费版
投屏支持
注册无限制
是否支持外部参会者

总结

会议工具有很多,你需要根据自己的使用习惯、使用场景来进行选择。我个人用的比较多的是 Zoom 和 腾讯会议,Zoom 有些时候可能会无法在境内访问,这时候,腾讯会议是一个很好的替代品。

文档协作工具

坐班工作时,文档可以通过群聊以及当面沟通的方式来同步。但远程工作显然无法这样干,不仅耗时,也十分费力。基于此,我们更推荐远程团队使用一些文档协作工具来完成自己的文档同步工作,这些工具包括并不限于文档工具、表格工具、演示工具等。

All in One 类工具

以下工具均提供了文档、表格、演示等三大常用的办公文档,对于喜欢在一个服务内搞定所有事情的团队来说,十分方便。

产品免费协作人数需要翻墙
Google Docs50人编辑 & 200人查看
腾讯文档20人编辑
WPS.cn50人编辑

Google Docs

Google Docs 有两个产品线,一个是面向个人的 Google Docs,另一个是面向企业的 GSuite。对于小的远程团队来说,可以直接使用免费的 Google Docs 来完成自己的工作。对于文档安全等管控要求更高的,则可以选用 GSuite。

如果你需要购买付费的 GSuite ,则最低需要 $6/月/人

地址:http://docs.google.com/

腾讯文档

腾讯文档提供了免费的文档编辑能力以及协作能力,不过同时仅支持 20 人同时在线编辑。如果你需要更多的在线编辑人数,则需要购买其付费会员(优惠期 ¥98/年,原价 ¥240/年)

地址:https://docs.qq.com/

WPS.cn

WPS 也是老牌的文档编辑软件,通过提供了云服务,让习惯使用 WPS 的用户可以在浏览器端获得相同的体验,不仅如此,网页版的协作能力也让其更加适合如今的远程工作的体系。

地址:https://www.kdocs.cn/

文档类工具

Notion

Notion 是近年来在创作者中口碑颇为不错的产品。我自己也在用 Notion 进行内容的记录。

地址:https://www.notion.so/

Coda.io

Coda 是近年来一个新的挑战 Google Docs 的产品,其提供了 All in one 的文档方式,你可以在一个文档中混入 Excel、Word 等软件的功能

地址:https://coda.io/

表格类工具

Airtable

AirTable 是一个新的在线表格服务,可以提供 Database、Calendar 、Gallery 等不同的类型的表格。

地址:https://airtable.com/

访谈

访谈部分精选了来自互联网上的各远程团队的分享,希望这些访谈文章,可以帮助你了解别人的工作方式,并合理借鉴到自己的工作方式、工作流当中。

访谈清单

Tower 团队 48 个月远程实践

原文地址: https://tower.im/help/articles/73

这是古灵 2017 年 03 月 18 日在成都中生代技术大会上的分享

我们的历史

彩程设计是 2008 年在成都成立的,CEO 叫沈学良,大家叫他老沈。我 2008 年的时候还在成都电子科大读研究生,名义上虽然是在上学,但实际上从 2006 年开始就一直在跟老沈做事情了,所以 08 年老沈回成都创业的时候,我想反正年轻,而且创业是一件多么自由的事情啊,那就试试呗,谁知道这一试就一直试到了今天。

我们 08 年最开始做的事情是用户体验设计外包,那个时候国内还很少有公司知道「用户体验」或者「UCD」这样的概念。最开始我们做的比较多的,是帮一些电信运营商,像亚信联创去做他们业务系统的体验优化设计。传统的电信运营商公司的业务系统多半是跑了很多年的,在底层架构上非常稳定,但是因为那个时候大多数业务系统并不太关注用户的使用体验,这些产品的设计往往都是极其复杂的。所以从 08 年开始我们帮着这些基础服务运营商优化他们的系统,亚信当时的四川、辽宁、北京 10086 网上营业厅,还有客服系统、网管系统、亚信海外的一个计费系统,都是我们帮助他们重新设计的。在这个过程中我们自己团队也积累了很多产品上的经验,特别是怎么把复杂的东西简单化的思考方式,以及在前端技术方面积累了很多。

后来随着移动互联网的兴起,我们团队从 2010 年开始也为一些移动 APP 做设计外包,比较著名的有成都本地的咕咚运动,还有易到用车,这些 APP 的早期版本的设计都是我们和客户合作的结果。但是随着做外包的时间越来越久,我们发现如果继续做下去,会面临一些问题。

首先是整个行业会逐渐成熟起来,互联网企业会慢慢的掌握设计的技巧,并且因为随时都能了解用户实际使用的感受,所以互联网企业用自己的产品经理和设计师,从长远来看,一定会比外包给设计公司做设计更合适。其次,如果我们要把这艘小船往更开阔的海域行驶,只做设计外包的话肯定是不行的。所以我们团队从 2011 年开始,就试着做自己的产品。

在推出 Tower 之前,我们做过另外两款给团队使用的工具,Teamcola 和 Designboard。前者是一个用于记录每天工作时间的工具,在类似一个日历的界面上拖动,然后记录每天的工作内容,并且团队成员彼此可以共享。这个产品最初只是为了解决我们自己做设计外包的问题,就是我们的一些客户是按照工时付费的,我们要记录设计师每天的工作时间,好最后汇总成工单找用户结算,做了 Teamcola 以后,发现还挺好用,于是干脆就把它开放出来,试了试水。

另外一款叫做 Designboard 的产品,和 Teamcola 诞生的背景也很类似,也是我们自己在做外包的过程中,发现怎么交付设计稿,怎么围绕设计稿进行讨论这件事情可以交给工具来处理,于是我们自己打造了这么一个产品,它可以把设计图上传,组织自己的设计板,然后针对设计图进行评论。

这两款小试牛刀的产品让我们团队积累了做产品的原始经验,我们以前只是帮别人生孩子,现在终于开始学着自己生了。

到了 2012 年下半年,我们推出了 Tower 这款协作软件,这款产品上线第一天的注册用户数,就远远超过了 Teamcola 和 Designboard 的总和,我们也在随后一个月就拿到了红杉的 A 轮投资,于是几个创始人商量了一下,决定停止所有外包业务,转向浩瀚的企业市场领域。

除了从一个设计外包公司转型成了产品公司,2013 年开始远程办公也是我们团队的一个非常大胆的举动,后面我会介绍关于远程工作的原因和经验。先来看看,现在 4 年多时间过去了,我们团队从当时的 10 来个人,成长到现在将近 100 人,我们取得了哪些成果。

首先是 Tower 这个产品,现在是中国市场排名第一的协作软件,有超过 50 万的注册团队,带来了 700 万的注册用户,这些用户每天在 Tower 上产生大量的任务、讨论、文档和文件,如果把 Tower 比作写字楼的话,这应该是全国最大的一栋写字楼了。

另外,我们从 2015 年开始打造的另外一款人力资源类软件「知人」,去年下半年正式发布,这款产品相比 Tower,面对的业务场景更加复杂,为了能够做到自动计算工资,我们做了考勤、请假、公出、加班等出勤类产品的功能,还做了和工作流产品类似的审批流功能,还做了电子合同签署功能,更不用说基础的人事、社保公积金、期权功能,以及对接的滴滴打车、企业微信、摩卡招聘等等第三方服务。

从产品的复杂程度上来讲,知人是一款远超 Tower 的产品,从推广到市场的结果来看,知人也是目前市面上产品形态最完备的人力资源 SaaS 产品,能够支撑从几十人的公司到几千人的公司的人力资源日常事务。而这个结果,也是整个团队在远程工作的模式下做到的。

为什么要远程工作

有三个驱动我们远程工作的原因,一是产品原因,二是不愿意再花时间在一些麻烦事上,三是最重要的一点,就是因为彼此信任。

2013 年我们决定要开始远程工作,当时最大的一个初衷是想要通过这种方式,把产品打造得更好。这么说挺奇怪的,为什么不是大家聚在一起没日没夜的加班,而是干脆要分开来做事情呢?这是因为 Tower 这款产品本身的特点决定的,我们在 2012 年的时候冒出来了一个大胆的想法,就是如果一款协作类型的产品,能够完全支持一个远程团队的日常协作的话,那么它对于那些天天聚在一起的团队来说应该更不在话下了。

种瓜得瓜,后来的事实证明,虽然我们没法证明 Tower 对所有类型的团队都适用,但是它确实是对于远程工作者最为友好的工具,我们是最早支持 Email 回复、微信公众号、视频会议的协作工具。

另外我们选择远程,是因为创业那么多年,我们换过好几个办公场所,每次换个地方就要折腾网络、桌椅、吃饭等各种麻烦的问题,更别提花在路上奔波的时间。我们在 2013 年初租的最后一个办公场地快要到期的时候,突然发现要是继续待下去,大家都觉得有些审美疲劳,但是如果要想找新的地方,又会是一件劳心劳力的事情,加之我们团队最为欣赏和喜欢的一只外国团队 37signals 也是远程办公的模式,所以我们就开始琢磨这事儿的可行性了。

最后,前面跟大家啰嗦了半天公司的发展历程,因为我们从 2008 年到 2013 年,核心团队都在一起工作,5 年时间让彼此变得非常默契与信任,我们知道各自的长处和短板,核心团队在一起走了那么长的时间也没有人选择离开,说明大家的长远目标是高度一致的,加之当时的主要核心成员都在同一个城市,也觉得随时可以找个地方聚在一起,所以就更加觉得远程这个事情没什么可担心的了。

于是 2013 年春节后,我们就各自解散回家了。哦,我没有回家,而是买了张机票飞到英国去待了 3 个月,彻底远程了。

远程工作的好处

那么,这么多年的远程工作,给我们带来的好处是什么呢?我们团队的远程工作应该划分为前三年和 2016 年这两段来看。

从 2013 年到 2015 年这三年,我们团队的人数增长是缓慢的,因为协作类型的产品相对来说并不复杂,我们也不想用搭建销售团队的方式来获取收入,因此总是想保持小规模的状态来打造产品。这个时候远程工作带给我们最大的好处主要有两点。

首先不得不承认的是,远程工作会让个人的生活质量得到极大的提升,我在远程工作的前几年,基本上每天的生活可以规律得像机器一样。每天早上 7 点左右起床,走路 5 分钟去家对面的健身房游泳一个钟头,然后回家吃早餐,8点半左右开始工作,中午 12 点在家做午饭,然后小睡一觉到下午 2 点左右开始继续工作,工作到晚上 7 点,走路 10 分钟去家附近的一个社区图书馆看书到 8 点半,或者在家看部电影,结束以后处理工作到晚上 11 点,上床睡觉。

每天早上从健身房回家的路上,看到匆忙上班的人群,想着自己再也不用去挤公交地铁的时候,幸福极了。

其次就是工作上的,「专注」是远程办公能够获得的极大的好处。如果是一帮人聚在一起,难免时不时会被打扰,周围的环境也容易把你的注意力吸引走。远程以后,团队在怎么提高效率方面做了很多努力和尝试,这些努力里面就包括怎么样让每个成员都能更加专注的完成任务。远程所提倡的并不是「在家工作」,更不是「旅行办公」,而是「在任何你认为自己效率最高的地方工作」,所以我们有很多成员会去自己喜欢的咖啡店,或者干脆跑到偏远的小镇上去工作。

2014 年我们曾经开源过的一个文本编辑器 Simditor,就是一个前端工程师跑到丽江去,独自开发了 2 个多月的产物。

远程工作后,我们超过 4 个人参与的会议数量明显减少,以前聚在一起的时候,不管是随便找个同伴,还是同伴可能自己无意识的加入,都会让会议变得很冗长。远程以后因为人不在一起,「说话」的成本变高,导致说话之前做的准备工作就会相对充足,比如会在 Tower 上形成具体的文字,或者能够忽略的不重要的事情,就直接被忽略掉了。这是远程带来的好处。

后来到了 2015 年以后,我们开始转做知人,这个产品如前所述,比 Tower 复杂很多,因此我们开始扩张团队,包括工程师,这个时候,远程的工作性质能从三个方面帮助我们招募到自己喜欢的人才。

首先,在薪资肯定比不过 BAT 的前提下,远程可以加持我们这种创业团队的吸引力,让候选人至少能够时不时的惦记你一下。

其次,那些敢于选择远程工作的成员,一般都是艺高人胆大的,普通的工程师可能更愿意找一个能上班的地方,让自己可以融入到群体里面,但是作为创业者,我们更希望的是招募那些更独立的,不畏惧「与众不同」的伙伴,所以远程也能变相帮助我们筛选候选人,这样招募进来的小伙伴普遍水平都比较高。

最后,因为是远程,所以可以完全的跨地区全国招募,网子撒的大,鱼儿才会多。

如何保证工作质量和效率

找到对的人

毋庸置疑,找人是创业公司的重中之重,在创业的不同时期,找到优秀的小伙伴都有不同的方法和渠道。

在 2008 年刚回成都开始创业的时候,我们还叫「成都彩程数字科技有限公司」,一个所谓的科技公司,但是能写代码的只有我一个人,所以当务之急就是赶紧扩充团队。我们没有足够的资金和成本去打招聘广告,而且可预见的是这个阶段就算打广告也不可能有什么好效果,这个时候最好的办法就是从身边的熟人「下手」。彩程当时一半的员工都曾经是电子科大一个叫做「栋力无限」的学生社团的成员,老沈甚至还是这个社团的发起人,所以当时我们很快找到「栋力无限」的小同学,请他推荐一些愿意出来实习锻炼的学生给我们。

现在我们团队里的前端技术负责人就是在那个时候加入彩程的。当时这位小伙子才读大四,而且自己曾经休学一年,跑到香港大学去游荡了一年以后才回来的。就像我在前面说的,有这样经历的小伙子一般来说,思想都非常独立,也不害怕去走一条看似风险重重的路,结果也证明了这一点,他现在同样是公司的合伙人,我们产品里所有交互上比较复杂的组件,都是由他带领完成的。

随着公司渐渐发展,在 2010 年左右曾有一段时间,我们在成都本地举办过一个叫做「UCD书友会」的活动,每个月固定的一个周末,邀请一些朋友,以及我们公司的小伙伴,用一个下午的时间,跟一些对设计和产品感兴趣的同行进行交流。这样的活动帮助我们扩大了成都本土的人脉资源,也让很多对当时还不那么火爆的「用户体验设计」感兴趣的人能够进入到我们的视线里。这期间我们认识了后来做 Tower 的交互设计师,那个时候他也只是一个西南民族学院的大四辍学小孩,曾经一个人骑车去过西藏,现在的兴趣爱好是开卡丁车,据说现在已经是四川省卡丁车前三强了。当时看到他手绘的原型设计图我们就知道,这就是我们要找的小伙伴。

让这样的小伙伴加入团队的好处是,他们周围基本上会有一些和他们同样出色的朋友。比如我们的前端技术负责人,带来了另外一个后来的合伙人,我们现在的数据专家,而那位做 Tower 的交互设计师则推荐了一位优秀的视觉设计师,我们在 Tower 里看到的那些漂亮的原画,都出自这位伙伴之手。

后来公司做的产品有了一些口碑之后,我们逐渐能收到一些全国各地的简历了,这个时候我们就需要提炼出对于团队来说,怎么才能从这些简历中找到优秀人才的方法了。

简单地说,我们在整个面试和笔试流程中,对人的考察的核心因素有两点,第一是他是不是足够聪明,第二是他对于我们在做的事情的认同感。

聪明的同伴有两个非常重要的判断标准,一是对产品的理解力,当你在跟一个聪明的小伙伴讨论产品需求的时候,他甚至能先于你想到很多潜藏的问题,以及这些问题的解决方案。第二是他的协作能力,他有没有在 Tower 上拆解自己的任务,能不能够用流畅的语言描述遇到的问题。

而小伙伴对我们团队和做的产品的认同感,是我们判断小伙伴是否合适的第二个标准。有些小伙伴是非常聪明的,但是在和他们合作的过程中,你却会觉得比较别扭。比如你跟他交流的时候,虽然他都知道产品的需求是什么,要做的改进是什么,但是就是投入不够,他会跟你抱怨说,产品的文档没有写好,有些代码写得很烂,但是自己却从不愿意主动去做改进。这其实本质上是对团队做的事情的认同感不够。如果认同感不够,那么这样的小伙伴在一起是走不长远的,他对于产品遇到的短期问题,也不会有足够的耐心。

我们并不能总是招到最好的成员,但是结果却一再证明,最后能真正在团队里发挥重大价值的,都是那些最好的 A Player。并且由于我们远程办公的特点,所以对于人的要求更是没法松懈,如果招募到一个资质平平的工程师,对于团队来说甚至是会带来极大的副作用,因为优秀的人对于那些不怎么优秀的人,总是没什么耐性的。

设计设计设计

招到对的人只是第一步,要提高远程团队的协作效率,尤其需要重视产品的前期设计,因为本来远程团队沟通成本是最高的,所以如果前期不围绕功能设计讨论透彻,开发了一段时间以后发现有问题,成本就太高了,这不是像大家坐在办公室里,随时一扭头就可以说,「诶,我怎么觉得这个地方有点问题」然后可以聚在一起解决掉的。

我们团队在开发一个功能点的时候,会要求产品经理至少写两份文档,一份叫做「思路笔记」,这份笔记主要是产品负责人个人对于功能点的思考,要解决的问题是什么,解决的思路是什么,有没有什么想得到的坑,怎么测试,上线以后用什么数据衡量功能是否成功。产品经理会把这份文档发给负责开发的工程师先看一阵子,然后大家会约定好一个时间进行远程视频会议,在视频会议上,每个人提出他们的问题,供产品经理参考。

接下来产品经理会去完成他的第二份文档,叫做「需求说明」,这份文档主要是明确具体的解决方案,根据需要,我们会去做一些具体的设计。如果功能比较简单,工程师根据现有的系统组件就能搭建出来,那么产品经理一般做一个草图即可,但是如果涉及的功能比较复杂,产品经理就需要在草图的基础上,寻求视觉设计师的帮助了。当这份需求说明文档完成后,我们会提前发给工程师再看一次,然后约时间再做一次视频会议。

这次视频会议因为有具体的设计图,所以工程师能更好的理解需求的意图,并且可以提出更具体的问题。像我前面说的,一旦试图省略掉前面的这些过程,那么必然会导致最后开发出来的产品功能考虑不完善,因为前面需要思索的时间,你偷懒了,那些自以为清楚的事情,往往根本就没有想清楚。所以最好的办法,就是用这些能够积累的的东西,把思想过滤出来。

设计这个事情随着做的产品越来越复杂,会变得越来越重要。在做像知人这样的产品的时候,有很多牵一发动全身的功能。比如就算是做一个简单的删除部门的功能,你都要考虑如果以前曾经在这个部门的员工重新入职,要怎么处理,于是重新入职的流程里就需要引入部门设置,然后你就会考虑除了部门以外,还有哪些属性是同样需要重置的,于是本来是在思考提供部门删除的功能,就会延伸为,先规范重新入职流程。问题一开始如果没有想清楚,很容易出现工程师吭哧吭哧做了半天,结果上线以后漏洞百出的情况。

所以,对于远程团队来说,产品迭代里的设计阶段会变得尤为重要,千万不要忽视它。

控制节奏

如果有游泳或者长跑习惯的朋友应该知道,在这些体育运动里,最重要的并不是瞬时的爆发力,而是始终如一的节奏。像长跑 10 公里,你如果能保持一个比较固定的速率的话,跑下来的时候人的感觉是很舒爽的。

我们在开发产品的时候,也需要做一些工作来保证产品的节奏感。主要是分组和迭代。

在做知人这款产品的时候,我们按照功能进行分组,比如电子合同这个具体的功能,就是两个工程师组成的一个小组,然后多个小组又会负责一个大的功能模块,比如电子合同,是属于人事模块下面的子功能,所以就会有好几个小组会被放在人事模块里面。属于人事模块的这些工程师一般不会做轮岗调整,因为他们做的越久,对人事业务就会越熟悉,也就越容易对产品功能做判断。但是人事模块里面的小组是会轮替的。比如做电子合同的两个工程师,一个季度以后会被调整去做组织架构,因为这些大的业务模块下的功能是彼此相通的,通过这种方式,工程师可以熟悉彼此所做的业务。

分好小组以后,我们会设置一个迭代周期,比如对于知人,就是两周一个迭代周期。我们的小组工程师会分为 A / B 两个 Team,在一个迭代周期里,如果 A 小组的工程师开发新功能的话,那么 B 小组的工程师就会负责处理 Bug。

在 Tower 里,我们会用两个项目把事情分开,一个项目我们叫做「战地」,这个项目会用看板的形式罗列所有待处理的需求,每个需求会关联到前面说的产品文档。

每个迭代周期开始的时候,开发新功能的工程师,按照需求的优先级认领任务,并把任务从需求池里拖动到「开发」清单里面。我们之所以用两周来做迭代,是因为一般来说,功能开发本身不会太久,因为需求一般都会拆分的比较细,但是开发完了以后,要上线去做测试,测试以后的改进时间也要预留进来,所以两周一次迭代是一个比较合适的长度。

在功能开发迭代之外的工程师,主要是处理另一个叫做「机械师」的项目里面的任务,里面主要是各种 Bug。当然,Bug 不会总是那么多,所以我们并不严格要求维护组的工程师在维护周期里只能做维护,我们希望产品功能能够尽快的推进,所以在维护期的工程师如果需要处理的 Bug 不多,他是会被要求提前去处理战地里的需求的。

如果把产品开发类比为体育运动的话,这种模式的训练强度明显是最高的。

善用工具

彩程设计从创建的第一天起,就在用各种提高我们工作效率和生产效率的工具。

对于远程团队来说,解决沟通是第一位的,我们用 Tower 解决工作计划的问题,在 Tower 里围绕项目、任务、文档和文件来沟通工作的计划,以及推进工作计划。但是也不可能把所有沟通都放在 Tower 上,所以我们团队平时还会重度使用企业微信这个 IM 产品。

对于 IM 工具的选择团队也是经过了很多尝试,从 Slack 还是 Beta 版本的时候,我们就开始尝试使用,到后来转到 Telegram,然后是钉钉,最后现在使用企业微信,对于工具的选择我们发现有两个重要的因素,一是工具要是所有人都能很快获得的。如果一直用 Slack,那么可能只是对工程团队友好,因为销售团队的同事不一定人人都会翻墙,而且产品的全英文也会导致有些同事使用起来产生障碍。所以如果是决定整个团队都长期使用的话,最好还是选择国内的产品。

其次是,这个工具要在产品设计上打动我们,让每个使用的成员觉得产品设计得很赞。而正是因为这个原因让我们最终选择企业微信,因为企业微信的设计更加简洁、舒服。

对于工程团队来说,最重要的几个工具是代码托管、集成测试、代码质量检查、持续发布和服务监控。我们曾经自己搭建过 gitlab 服务,3 年前的一次安全事故让我们明白其实自己搭建服务,并不比使用第三方靠谱平台安全,所以后来我们就把代码管理全部放到 github 了。

集成测试我们使用过 CircleCI 和 TravisCI,这两个工具都可以集成到 Github 里面,后者对前端组件的测试更加友好,前者在产品设计上我个人觉得优于后者,所以这两个平台都是很推荐大家使用的。

代码质量检查,我们使用一个叫做 CodeClimate 的服务,这个服务也是和 Github 的集成非常完美,在做 code review 的时候,可以直接在 Github 上看到一些代码质量的基本问题,工程师可以在 merge pull request 之前对提交的代码做基本的质量判断。

持续发布是我们自己写的一个定时发布工具,会在每天的三个固定的时间把 master 分支的代码发布到生产环境的服务器上面,这个定时发布工具在做代码发布的时候,会检查集成测试环境有没有跑过,只有当测试用例都跑过的情况下,才会做自动发布。如果发布失败,这个发布工具会给固定的一个微信公众号发告警通知,这样运维的同学就能去及时处理。

服务上线以后,我们会用各种工具来监控服务的质量,对于工程团队来说,首先就是各种报错的监控。我们使用 http://sentry.io 做程序运行错误的告警平台,这个 SaaS 产品允许设置一些 webhook 的回调地址,于是我们会根据告警的代码所属模块,自动在 Tower 的机械师项目里产生分配给对应工程师的任务,非常方便。

另外我们用 Newrelic 做性能监控,目前主要是对 Tower 的监控居多,像去年和钉钉的合作,有一阵子会从钉钉那边带来巨大的注册用户量,Newrelic 在分析到底是哪一层的服务出现了性能问题上是非常方便的。

我们还会用一个叫做 Mixpanel 的工具做用户行为的采集和分析,这主要是对产品经理的帮助更大,使用 Mixpanel 可以记录用户的行为轨迹,帮助产品经理对用户行为进行分析。

这些好的工具里的很多优秀的产品设计思想,正是我们自己打造自己产品时候的设计灵感的来源,深度使用好工具,能极大的提升整个团队的设计品味,这是除了提高团队工作效率之外的一个隐形的好处。

选择合适的技术

最后一点,也是一个很敏感的话题,虽然我们都知道「PHP 是世界上最好的语言」,但是我们团队还是选择了各种主流技术之外的一个冷门的技术栈,Ruby On Rails。

使用 Rails 的原因是,不仅仅是因为它是一个成熟度很高的框架,而且还因为这个框架背后的「价值观」。

一个互联网工程团队,一般都有两种属性,一种是技能属性,一种是产品属性,我们团队的工程师特别强调工程师的产品属性,而这种团队基因,注定了我们会选择 Ruby On Rails 作为当前的技术框架。我特别喜欢 Rails 的创始人 DHH 写的这篇文章:「The Rails Doctrine」。

Ruby 这门语言的出发点是为它的用户的「幸福」考量,而不是从纯粹的计算机科学的视角去发明的,这是 DHH 之所以会选择 Ruby 的初衷。Rails 框架继承了同样的价值观,相比于当前各种纷繁复杂的前后端分离框架,它在技术层面是否优劣,并不是它最重要的考虑因素,Rails 框架重点考虑的是,对于从 0 到 1 的 Web 产品开发,究竟什么样的框架能够让开发者尽快的输出产品功能,让用户去体验和使用,让用户在使用的过程中感到幸福。而 Rails 的天生的好处在于,同样作为一款产品,框架本身是为开发者的「幸福」考量的,这对于一个产品型团队来说,有助于工程师把所有注意力都放在「产品特性」本身上面。

让技术团队保持幸福感,把幸福感通过产品传递给用户,也是维持高效工作的一个基础。

远程工作适合什么样的团队

最后,可能大家会在心里开始默默评估远程工作是不是适合自己了。在我看来,你的团队如果特别小,或者特别久,这两者只要具备一条,那么你现在就可以考虑让团队远程工作了。

所谓特别小,一是团队规模小,二是做的事情小。在个人价值越来越凸显的今天,实际上我们的商业形式也会慢慢的转变,比如个人知识经济,那么可能两三个在一起就能做一些事情出来了,这种非常小的团队是很适合远程的,可以在全国,甚至全球范围内寻找志同道合、配合默契的伙伴。

另一种是核心团队在一起特别久的团队,像我们这样,公司的价值观已经形成,大家彼此呆久了也都足够信任(审美疲劳)了,做的事情也不会是一蹴而就,明天就收获成果的,那么也许可以试试远程。

不过我们也并不认为远程工作就是完美的,远程工作对于一些年轻的小伙伴来说,可能会造成巨大的孤独感,因为人毕竟是感情动物,需要交流,所以我们团队在招募工程师的时候,其实也会尽量在已有工程师的地区招募,这样我们每周五,会让同一个城市的工程师挑选自己喜欢的地方,大家带上电脑出门聚在一起工作。

另外,随着团队规模的扩张,我们也开始每年定期集中,比如 2016 年,整个工程团队一共集中过 3 次,大家在一起的时间总共差不多有 2 - 3 个月的样子,这样可以让新人更好的融入团队,也能集中在一起解决一些产品上重要的问题。

远程工作适合耐心的团队,适合愿意独自面对自己的团队,适合对目标有清醒认识的团队,适合单兵作战强悍的团队,如果你的团队是这样的,不妨一试。

从 300 到 300 万,一个远程外包团队的发展历程和经验

原文地址:https://3cwork.com/discussions/79

注:本文写于一年以前,在文章写完以后的这段时间里,DeepDevelop 发展很快,团队构成、服务对象、技术水平、工作流程、所使用的工具都发生了很大的变化。(2015/10/14)

前言

酝酿几个月后,我们搭建的远程工作者社区(一早一晚)终于上线。短时间内收获了好多位新老朋友的反馈和提问,他们都在从事或者打算从事远程工作。最后我们决定将团队的经历和经验写下来,供感兴趣的朋友参考。

关于我们

我们是 DeepDevelop,一个远程工作团队,从事 Web 和 App 开发;以外包为主,同时会开发一些用于提高效率的工具。

一些数据

2010年

团队成员:1人 分布地:1个城市 第一笔收入:¥300

2014年

团队成员:10人 分布地:4个国家,9个城市 年收入:¥300W

此文目的

坦白来说,我们算不上很酷的团队。首先没有名校、名企光环,成员多以本科甚至专科为主;其次没有如雷贯耳的产品,通俗来说,是个“做外包的”;再次收入实在不多,与动辄融资几千万美元的90后团队相比不得不自惭形秽。正因如此,这一系列文章只希望通过记录我们的经历和经验,来与大家探讨远程工作的方法以及未来。

文章目录

  1. 如何走上外包和远程之路 —— 前情提要和团队诞生
  2. 增加新同事 —— 从哪里找到团队需要的人
  3. 收到客户的赞赏 —— 与客户共同成长和发展
  4. 最大的财富 —— 打磨一支可靠的团队
  5. 提高效率 —— 规范、流程和工具
  6. 孤独?颈椎病?鼠标手? —— 花更多的时间关注健康
  7. 接下来会怎样? —— 面临的问题及后续的计划

如何走上外包和远程之路 -- 前情提要和团队诞生

我曾怀疑我 走在沙漠中 从不结果 无论种什么梦 才张开翅膀 风却便沉默 习惯伤痛能不能 算收获 庆幸的是我 一直没回头 终于发现 真的是有绿洲 每把汗流了 生命变的厚重 走出沮丧才看见 新宇宙

有一段时间,每次去唱歌的时候我总要唱这首《海阔天空》,觉得它特别能表达我的情感。

前情提要

2009年大学毕业,我进入一家大型外企。从小就对自己不感兴趣的事情特别抵触,尤其厌恶重复性的、无技术含量无创造性的工作。于是2个月后离开。

2009年夏天开始,凭借自己特别蹩脚的一点html/css知识,加上强大的搜索引擎和社区支持,用 discuz

改造出了一个团购网站。不记得当时自己哪来的灵感,那时候“团购”这个概念还没有在国内流行起来。之后拉来了一个大学同学,俩人合租了一套房子,开始为这个网站奔波。

2009年下半年全部投入在这个网站上。当时做的事情跟现在的团购网站有很大重合,比如电影票团购,游泳、健身团购,景区门票团购。当时无论是商家还是消费者,都对团购没有什么概念,要说服他们是很难的。没有资金没有资源没有经验,我们两个毛头小子到处去找人谈判,一边享受着团购差价带来的那一点点利润,一边享受着各种白眼与不屑。但这点利润实在太单薄,我们不得不通过信用卡来维持自己的生活。

2009年春节前,另一个同学要来加入我们,并且他带来了一个好消息:有人愿意给我们提供投资。那个时候对投资没有太清晰的概念,对公司、法律更是一窍不通。只记得当时干劲更足,大家一起讨论,规划未来,一起奔波,仿佛美好明天已经提前到来。

2010年春节后,准备大干一场,突然美团上线。这时候我们知道了 Groupon,知道了这种“每日一团”的模式。紧接着,短短10几天内,国内突然冒出几十家团购网站。更是有人写出了“最土”这套开源程序,让搭建一个团购网站变的毫无门槛。正当我们打算调整方向,重新开始的时候,噩耗再次传来。第三位同学拉上投资人自己注册了另一个公司,搭起了另一个网站。

我们尝试再次调整,但团购大潮一发不可收拾。面对汹涌而来的潮水,我们变的手足无措。在坚持了一段时间之后,终于以一顿烧烤+啤酒的方式结束了这场两个人的派对。

最后盘点,我们俩人都负债几万块。现在看来几万块不算什么,但对当时的我们来说,几乎是天文数字。这段经历也没有跟家里说,怕他们担心。家里人以为我们还在规规矩矩上班,拿着不错的工资。

接下来的一段时间变得异常低迷。一方面是经济上的压力,每个月都要对付这几万块的负债,还有生活、房租支出,同时却没有收入;另一方面是对个人发展的迷茫。在全身心投入到这个网站的半年多时间里,它俨然已经是自己的孩子。看着它就这样夭折自己却无力回天,这种感觉着实不太好受。

中间有个小插曲。当时在本地最大的论坛里,有人发了个帖子说自己有5万块,想买房,请大家推荐地点。结果下面的回帖一致的在嘲笑楼主5万块还想买房。但我看到这个帖子的时候却在想,如果我能有5万块的话,那我肯定是世界上最幸福的人。

那段时间自己一直窝在房间里看电影,感觉要把世界上的电影全看完了。后来有一天突然觉得,这样下去不是办法,总得做点什么。起码,要有点收入,可以覆盖每个月的生活费和房租,确保自己的债务不再增加。

在分析完自己所有的技能和优势后,发现唯一适合做的可能就是帮人做个网站了。

第一笔收入

当时我的技能树:

  • 看过一些 html 和 css 教程,基本熟悉。
  • 看过我爱水煮鱼(感谢你们)的 WordPress 主题教程,大概了解,但没有实际经验。
  • 了解一点 php 语法。

带着如此的技术,用 Google 去搜索中文 “Wordpress 开发” “Wordpress 招聘”,很快找到了 Will(他之后也成了我们的同事)。我告诉他我可以做 Wordpress 开发,并且不收任何定金,开发完满意再付款。

就这样第一个项目来了,金额只有 300 元。对现在的我来说,可能只需要半天来完成。但当时自己看什么都一头雾水,更别说要亲自去写代码了。那几天自己几乎每天都在连续24小时工作,边 Google 边学习边练习边做任务,困了就在桌子上趴一会儿,因为我不能让对方发现我是个毫无经验的家伙。终于,在约定的时间交付了结果,并且对结果很满意。拿到 300 块收入的时候,很困很累却高兴的怎么也睡不着。

单枪匹马,收入迅速提升

以 300 元收入为开端,正式拉开了外包的序幕。当时我的目标是每个月收入够 1500 元,这样就可以确保我的负债不再增加。

利用搜索引擎继续在网上搜索类似的中文关键字,去寻找更多的项目。同时,将自己做过的每个项目都精心包装,作为案例。很快,月收入奔着万元去了。回头想想,那个时候接单的难度要比现在小的多,现在仿佛人人都是程序员,人人都可以接单,并且价格被拉的越来越低。另外,自己力求将做过的每个项目都整理好,让人看的舒服,让人感受到我在认真做事。

在享受欣喜的同时,给自己制定了新的目标:每个月存下 1W 元。如果月收入不够 1W,那就去想各种办法凑够并存起来;如果超过 1W,多出来的部分就去挥霍,尽情犒劳自己。这样 1 年以后自己就有 12W 可支配资金了。

可事实总会超出计划和预期。很快,要挥霍的部分就多于要存下来的部分了。于是不得不再次调整目标。

迅速提升的收入给我带来了更大的信心;几个月的辛苦奋战也让自己的技术水平有了很大提升;随着案例和客户的积累,项目也多的有点招架不住。于是开始考虑寻找帮手,组建团队。

组建团队,采取远程工作的方式

没有过任何招聘和管理经验,要迈出这一步还是有点不自信。该去哪里找人呢?该找什么样的人呢?该怎么介绍所做的事情和现状才能让人感兴趣呢?在后面的第2、第4篇里讲一讲这段招聘和团队建设的经历。

先说说远程工作的方式给我们带来的好处。虽然人数在不断增加,但我们一直在保持这种方式,并且从没打算设置一个固定的办公室把大家都圈过来;反而是越发体会到远程带来的优势。

  1. 自由: 这是团队里每个人都追求的生活状态。可以10点睡6点起,也可以2点睡10点起。可以周末连续上班,也可以出去玩 2 个星期抛开工作。
  2. 成本低: 省去了办公室租金,各种税费;可以将这些钱直接发给大家或者花在其他方面。
  3. 更容易招到合适的人: 无论将办公室设置在北上广,还是三线四线城市,显而易见的是我们的招聘都将变的困难的多,很难再聚集起这么多优秀的人才,即使花更高的成本。
  4. 时间利用率高: 浪费在地铁、公交车、堵车路上、写字楼电梯里的时间,现在可以拿来运动,或者工作。

增加新同事 -- 从哪里找到团队需要的人

Hi ychong, 不经意看到你的网站,很喜欢你的博客和作品,想问一下你目前工作是否忙? 是否有兴趣加入我们做 wordpress 开发工作? 我们的项目均来自国外,数量比较多。 我们目前需要高水平的前端和 wordpress 开发。 兼职全职都可以,有兴趣的话我们详谈。

这是几年前发给 YChong 的第一封邮件。现在看来内容很单薄,缺乏吸引力,但它却立刻奏效,为我们团队带来了 YChong 这位中坚力量。

DeepDevelop 诞生及现状

前期发展比较迅速,也很顺利。在招聘远程同事的过程中也没有遇到太多困难。我们就在疯狂的接单、写代码,没考虑到我们应该有个团队名字,应该有个官方网站。 每次都是通过邮件或者直接面对面向客户展示我们的案例;当然,我们会将案例整理的很有条理。当时效果也不错,因为客户多数都是案例导向的。

后来在 Jason 的推动下,我们定下了 DeepDevelop 这个名字,也有了自己的网站。Jason 当时在美国读金融,具备我们其他人所没有的视野和胸怀。他是我的大学校友,也是当年带我入坑,爱上 Palm(Treo650 还有人记得吗) 和 Thinkpad 的人。为了方便开拓美国的市场,我把他拉进了团队。

目前我们团队有 10 人,分别位于美国、英国、澳大利亚以及中国的9个城市。另外还有多名兼职合作伙伴分布在国内的多个城市。

小团队的招聘难题

我们有几个朋友的互联网公司分别位于北京、上海、厦门,他们无一例外的都面临着招聘难题。经常会联系我,要我帮忙介绍靠谱的人,或者将我们团队的人借调给他们用。

一方面,一线城市的互联网行业工资已经非常高,但同样的工资,大家更多的会选择成熟的大公司;另一方面,靠谱的人实在不够多,虽然号称会写程序的人很多。对于这个轻资产的行业来说,公司发展主要取决于团队实力。如果不能建设一支足够强大的团队,那可能只会得到一个“心比天高,命比纸薄”的结果。

在我的建议下,一些朋友已经开始招聘远程员工,而且取得了很不错的成果。根据我们的经验,小团队招聘远程员工要容易的多。主要三方面的原因:

  1. 很多靠谱的人已经厌倦了一线城市的拥挤生活,他们在逐渐走向更自由、更舒适的小地方。我所知道的最夸张的一个朋友,他上午种田,下午写代码。
  2. 拿一线城市的工资,生活在四线五线城市,对远程员工来说诱惑力很大。
  3. 远程工作很适合互联网行业,很多时候不但不会降低效率,反而会大幅提升。

从哪里寻找潜在的同事

在这几年里,我们尝试过很多途径。主要包括:

  1. 主动发现优秀的博客、Github主页,然后主动联系作者
  2. 朋友及现有同事介绍
  3. 相关社区发招聘帖
  4. 相关 QQ 群里发招聘信息

统计现有的全职及兼职同事共10几人,来源如下:

  1. 50%
  2. 25%
  3. 25%
  4. 0

这个统计结果与我们的发展过程是相符的。从团队建立至今,我们随时在各个网站留意潜在的同事。对于合适的人,即使今天不能加入我们,我们也要与他们保持联系。其次,随着团队成员的增加,大家可以提供的熟人圈子越来越大,介绍熟人加入的可能性也越来越大。再次,当某个阶段增长速度过快,前两种途径都无法满足需求的时候,则会主动去社区发帖。至于 QQ 群里发信息,曾经分好几次、发过几十个相关的群,收到过很多回复,可惜从没遇到合适的人。

如何发现优秀的博客和开源作品呢?这个问题没有唯一答案,很多时候靠的是缘分。比如,当看到有人在论坛里发了一篇有价值的帖子,当看到一个不错的开源项目,都可以去探究一下作者的信息。也可以直接在 Google 里搜索相关的关键词,来查找某些类型的个人网站。

招聘的时候,我们聊些什么

我们一直认为,这是一个单纯、善良、高效率的行业。面对这样一群单纯、善良、高效率的朋友,不需要花哨的辞藻或者过多的心机,只要做人靠谱、坦诚相待就足够了。

先说主动联系

我们会仔细的去查看潜在同事公开的各种信息。比如个人博客、微博、Twitter、社区里的发言,这些可以反映出这个人的性格、追求、生活习惯、当前状态等等;而开源项目、代码则可以看出他的技术水平。如果这些方面都合适,那我们会直接发邮件给他,附上我们的团队介绍。然后,无论是否成功,一般都会聊的不错。

实际上大多数信息都已经在聊天之前获取到了,所以我们更多的是进行深入的沟通,看双方是否适合。这些沟通可能不仅局限于工作本身,而是可以涉及到双方感兴趣的各方面,比如远程工作经验、对某个框架的看法。而对于公开信息比较少的人,我们首先会希望他提供足以说明自己水平的案例和代码。

再说收到简历。

我们不是专业HR,对邮件和简历的形式没有任何固定的要求。但至少我们希望信息有条理,而且包含以下内容:

  • 个人介绍和经历
  • 当前状态
  • 技能树
  • 以往案例
  • 其他有助于展示自己的链接

哪些行为会导致直接否定

上面提到 QQ 群里发的招聘信息效果不理想,实际上我们会收到至少几十条求职信息和简历,但从没有一次成功。列举几个原因:

  1. 不会写邮件和沟通。比如邮件没有标题,比如正文里只有一句话 “想加入,还要人吗”。
  2. 不在乎细节。比如提供的案例文件名是乱码;代码是临时抓过来的。
  3. 刚入门,没有经历和案例。

简单来说,我们看重人品和做事习惯多于看重技术。而很多细节都能反映出人品和习惯。只有靠谱的人才能组成靠谱的团队,才能做出靠谱的产品。

哪些习惯是最被欣赏的

首先是可靠性。简单来说,你总能在规定的时间内完成任务列表里的事项,而不是经常有意外、推脱、找理由;你做出来的产品总是很可靠,而不是bug一堆。道理很简单,但事实证明能做到的人并不是大多数。

其次是自主解决问题的能力。我曾经形容我们的一个同事是推土机,又像是一个封装好的万能的类。无论什么任务丢给他,无论有什么困难,他总能不声不响的按时把结果摆在大家面前。而不是像有些人一样,一直把问题丢回来,“这里看不懂” 、“这里没用过”。

幸运的是,我们团队里的每个成员都具备这些优秀的品质。这支团队是我们最大的财富。

曾经遇到过的坑

曾经有 X同学联系加入我们团队,从个人经历到案例到聊天,都很合适。在完成试用期的任务期间,非常非常努力,当时我认为努力程度超过团队其他任何人了。有不懂的东西会通宵学习;为了更快速的完成任务,每天晚上都做到很晚。当时我都看不下去,不断提醒他正常工作不应该是这样的状态,难以持续。但他很乐观,体力也很好,总是一副精神饱满的样子。

本来以为我们很幸运,又多了一位好同事;但是当最后检查结果的时候,傻眼了。各种难以理解的逻辑和实现方式,各种难以接受的bug。一个很简单的需求,计算 M 比 N 大多少,当其他人都用 M 减去 N 的时候,他会用 M 减去 S 再 减去 N 再加上 S;更难以接受的是他非常坚持自己的观点。当我们尝试过很多次沟通都无法取得任何进展的时候,不得不放弃。

很久以后,有一次团队人手不足,我再次尝试联系 X同学做一个不太难的任务,结果重蹈覆辙。最后我们不得不承认,有些人适合从事这个行业,但有些人不太适合。X同学的乐观和吃苦耐劳让我们很佩服,但毕竟我们是结果导向,是商业行为。自此以后,我们在寻找新同事的时候会更加谨慎。对于我们来说,过程很重要;但于客户来说,结果更重要。

收到客户的赞赏 -- 与客户共同成长和发展

i want to thank you for the great work you do pls tell your team that we are really happy with you guys i always appreciate your dedication. and the money part will be different in the future as a matter of fact.

一个德国客户跟我们说的一段话。听到这个评价的时候,除了欣喜,更多的是得到肯定之后的问心无愧。

客户从哪里来

经常在社区里看到很多人在问,怎样才能找到外包项目。这个问题恐怕我们也难以给出准确的答案。在我们的官方网站上有这样一段话:

We work with selected digital agencies and design teams who complement our development service. We only co-operate with long-term partners instead of dealing with single project.

2010 年,刚步入外包行列,主要通过搜索引擎来搜索别人发布的需求。经过初期的尝试之后,我们果断放弃了两种类型的项目:

  • 直接面向最终客户的项目
  • 国内的项目

直接面向最终客户的项目,意味着我们在前期需要协助客户明确需求,需要做大量的沟通工作;在开发完成后,还要面临客户无休止的修改,甚至有可能承担无法收回尾款的风险。而我们与这个客户通常又是第一次接触,互相不了解,这更是增加了很多难度。

国内的项目,或许是我们运气不好,或许是当时国内风气就是如此恶劣,大家普遍想花 1000 块钱做一个 20000 块钱的东西;做完之后,对方总想再改 20 次,不然会觉得这 1000 块钱花的不值。面对这样的要求,自己还不能抱怨,不然会被差评。

认识到这两个问题之后,我们马上将目光转向国外。首先去研究了著名的几个外包平台,比如 Elance,oDesk,我们认为这种方式同样不适合。无休止的投标会大量浪费时间,与印度人的竞争我们也明显处于劣势。

于是我们开始采取另一种方式:位于美国、澳大利亚、英国的三个同事,直接去联系本地的 digital agencies 和 design companies。通过邮件、电话、甚至面对面的方式,向他们介绍我们的团队,展示我们的案例。

与此同时,我们向所有客户承诺,在项目交付前不收取任何费用;直到项目完成并满意之后再付全款。这个承诺一方面来自于对自己团队的自信,另一方面也相当于给还在犹豫的客户注入一针强心剂。

终于,这条路走对了。我们与几家数字机构和设计机构达成了合作协议,他们负责与本地的最终客户沟通需求,完成设计,并形成需求文档;而我们只负责技术实现部分。由于合作关系都是长期的,彼此都很熟悉,文档也都很完善,因此几乎不需要额外的沟通成本,几乎是流水线操作。我们团队也不需要销售、客服等人员。

逐渐的,随着案例的增多和合作的进展,已有的客户也会给我们介绍新的客户。我们几乎没有再去开发新客户,依然保持不错的增长。

可靠;做别人做不到的

同样是文章开头提到的德国客户。当我们第一次与这家公司接触的时候,他们的一个经理说:“我们以前与很多团队合作过,有泰国的,印度的,中国的,美国的。可惜结果是没有一个团队最终让我们满意。我不会讲中文,但我知道你们中国人有一个词,叫做‘差不多’。最让我害怕的就是这个‘差不多’”。

事实是,经过一年多的合作,我们收获了文章开头的那段评价。我想,中国团队在他们那里的印象应该也得到扭转了吧?

可靠,道理很简单。但这几年与很多客户接触,与很多同行接触,与很多求职者接触,一路下来发现真正能做到可靠的人其实并不是很多。我们希望每个团队成员都做一个可靠的人,同时我们也努力的在客户面前塑造可靠的团队形象。对于承诺必须遵守,对于自己做出来的东西必须负责。

在这个程序员满天飞的时代,仅靠 “我会xxx语言而其他人都不会” 是难以成为核心竞争力的。

去年春节吃年夜饭的时候,手机收到了 Basecamp 发来的通知邮件,标题以 [urgency] 开头。原来是一个客户擅自动了网站的配置,导致出现异常。由于他们当天正在推广新产品,所以很紧急。

我回复邮件告诉我们的德国伙伴,现在是中国人一年里最重要的一顿饭,能否吃完饭再解决。

他回复我说,他也在中国生活过,知道春节的意义。但如果不能马上解决的话,他们会遭受很大的损失。

于是我将邮件转发给了 YChong,他当时负责这个项目。

接下来, YChong 离开饭桌,回到电脑前,半小时后问题成功解决。

还有一次,一家意大利的公司做一个很重要的网站,已经花了将近3个月的时间只做出了一个不能用的产品,而且他们已经无法继续做下去。当接到求助时,我们果断放弃他们原来的烂摊子,调集高手上阵,在2周的时间内做出了一个让他们非常满意的产品。

有人看到这些场景可能会嘲笑程序员要随时待命,最近在微博上我也经常看到大家发一些程序员在街边打开电脑解决问题的照片来调侃。实际上这不是工作的常态,一年里可能只会有三两次特殊情况,但就是因为可以处理好这少数的几次特殊情况,才会让自己与别人区别开来。

正是这些细节,以及处理紧急情况的能力,才会一次次巩固我们可靠的形象,才会成为我们的核心竞争力。才会让我们不需要销售人员,就能保持业务持续增长。

帮助客户共同成长和发展

我们的客户都是 digital agencies 或者 design companies。在长期与每个客户接触的过程中,会发现他们每个公司都有很多长处。比如 A 公司的文档写的特别好,B 公司的流程特别合理。我们从他们身上学到了许多东西,用来改进我们自身的不足。在吸收到这些优点的同时,我们会将它们有针对性的重新分发回每个客户那里,以帮助每个客户提升自己,比如协助 A 公司改进他们的流程,指导 B 公司写出更好的文档。

当其中一个客户在某个方向取得不错的突破时,我们会马上反馈给其他客户,协助他们来发展这个方向的业务。比如几年前一家美国客户率先做起了响应式设计,我们马上将它推广到了其他客户那里,他们都取得了非常好的成绩。

这其中并不涉及竞争和秘密泄露的问题。一方面这些客户分布在不同的国家和城市,另一方面所有的信息都经过了我们整理和过滤。

在协助客户提升和发展的同时,为我们自身也带来了极大的收益。客户的增长就代表着我们的增长,每家客户每个月都有可观的增长,汇集到我们这里就是更可观的数字了。

最大的财富 —— 打磨一支可靠的团队

信任和自由发挥

经常在社区里看到有人担心远程工作是否能保证效率和工作时间;在我向朋友们建议招聘远程员工的时候,他们同样会向我提出这样的疑问。经过几年的实践,我想说,我们从来都没有为这个问题担忧过;我们反而经常担心大家主动加班过多导致身体不好而采取很多措施促使大家多去运动。

在接受一个新朋友加入团队之前,我们会对他做尽量多的了解,包括人品和技术两方面。加入团队后,我们会有一小段试用期,通常是最初的 2,3 个新任务。在完成新任务的过程中,逐渐就可以认识到他的为人做事的习惯。一旦成功渡过这个试用期,我们将对他付出100%的信任。

所谓 100% 的信任,并不仅仅是相信他会努力工作,更重要的是让他可以自由发挥自己的特长和潜力。每个成员都可能是某个方面的专家;每个选择远程工作的人都有自己丰富的想法和追求。他们不是执行命令的机器人,不是言听计从的好下属,他们应该是可以独当一面的好伙伴。

我们开发了几个用于提高效率的工具,搭建了远程工作者的社区 一早一晚。无论哪个产品,我们都会在前期集体讨论,确定总体方向,确定由谁负责。之后,该负责人就可以尽情发挥了,可以采用他喜欢的编程语言和框架,可以使用他喜欢的界面和布局。这种自由发挥的方式,让每个人都可以将情感注入到自己开发的产品中,这样开发出来的产品自然是充满活力和激情的。

一旦团队里形成了这种氛围,就会形成良性循环,就会朝越来越好的方向发展。

个人成长和长期规划

每个新进入团队的同事,我都会跟他聊聊接下来 1 年、3 年的中长期规划。主要有两方面的原因:

  • 我们是一个长久的团队,希望每个同事都能长久相处,而不是短期路过。如果个人规划与我们的发展路线不符,比如只是短暂的来工作2个月,之后有别的打算,那我们是不会接受的。
  • 在团队发展的同时,我们希望每个成员都能收获自己想要的东西。了解每个人的规划,就能知道他想要什么,团队就可以根据他的需求进行一些针对性的调整。比如有人偏向于更高的收入,有人偏向于技术的积累,有人偏向于更自由。

对于老同事,我也会不定期与他们交流想法,因为现实不一定会完全按照计划来走,常常会发生变化。要及时捕捉到这些变化,及时调整对每个人的关注点,从而维持团队不断的凝聚和进步。

值得欣慰的是,从团队成立至今,我们没有一个全职的同事主动离开。

靠谱的人组成靠谱的团队

“靠谱”几乎是我们平时提到最多的词。我们对每个同事最基本的要求就是“靠谱”。它实际上反映的是一个人的性格和习惯,而不是某种技能。它不仅体现在我们所做的编程工作上,也体现在每个人的日常生活里。

我们的美女前端 Summer 刚加入团队时,做完的东西总会存在很多问题。那段时间我不得不每次亲自测试她的作品,每次都会严肃的跟她说,我又要给你找出 50 条 bug。每做完一个项目我们俩都会一起总结经验和教训,都会聊各种生活和工作上的“靠谱”行为。令人欣慰的是,3 个月后她就发生了翻天覆地的变化。现在 Summer 俨然已经是我们最棒的前端了。

每年一次长期旅行

我们从 2013 年开始增加了一项新计划:每年选一个地方,团队集体过去生活、工作 2-3 个月。

2014 年我们选的是位于山东半岛的海边小城威海。从百度百科可以了解一下这座城市。我在6月份的时候去那边物色合适的地方,最终选了山东大学威海校区校园内的一套房子。本来计划找一座独栋别墅的,但既方便吃住行,又方便出游的实在找不到,进出一般都需要开车才行。而选在校园内,可以享受学校的食堂和运动场;学校出门就是海边,环海路和海水浴场。选好地方后就开始置办大家所需的全部用品,包括全部办公家具。然后就是给大家订机票。6月底的时候大家陆续到来。

集体生活是很幸福的。早上人人睡到自然醒,中午一起吃饭,然后睡午觉,傍晚的时候一起去运动,比如去打羽毛球,去游泳,去跑步,甚至请了个私人教练带我们一起。有时候去看落日,看电影,去山里吃农家饭,去海边吃海鲜吃烧烤,凌晨开车跑到10公里外的地方等着看日出,结果遇到大雾。买了吊床没用上,野餐垫倒是经常用。去海边买刚捞上来的海鲜回来自己煮。

经过这种面对面的相处,大家互相更熟悉,感情更深厚。结束旅行回到各自的城市后,彼此间的沟通明显高效随意了很多。

明年 2015 年,杭州和泰国暂时位于我们的备选清单里。

收入和工作量

我们团队内部经常说,只有保证了经济基础,不需要为生活而奔波,才有美丽心情做出美丽产品。

我们一直采取“任务驱动”的分配方式。每个月做的项目、完成的任务越多,拿到的收入就越多。我们没有像其他团队一样用计算工时的方法来计算收入,而是根据项目和任务来计算。我们在接到一个新项目时,就会确定这个项目给客户的报价、项目由谁来管理、项目有哪几个人来完成、每个人具体怎样分工、每个人的工资。

根据所花工时来计算工资的方式更适合于创业团队,他们在开发自己的产品。而外包团队更适合我们这种方式,可以有效的减小各方的风险,同时提高效率。

这种方式也可以有效的提高大家的积极性。上面有提到过,我们从不需要担心团队里有人偷懒,只需要担心大家会不会工作时间过长,占用了正常生活和运动的时间。

在“任务驱动”的基础上,我们的全职同事也都有“最低收入保证”。“最低收入保证”的意思是,即使这个月什么都不做,也可以拿到这么多收入。

我们一直采取每 2 周发一次工资的方式,每个月的 15 号和 30 号。因为团队的现金流很健康,希望每个成员的现金流也很健康。

我们的“最低收入保证”一般是 ¥6000 起;大家的正常月收入一般在 ¥8000 - ¥25000 左右。

遭遇不靠谱的人

从事这个行业的人多数都是聪明人;这个行业里选择远程工作的,更是追求自由、想法丰富的一个群体。我们在享受每个人带来的聪明、高效、创意的同时,更要包容他们的某些缺点,以及由这些缺点带来的工作上的意外。只要不是原则性的问题,我们总会选择平静接受,并共同思考对策。面对这样的情况,团队或者项目的负责人就显得尤为重要。

当有同事负责的工作出现意外情况,我们会调集所有可用资源来解决问题,不让客户感受到任何风险和意外;虽然我们有可能会为此付出沉重代价,但没有什么比维护团队的可靠形象更重要的事情了。

我们也遭遇过不靠谱的人,而且是原则上的问题,是我们无法接受的。

同事A与我们共事2年之久,他可以算得上是团队的早期人物之一。他经验丰富,对团队和客户的习惯都非常了解;技术也不错,可以称得上全栈;他为团队的发展做出了不可否认的贡献,经他完成的项目也都会受到客户的好评。他很适合来担任项目管理者的角色。但在与他共事几个月之后,他第一次出现 “不稳定状态”,简单描述就是:无理由的要扔掉手上的项目,不想做了,求换人。因为项目工期比较赶,其他同事都在忙各自手上的任务,我们费了很大的周折才协调其他人完成了这个项目,同时也付出了不小的代价。这次不稳定事件之后我与他聊了很多,但仍然 100% 相信他,相信他只是意外。几个月之后,第二次“不稳定状态”再次出现,与上一次的症状完全相同。这次之后,我同样与他聊了很多,但放弃了让他做项目管理的念头,认为他缺乏基本的担当意识;而是希望他继续留在团队里,做一名普通踏实的程序员,以他的水平,可以保持不错的收入。但就在半年前,第三次不稳定状态再次出现;而在这前一天,团队刚送给他一台 ipad air 作为奖励。这次我没有与他说一个字,直接进入团队的各个系统里删除了他所有的账号。

提高效率 —— 规范、流程和工具

标准化作业

提到外包,经常会遭到一些人的鄙视,他们认为这是毫无技术含量的标准化重复劳动。给客户做一个网站,从自己的电脑里或者搜索引擎找一个模板改几下交差,不需要任何创造,然后收个 3,5 百块。

在我看来,这种想法是对标准化作业的严重误解。

客户想要一部独一无二符合自己气质的手机,我们不能直接去买一部小米,拿回来刷上迷彩色的油漆,交给客户就算交差;但也绝不能自己生产一颗CPU,一颗内存,一块屏幕,以及所有的零件,然后组装起来才叫做独一无二。我们应该手中握有一系列成熟的CPU、内存、屏幕和其他所有零件,以及一套自己研发的操作系统,以及对这些软硬件都了如指掌的优秀工程师。面对客户的需求,大家可以分工协作,迅速组装出一台可靠的手机,并在其基础上做一定的改进,使之完全符合需求。与此同时,不断满足一个一个客户需求的过程中,要不断的升级、补充自己的软硬件仓库。

http://hamburger-kammerspiele.de/ 这是我们去年为客户开发的一个网站。除去通过 API 同步数据的部分,它是个很小的项目,但具有独一无二的样式和简单易用、功能丰富的后台界面。除去 API 部分,这样一个网站需要多长时间来开发呢?答案是 4 天。其中前端 3 天,完成后交给后端;后端 0.5 天;完成后交给测试,测试和修改 0.5 天。

当团队初期只有我一个人时,主要给客户做普通的 Wordpress Theme 开发。当时 Theme 里的每个部分都需要自己来实现或者去搜索其他人的开源代码。一段时间以后,我将一个 Theme 可能用到的所有功能全部集中起来,每个功能都包含一个实现部分和一个配置部分。自此以后,做 Theme 的时候我只需要配置一下用到的功能就可以迅速完成。因为这些功能代码都是经过长期考验的,所以做出来的 Theme 几乎不需要担心有 bug。这就是我们团队的第一个框架雏形。

后来我们完全重写了一个 Framework,就是文章开头提到的 SoonerPress。它的核心理念就是 configuration。它包含了几乎所有功能,让开发速度快到难以置信;由于整个框架和所有功能都是经过大量客户和项目验证过的,开发出来的产品几乎很少有 bug。同时,我们会不断的根据发展和实际需求去更新、补充它,确保它总是最具生命力。

除此之外,我们在 PHP 开发、前端开发、App 开发等方面都积累了一整套标准化的工具,使得大中小型项目的开发效率和可靠性都大大提高。

总结一下我们团队的标准化作业:将智慧和创新性的工作放在打磨、积累零件上,然后用最短的时间最高的效率为客户生产出可靠的产品。

用书面文档取代口头传授

我们有一个 wiki 知识库。里面包含团队介绍,团队协作及工作习惯,编码规范,测试规范,开发工具等内容。

知识库的内容使用 Markdown 编写,使用 Git 做版本管理,所有成员均可编辑。

在平时的工作中,我们会随时将新知识或者新工具补充更新到知识库中。当有新同事加入的时候,我们只需要将这个知识库展示给他,而不需要浪费人力和时间来培训。

最近我们开源了这个 wiki 工具:DeepWiki- 基于 Markdown 的 Wiki 工具

与客户之间的沟通

对于我们这样的团队来说,与客户的沟通重在两方面:

一是降低成本。 这里所谓的降低成本是降低沟通成本。降低沟通成本最有效的方式就是标准化,将沟通过程标准化。对于一个新项目来说,从第一次接触,到最终完工验收通过,总共有哪些环节要沟通,我们可以将其形成一个标准化的流程,客户只需要 "Config"。

二是明确需求。 在达成协议并开工之前,务必要确保项目负责人已经完全明确每个细节的需求。我们在这方面吃过很多次亏。这个阶段的大意很可能意味着开发过程中要为自己的大意付出惨痛代价,而这部分代价必须自己买单,客户不会再多掏一分钱。一旦明确,需要尽可能将所有需求都以详细的书面形式呈现;以后客户如果要做任何修改,我们会将修改组织成新的版本,并对版本升级单独收费。

由于我们现在只跟固定的 digital agencies 和 design companies 合作,大大降低了与客户之间的沟通成本,也更容易明确每个项目的需求。

除了以上两点,还有三个细节:

一是需求文档。刚开始的时候,有的客户并不知道如何写出一份好用的需求文档,这会给后面的开发带来很大的麻烦。于是我们采取措施来解决这个问题,其中最简单的方法就是为他们提供优秀的文档做参考。这是件一劳永逸的事情,一旦每个客户都能够写出好用的文档了,沟通成本更是可以降到最低。我们开发的一个专门用来写文档的工具 DevelopSpec 很快就会上线,希望能给大家带来方便。下面图中是我们正在进行的一个项目的文档目录,可以看出层次分明,逻辑清晰。

二是付款周期。现在我们几乎没有坏账的风险,也没有催款的烦恼。我们与每个客户都采取按月结算的方式,每个月底付清当月已完成项目的费用。规模较小的项目一次付清,规模较大的项目会分成 2-3 个阶段。这种方式给我们带来健康的现金流,可以将精力全部用于产品开发上。

三是尽量用文字而不是语音。在没有特殊情况的时候,我们尽量用 Email 和 Basecamp 做所有沟通。这样做的主要目的是确保所有的沟通都有据可查。如果事后某方对自己此前的说法不承认,Gmail 的强大搜索功能立刻就能派上用场。其次,异步沟通也能提高效率,避免反复被打断。

同事间的沟通

同事间的沟通最重要的是协调好异步沟通和实时聊天的关系。当我们一起探讨某个产品时,我们会在 Hipchat 的 某个 Room 里进行实时聊天。而在具体做某个项目的过程中,我们会尽量避免直接聊天,有什么问题都会通过 Basecamp 进行。这样可以确保大家有充分的自由和更高的效率,无论是在工作还是在买菜,不想被打断的时候可以尽情选择推迟处理。

另外,在第二篇文章里有提到过,每年一次的长时间共同出游给同事间的沟通带来了很大的好处。大家不再陌生也不再客气,可以很好的把握屏幕后面那个正在与自己聊天的人的性格和喜好。

合理安排,减少加班

身处这个行业,完全不加班好像很难做到。除了尽量确保分发给每个人的任务都在合理范围之内,我们会从以下两方面增加每个人的自由度:

一是提前知道每个同事的动向,合理分配项目和任务。比如某个同事计划一周后请假出游2个星期,我们会尽量确保他在2周内可以完成手上的工作,出游的 2 周不被打扰。

二是尽量不在周末谈工作。我们没有严格的工作日和周末之分,有的同事习惯周末工作,因为外面太闹;而有的同事习惯周末出门,因为其他上班的朋友只有周末才有空闲,可以聚会见面。通常后者居多。我们的 Basecamp、Hipchat、Email 通常会在周末的时候陷入沉默。如果手上有任务的话可以继续做,但通常不会有彼此间的打扰。

一些工具

我们平时用到的协作工具主要有:

Basecamp,Email,Hipchat,Bitbucket,DeepDeploy,DeepWiki

孤独?颈椎病?鼠标手? —— 花更多的时间关注健康

身体

身体健康问题应该不是远程工作者的专利。我有一个做医生的同学,我将她请来做我们团队的远程随队医生。她说,你们这些职业病都是懒病。

今年夏天在威海的 2 个月时间里,我们的主题之一就是运动。之前整个团队里没有一个人有规律锻炼的习惯,这个现实让人难以接受。我们去跑步,游泳,打羽毛球,健身。多数人开始的时候连跑 500 米都有困难,但最后竟然能一次完成 10 公里。有个同事之前每个月都要规律的感冒发烧一次,但在这里他竟然把这个习惯给忘了。

大家体会到运动带来的好处之后,各自回到自己的城市,也可以一定程度的坚持下去。但很明显坚持的还不够,这也是我认为目前团队里存在的重要问题之一。我们正在针对这个问题想办法。

我在一早一晚社区里发了个帖子,总结了自己的 日常运动计划。长期规律的锻炼给我自己带来了很大的改变,这些改变又转化为继续锻炼的内在动力。

根据自己的经历,我建议想要养成规律运动的同学去离自己最近的健身房请一个好的教练。让教练带自己连续运动 2-3 个月。一方面,会准确掌握锻炼的知识和技巧;另一方面,2-3 个月的时间足以让自己发生很大的变化,这种变化会变成内在的动力,驱使自己继续下去。

等有一天你发现自己浑身舒坦,线条完美,曾经从不正眼看你的女神现在也对着你的身材忍不住流口水的时候,恭喜你,你应该不会再被程序员职业病所困扰了。

环境

选择远程工作,为自己准备一个舒适的工作环境应该是很重要的基础工作。如果准备得当,既能提高工作效率,又能保护身体健康。

我们在社区里交流工作环境,交流舒适的椅子,希望更多的朋友参与进来,提供建设性的参考意见。

心情

看到很多人担心全职远程工作之后社交圈子是不是会突然变小,与人沟通的能力是不是会突然下降。根据我们这几年的经验,我想说,多虑了。

社交圈子的大小,与人沟通能力的高低,更多的应该取决于自身的性格。远程工作也只是份工作,它不可能占据 24 小时的时间;相反,它能给人提供更多的自由。在工作的时间内,可以结实很多志同道合的朋友,无论他是不是跟自己在同一个城市或者同一个国家;由于这些朋友的生活环境与自己可能有很大差异,反而能给自己带来更丰富的信息和灵感。在工作时间之外,可以自由的经营自己的生活和爱好,无论是否与自己工作相关的团体、组织、活动,都可以自由参与,而不用担心今天是否必须要上班,是否会被扣工资。

接下来会怎样? —— 面临的问题及后续的计划

作为一支远程工作圈子里的老兵团队,一路走来我们逢山开路遇水架桥,解决了很多困难。但依然有很多难题在困扰我们。

可持续增长

虽然每个月都在增长,但我们一直无法摆脱强烈的危机感。以外包为核心业务的模式常常让我们缺少主动权。我们一直在尝试做一些小工具,这些工具都来自于日常工作中遇到的需求。希望有一天我们可以在多年积累的基础上,做出更有价值的产品,提供更有价值的服务。

招聘和求职

随着业务量的增长及业务难度的增加,我们对人才的渴求也越来越强烈。虽然有过许多经验,但前面提到的三种有效途径已经逐渐无法满足需求。

受我们影响,开始招聘远程员工的朋友公司虽然暂时缓解了燃眉之急,找到了几个合适的人,但面对急剧增长的业务,也依然有点心急如焚。

一边是我们找人困难,另一边是经常在各个社区里看到不少人在寻找远程职位而没有结果,只可惜他们多数人的技能树与我们的需求不符。

招聘与求职双方的信息不对称,似乎是因为缺乏一个有效的沟通平台。它不应该是个简单的论坛,也不应该是冷冰冰的智联招聘。它到底应该是什么样子?我们一直在思考。

周围人的看法

总会有很多人不太理解这种工作方式,尤其是自己的父母。如果在工作的同时要面临周围人的压力和奇怪的目光,那实在难以舒坦,难以享受到远程工作带来的乐趣和自由。

目前来看,能有效缓解这个困局的途径有两条。一是确保自己过得好,不断成长,不断收获自己想要的东西,只有这样周围的人才能放心;二是推动“远程工作”这个概念走向大众,就像当年巨头们推动“团购”一样。

我们要做的

回到国内来

前几年的经历促使我们“走出去”;最近的一些经历吸引我们“走回来”。最近几年可以明显感受到国内的互联网行业突飞猛进的发展,一批优秀的公司和团队迅速成长起来,一出生就带着十足的“国际范儿”又不失“中国地气儿”。我们如果不赶快回到这片热土上来,很可能将是最大的损失。

一位做游戏的朋友在看过这篇文章的初稿之后,严肃的说,如果国内有像你们这样的外包团队,我们愿意付2倍价格。

就在昨天发完文章前半部分的10个小时之后,我们已经收到了数十位朋友的邮件,其中包括探讨、合作和简历相关的内容。

过去几年的经历为我们团队塑造了优秀的性格和习惯;回到国内来,无论是继续做外包,还是做更有价值的产品,有理由相信我们会继续披荆斩棘,保持高速增长。

推动远程工作的普及

远程工作者在国内还只是一个很小的群体。但在愈演愈烈的互联网大潮中,我们相信有越来越多的个人和团队会加入到我们这个行列中来。在继续发展核心业务,扩充团队的同时,我们希望能为推动国内的远程工作发展尽绵薄之力。这就像我们一直在协助我们的客户共同发展一样,大家都发展了,我们自然也会收获更多。

一早一晚 是我们迈出的第一步,虽然它还只是个雏形。希望有同样爱好和需求的朋友加入到社区中来,一起推动远程工作的普及,同时也享受社区带来的优秀员工、优秀团队、优秀项目。

从 300 万到 1000 万,DeepDevelop 外包业务第二阶段总结

这几个月的数据变化:

2014 年

团队成员:10人 分布地:4个国家,9个城市 年收入:¥300W

2015 年

团队成员:15人 分布地:1个国家,9个城市 年收入:¥1000W

从数据可以看出,我们将目光聚焦到国内,人均创造的产出有了比较大的提升。实际上我们用几个月的时间重新调整了定位,先来说说这段过程。

发展的困境

从 2010 年单枪匹马开始外包生涯,到 2014 年团队达到 10 人规模并有几家长期合作的客户,这个过程中无时无刻不被危机感包围。

最初担心的是个人生计问题。当时对外包市场一无所知,自己的技术能力也非常有限,只能像无头的苍蝇一样去尝试各种渠道寻找自己可以做的事情。对于每个月是否能赚到几千块钱养活自己这件事情并没有十足的把握。直到与第一家客户建立较稳定的合作关系之后,来自生存的压力才得到缓解。

团队有了 2,3 个人的时候,担心的是是否可以把我们这几个人养活好。那时候虽然已经有了比较固定的项目来源,但并不是很稳定,可能某个月的项目多到做不过来,也可能某个月的项目收入刚够所有人的工资。当时自己的经济能力也比较弱,抗风险能力几乎为零,每增加一名新同事的时候都很谨慎,都要确保每个月的现金流为正。

到 2014 年的时候,我们从 7,8 个人逐渐增加到 10 个人。这时候最大的危机感来自增长和发展。简单来说,如果上个月的收入是 20 万,这个月的收入还是 20 万,那这就意味着退步。团队里每个人都在不断成长,大家的技术水平在提高,做事习惯在改进,协作流程在完善,个人追求也在提升,但团队收入却没有增长或者增长的速度赶不上大家成长的速度,这种压力比解决个人生计的压力来的更大更猛烈。

在原有的方向上下了一番功夫之后,局面并没有很大改观。从 2014 年开始每开拓一家新的客户都变的更加困难,毕竟我们大部分同事都在国内;如果在国外不设立办公室并做好运营的话,很难实现规模和价格的突破。同时,欧洲和澳洲的经济形势并不乐观,我们一直在努力协助推动现有客户的业务增长,但他们似乎无能为力,业务量很难有跳跃式的增长。相比国内的如火如荼,欧洲和澳洲的这些公司安静的像只树懒。

与扩大规模相比,我们其实更希望在模式升级上有所突破。虽然我们一直很注重团队建设和流程建设,努力做一家“不一样”的外包公司,但从每个人创造的价值来说依然很初级,带有浓重的体力劳动色彩。心里会告诉自己要一步一步来,但这已经成为最迫切的任务。

尝试改变

想来想去,我们有两条路可以走。第一,做自己的产品,就像 Basecamp 一样;第二,提供更专业的付费服务,就像 Thoughtbot 那样。无论哪个方向,对我们而言都是很大的挑战,挑战主要来自当时团队的整体水平。挑战归挑战,结论还是要在实践中得出来,于是马上着手行动。

当我们试着做了几个简单的产品之后,意识到这不是适合我们走的路。当时团队里几乎全部是程序员,没有懂其他行业的人,也没有优秀的产品和视觉设计师。这样一帮人聚集在一起,只能做出给程序员用的产品。但是做这类产品我们没有任何优势,无论是在产品还是在技术或者在推广方面,都很难找到胜出的理由。

与此同时,得益于前几年的口碑积累,逐渐有一些独立的创业项目找上门来。在前面几年我们对这种独立的项目通常都是拒绝的态度,那时候认为只有标准化才能降低沟通和开发的成本。我们与设计公司建立稳定长期的合作关系,同时也建立标准化的工作流程,由此来降低双方的成本。而这些独立的项目与“标准化”是相悖的,背后的团队形形色色,产品本身也遍布各个行业包含各种不同特征。但现在我们决定试一试,最直接的出发点是他们愿意付更多的钱。

与多个项目沟通之后,我们挑选了一家英国的创业公司,因为他们沟通顺畅,对项目理解清晰,做事讲规则。他们的项目是关于艺术品交易的。我们为这个项目单独调整了服务的流程和心态,尝试以创业者的身份与客户站在一起思考,努力参与到项目的多个环节里,而不仅仅是对照文档写代码。经过 2 个多月的努力,这个项目顺利上线。现在回头看,虽然当时所谓的“调整流程”只是微调,而且是边走边摸索,没有系统化的知识来指引,但已经让客户产生了亲人般的感觉,得到了他们期望的服务和结果。

这次合作下来,并没有被我们担心的那些问题所困扰;反而更体会到深度参与的乐趣和发挥更大价值的成就感。从这个项目开始,我们的人均产出有了一次大幅提升。当时突然觉得这或许会是个不错的新方向,但这个新方向到底会带来多少变化,心里并没有底。

新机会

就在第一阶段的总结文章发出来之后,一位很优秀的大学同学联系到我,希望一起来做一个服务于投资人和创业者的项目。她的为人、资源以及项目本身都对我有很大的说服力,我们在深圳一起吃了一顿饭就把事情定下了。于是接下来我在一边发展 DeepDevelop 的同时,一边将一部分精力投入到了这家新公司里面。在此之前,我对国内互联网创业的圈子、对投资领域的了解很少。随着接触的投资人、创业者、创业项目越来越多,对这个领域理解的越来越深入,越发意识到国内外包行业的混乱无序,一大批有理想、有资源、有资金的创业者对专业的产品和技术服务的渴求。

很快,新的圈子给 DeepDevelop 带来了新的项目。2014 年底我们连续为 3 家国内的创业公司提供了产品和技术服务,帮助他们把产品从 0 到 1 做出来并上线开始运营。在每个项目的实施过程中虽然偶尔有磕磕绊绊发生,但整体都很顺利。此时,我们的视角也随之发生了变化,不再盯着本月收入 5 万还是 50 万,而是尝试站在更高的层面去理解这个几百亿规模的市场。

我们决定调整定位,专注于为优秀的中小型公司以及初创项目服务。

做出这个决定之后,并没有马上站出来宣布,因为还有两件重要的事情要先做好。

第一件事是给现有的国外的这些客户一段缓冲期,协助他们找到新的合作伙伴并顺利交接,保证他们的业务不受影响。同时也再次跟他们说明,凡是我们做过的项目,将来有任何问题都我们都继续负责。

第二件事是重构团队。更专业的服务需要更专业的团队来支撑,我们的氛围和流程很好,但一部分同事的基础和成长速度不能满足新业务的需求。我们要有优秀的新鲜血液加入,同时要为原有的部分同事提供理想的归宿。

重构团队

DeepDevelop 是从我一个人、从最简单的网站开发起步(在第一阶段的总结中介绍了当时团队的情况)。虽然没有停止过更新团队的步伐,确保团队的整体水平一直在稳步上升,但是我们想做的更好,在团队方面需要一次变革。

首先需要下手的就是我自己:当初自学了前端、后端开发,并且实际运用了 3 年;对移动开发、运维等方面也有涉猎;在过去的几年里一直在主导 DeepDevelop 的团队和流程建设。由于这两年我大部分精力都放在团队和业务方面而很少再写代码,现在我已经是整个团队里技术水平最差的人。我的技术缺陷已经成为团队的绊脚石,或者说无法为团队的飞跃式发展提供帮助。我们决定为每一个环节各引入一位技术精湛、经验丰富的核心成员,包括产品和视觉设计、Web 开发、App 开发、测试、运维。这几位核心成员负责各自环节的建设,他们也是持有公司股份的合伙人。

其次需要更新的是一部分像我一样技术水平无法满足团队成长需求,或者技术栈不符合我们后续需求的同事。客观来说,他们的水平并不低,全中国的互联网公司都在被招人的难题困扰,尤其是成千上万的创业小公司,他们去找一份开发工作应该是很简单的。但我们希望可以给这部分同甘共苦一路走过来的同事一个更好的选择,于是将我们原有的国外的客户交到他们各自的手上,由他们去自立门户,努力经营下去。同时,希望他们继续留在 DeepDevelop 的圈子里,跟大家一起交流成长。


做好初步的准备之后,借助于越来越多的投资和创业领域的资源,我们开始增加项目的数量。目前每个月过来的项目在 5-10 个之间,我们会从中选出 2-3 个为他们提供服务。在做好进一步的发展准备之前,会将数量控制在这个水平并保持稳定。趁着稳定,再来说说招聘和客户这两个核心的话题。

让招聘自然发生

—— 周,帮我女朋友开个收入证明,我要买房了,后天去签约 —— 好啊,收入证明是小事。考虑一下加入我们?现在时机已成熟 —— 先给了收入证明再说 —— 来我们电话聊聊 …… 20 分钟后 —— 周,刚跟我爸妈还有女朋友说了不买房了,跟销售说不去签约了,等下去跟老大谈谈离职

这是 L 同学加入我们的过程,只用了不到半个小时,更改了买房计划,放弃了一线公司的无息贷款、股票以及即将到来的升职。

许多互联网公司在招聘的时候会写出一个长长的列表,可以给员工提供各种各样的福利,比如期权、大屏幕、零食、椅子、宠物、旅游。DeepDevelop 从招聘第一位新同事的时候就开始思考这个问题,我们想要的那些人才,他们到底想要什么。作为一个以外包为主业的公司,我们没有激动人心的故事可以讲,也没有取之不尽的钱可以烧,在这种情况下想要吸引到比平均水平更优秀的人才,自然需要更独特的东西。久而久之,这些东西已经变成了团队性格。

自由和认同感

在 DeepDevelop 每个人都是自由的,无论是时间上还是空间上还是精神上。我们一直是远程工作的倡导者,现在同事们仍然分布在国内多个城市。我们在北京和深圳各有了一个办公室,但没有规定大家几点来上班或者哪天来上班,更多的是为了给大家提供一个交流的场所和见客户的会议室。互联网产品和技术的工作特性决定了不需要必须时刻坐在一起,而且越是优秀的人才通常都是个性越鲜明的,他们不应该被束缚,不应该把时间浪费在地铁上或者拥堵的环路上。

我们以星期为单位来分配任务设置节点,只要在这个星期内完成了任务就可以。周一女朋友过生日下午要带她去扫货,周三身子不大舒服想睡到中午 12 点,周五看中这家书店的环境想在这里写一天代码不去办公室,周日没事干打了鸡血把接下来一周的任务都完成了……这些在我们看来都不奇怪,女朋友确实比工作更重要,在身心愉悦的时候确实比满脑子糨糊的时候工作效率更高。实际上大家并不会有那么多特殊情况,多数时候都会在工作时间保持在线。

自由也包括施展拳脚的自由。我们不希望把时间都花费在客户的项目上,鼓励大家每个星期都要有一定时间参与到团队和流程的建设上,或者贡献项目外的开源代码,或者输出知识积累。

与自由相伴的是认同感。这种生活和工作方式并不适合所有人,凡是被吸引的一定是认同这种方式,认同我们正在提供的服务和创造的价值,认同我们的同事,认同我们的客户和他们的项目。这些认同会带来成就感和责任感,是可以享受这种自由工作方式的前提。

可观的收入,并且没有天花板

自由的生活也需要足够的收入来做支撑。在当前全民创业的大潮下,真正有干货的人才从来不需要为自己的收入担心,他们甚至不会出现在招聘网站上。形形色色的创业公司们开出的价格一个比一个高。坦白说在比拼月工资方面我们没有特别突出的优势,但可以确保不低于平均水平,确保每位同事都能过的自在。在此基础上,我们在努力做好两方面的建设:

  1. 让更多的人持有股份。没有期权的激励措施,优秀的同事获得的都是公司的股权,每年一次参与分红。
  2. 简单高效的成长和奖励机制。每个人都有机会获得项目的收入分成,做的越好分的越多。

与优秀的人共事并成长

但凡有过在公司或者其他群体里生活工作经历的人都知道与优秀的人相处和共事是多么美妙的体验。一方面可以大大节省自己的时间和精力,另一方面可以让自己在潜移默化中变的更好。我们精挑细选每一个同事,不仅仅是为了技术或业务的发展,更是为了营造优秀的氛围,让每个人都沉浸在这种氛围中,都有条件变得更优秀。

受益于这种与众不同的性格,DeepDevelop 在招人方面是很幸运的,几乎不会为招聘发愁,也很少需要公开发布招聘信息。我们每个星期都会收到几封邮件,除了个别毫无营养的之外,这些邮件都会得到认真的回复并希望引发更多探讨。它们并不都是简历,其中一大部分是关于远程工作、外包行业、技术学习等方面的探讨。在每次聊完之后,我们都会将有价值的人才信息以及沟通记录整理到一个 Trello Board 上并合理分类。逐渐的这个 Board 已经成为我们的人才库。当发展到某个阶段,对某一类人才有需求时,就会在这个 Board 里的某个位置上将潜在的同事找出来并与他取得联系。

客户愿意为信任和专业买单

谈到外包的收费,很多人会用诸如 15000/人/月 x 3人 x 3月 的方式来计算。对于我们所服务的客户和项目类型来说,这种计算方式是非常不合理的,就像把一台 iPhone 拆解开,所有零件的价格加起来是 1150 元然后由此给 iPhone 定价一样。iPhone 不是一堆零件的简单组合,DeepDevelop 提供的服务也不是几个机械式的程序员拼凑机械式的代码。

一个完整的产品应该是在一套科学的、连贯的流程下逐步诞生的,应该是具备自己鲜明的特征和统一性格的。同时,作为这个产品的主人或者缔造者,应该熟知它的每个细节和诞生的过程,确切知道哪些部位非常可靠哪些部位尚有待改进。只靠一堆零件生产不出下一代 iPhone,只有几个临时的程序员也不可能开发出具备这些特征的产品。

每个项目开始之前,我们并不会跟客户要需求文档这类的东西,而是希望跟他们进行一次长谈,由他们来讲讲这个项目的故事,团队的故事。我们的产品负责人和技术负责人都会参与到这次长谈中,确保大家都能深入的理解项目,甚至对项目和团队产生认同感。之后,才会由我们的产品负责人来梳理这个项目,协助客户一起将其形成一个合理的产品,然后继续推进到后续的环节。同时,我们会将产品背后的故事整理下来,确保后续参与进来的每个人都知道这个项目和团队的背景,可以从更深层次把握产品的特点和走向。

由于我们服务的项目大多数与互联网以外的行业结合的比较紧密,客户也多数来自其他行业,很多时候他们无法把握产品的发展步骤,经常发散思维。我们在协助梳理产品的过程中,为需求分级就成了一项重要的工作。每个阶段只开发当前一级的需求并逐步上线,由此帮助客户将时间和金钱成本降到最低,从而降低风险。

在产品和技术层面,我们在每个环节都会与客户进行专业化的探讨,甚至引入第三方的朋友一起参与,不把客户当傻瓜,也不把自己当权威。下面这张图是我们的设计师与客户探讨网站导航位置时给出的解释:

谈到一个项目需求的时候,通常大家都会谈它应该长什么样子、运行在哪个平台上、具备哪些功能给用户用,很少有人会关注运营后台应该长什么样子、具备哪些功能、如何才能让负责运营的人用起来更顺手。但运营后台在我们看来是非常重要的一个组成部分,除了保证美观之外,我们会花很大力气进行体验和功能上的设计和优化。

代码方面,每位开发的同事都会严格遵守我们的规范;每个人的代码确保至少经过一个人的审查。

每个项目我们都会以星期为单位制定开发计划和交付计划,通常每个项目的每个阶段会拆解分配到到 8 - 12 个星期里。每个星期一给客户交付上一星期的工作结果,探讨遇到的问题。通过这种方式确保客户随时知晓项目的进展和质量,而不至于 3 个月后突然冒出一句 “我们要延期了” 或者 “质量太差用不下去了”。

部分客户在项目上线后并不能组建好自己的技术团队,我们会有一位负责运维的同事一直协助他们保证线上产品正常运转;同时开发团队会负责已有功能的维护,发现 bug 要立即响应并修复。

我们正在计划尝试建立一套评价体系,客户在每个节点给产品和服务作出评价,评价结果将关系到产品和技术团队成员的收入和晋升。

为了确保每个同事都愉悦工作,创造最大价值,保证利润合理,我们会本着“宁缺毋滥”的态度筛选项目。总结下来我们的目标服务对象通常具备这样几个特点:

  1. 团队逻辑清晰,对互联网产品有较清醒的认识
  2. 沟通顺畅
  3. 通常是资源驱动型或者运营驱动型项目
  4. 每个阶段可以在 8-12 个星期内完成

与资源驱动或者运营驱动相对应的是产品驱动或者技术驱动。产品驱动,比如一个更好用的社交产品,一个更好用的书签产品,这个类型的项目通常需要大量的细节打磨和迭代,并不太适合由外部的团队来实施产品的设计和开发;而且这个类型的项目通常都是没有多少预算的。技术驱动,比如与硬件相关的项目,或者涉及到某个领域的专业技术比如图像识别语音识别,这种类型的项目更适合找领域内的专家。最终留下的是资源驱动或者运营驱动型,这种类型的项目创始人通常都具备不错的资源来支撑这个产品,产品本身更多的是为资源和运营服务的。


从 300 到 300 万花了4年,从 300 万到 1000 万花了 8 个月,下一个数字会是多少、需要多长时间?随着对这个行业的认识、资源的积累以及对服务深度的挖掘和广度的开拓,我们的焦点已经不在数字本身。

品牌和标准

所有找过付费外包服务的人或许都经历过这样煎熬的过程:面对遍布网上的个人、团队、公司不知道该选哪一个;小心翼翼选中一个之后,不知道该按什么标准付费;付费之后不知道该按照什么流程推进和验收;到了截止日期不知道对方到底会给自己什么样的结果。

在整个国内市场上,目前还没有一个具备足够知名度和号召力的专为小型团队和项目提供产品和技术解决方案的品牌。伴随品牌缺失的是标准。面对鱼龙混杂的现状,别说局外人了,就算是我们这些局内人都很难在短时间内判断一个团队或个人是否靠谱,以至于在互联网圈子里,“外包” 与 “低端” 画上了等号,很多人在找工作的时候要刻意避开这样的公司。

与此同时,这个行业内存在着一小部分很优秀的团队和个人,他们有能力有追求,但缺少系统性的指引,常常为如何建设团队、如何降低成本、如何高效协作、如何寻找客户而烦恼。

我们希望能改变这种现状,吸引更多更优秀的人才加入我们,不断提升专业度的同时,将我们实践得来的高效流程和标准公开给大家参考,希望越来越多的从业者一起来优化这套流程和标准,从而影响更多服务需求方和供应方,让这个行业更有序和规范。在这个过程中,让越来越多的人认识 DeepDevelop。

参考资料

在本篇,我将会向你介绍一些你在远程工作过程中,可能会用到的、可能会需要的书籍、网站、播客,帮助你精进自己的远程工作之旅。

推荐书籍

重来 2

作者: 戴维·海涅迈尔·汉森(DHH)

豆瓣评分:7.3

豆瓣地址:https://book.douban.com/subject/25861795/

评语

重来 2 介绍并讲述了为什么我们需要远程工作,以及,我们应该如何开始我们的远程工作,对于初入远程工作的新手来说,这本书十分有帮助。

游牧东京

作者:[日] 米田智彦

豆瓣评分:6.6

豆瓣地址:https://book.douban.com/subject/26671488/

评语

游牧东京相比于重来,更加具备东亚生态下的习惯和文化,对于初入远程工作的人来说,颇具借鉴意义。

自由职业设计师工作手册

作者:[英] 凯茜·菲谢尔

豆瓣评分:7.9

豆瓣地址:https://book.douban.com/subject/5364376/

评语

自由职业设计师工作手册所涵盖的内容更多在与“自由职业”,你可以通过这本书的阅读,了解到更多自由职业者的工作。当然,自由职业者距离远程工作并不远。

零工经济:推动社会变革的引擎

作者:Diane Mulcahy

豆瓣评分:7.4

豆瓣地址:https://book.douban.com/subject/27198025/

自流量生活

作者:斯科特·福克斯(Scott Fox)

豆瓣评分: 6.1

豆瓣地址:https://book.douban.com/subject/30310711/

推荐播客

除了文字,你也可以通过一些音频节目,获取来自世界上不同地区、国家的远程工作者的信息,以下是我为你精选出来的 Podcast

需要注意的是,以下播客均为英文播客

Digital Nomad Cafe Podcast

Digital Nomad Cafe Podcast 是一个主要由数字游民担任主播的播客。众所周知,由于数字游民不为地理位置所束缚,因此其工作范围、工作场所往往不固定,远程工作也成为必然的选择,在数字游民圈子中,绝大多数人都选择以远程工作的方式来完成自己要做的事情。

地址:https://digitalnomadcafe.com/podcast

RSS:https://feed.pippa.io/public/shows/5b1810bb1d1f7cfc53070f83

21st Century Work Life and leading remote teams

RSS:http://wlpodcast.libsyn.com/rss

网站:: https://www.virtualnotdistant.com/podcasts

Remote Work Movement Podcast

RSS:https://feed.pod.co/remote-work-movement-podcast

Freelance

网站:http://folyo.me/freelance-podcast/

RSS:https://feeds.transistor.fm/one-thing-help-people-make-more-progress-by-giving-them-less-choices

Remote Work Life Podcast

网站:https://remoteworklife.libsyn.com/

RSS:https://remoteworklife.libsyn.com/rss

Glolent Podcast - Freelancing and Remote Work in Practice

网站:https://www.glolent.com/podcast

RSS:https://glolent.libsyn.com/rss

The Remote Show

网站:https://weworkremotely.com/

RSS:https://feeds.simplecast.com/CdrutlAN

Inside Remote

网站:https://www.insideremote.io/

RSS:https://feeds.simplecast.com/8umYV7CD

Remote Work Podcast

网站:https://www.remoteworkpodcast.com/

RSS:https://www.remoteworkpodcast.com/podcast?format=rss

The Yonder Podcast

网站:https://www.yonder.io/

RSS:https://yonder-io.squarespace.com/post?category=Podcast&format=RSS

Help Me Work Online, Esther!

网站:https://virtualassistantinternship.com/

RSS:https://helpmeworkonline.libsyn.com/rss

Remote Work Radio

网站:https://remoteworkradio.libsyn.com/website

RSS:https://remoteworkradio.libsyn.com/rss

Remote Working - Tech, Team, Trust

网站:https://remoteworking.libsyn.com/website

RSS:https://remoteworking.libsyn.com/rss

推荐网站

社区

电鸭社区

电鸭社区是一早一晚社区的新版。

地址:https://eleduck.com/

PayBase 社区

PayBase 社区是一个讨论面向个人收款通道的社区。

地址: https://paybase.cn/

求职

RemoteOK

RemoteOK.io 是数字游民圈子的明星人物 Pieter levels 创建的项目,你可以在上面找到合适的工作。

地址:https://remoteok.io/

WeWrokRemotely

WeWorkRemotely 为远程工作者提供了工作的列表

地址:https://weworkremotely.com/

远程.work

一个专门发布远程工作相关信息的网站

地址:https://yuancheng.work/

电鸭社区工作版

电鸭社区工作版中包含大量的 Remote 工作岗位招聘信息

地址:https://eleduck.com/?category=5

LaravelChina 招聘版

Laravel China 招聘版也会提高一些 Remote 相关工作的机会。

地址:https://learnku.com/laravel/c/jobs

RubyChina 招聘版

Ruby China 招聘版会发出一些 Ruby 远程开发的工作机会

地址:https://ruby-china.org/jobs

接单

Freelancer

Freelancer 是全球自由职业者在线接单的平台,你可以在其上去接一些单子,来让自己有事可做,有钱可赚。

地址:https://www.freelancer.com/

UpWork

UpWork 也是全球自由职业者在线接单的平台,你可以在其上接一些单子,让自己有事可做。

地址:https://www.upwork.com/
· ·

工具

PayJS

PayJS 是一个支持个人支付平台,你可以通过 PayJS 来实现服务的收费,支持开通微信支付 & 支付宝。

地址: https://payjs.cn/

结语

更新记录

2023.07.07

  1. U 移除推荐书籍中的 Amazon 链接。
  2. U 移除聊天中的 Bearychat(被滴滴收购后,被放弃)。

2020.01.28

  1. A 新增内容

2020.01.27

  1. A 新增内容
  2. A 基于 Book 主题进行功能性更新

2020.01.26

  1. A 注册域名
  2. A 初始化项目

关于我

全流程工程师

我的其他电子书作品