延迟上班别发愁,远程办公抗疫情!
  • 时间:2020-10-28

2020 年的新年注定是一个不普通的新年,全国都在抗击新式冠状病毒肺炎。除了不出门,勤洗手,戴口罩之类的惯例操作,咱们就在想,在这个大布景下,咱们还能够做哪些作业?考虑到新年假期接近完毕,返程的旅途中或许会加大感染的概率,延伸阻隔时刻、长途在家作业也许是普通群众能给国家在这场战争中做的最大奉献。然而在咱们国家,暂时不管其他职业, 至少咱们地点的高科技职业还没有遍及长途作业的文明,所以咱们在此将 PingCAP 实践了近五年的工程师长途作业经历介绍给咱们。本文将尽量少描绘理念,而更多的从实践方面叙述咱们的落地经历,以期在这样的一个特其他时刻协助更多的朋友和公司赶快行动起来,为国家为社会奉献一份咱们菲薄的力气。

咱们现已经过实践证明,在这个年代,至少关于相似软件工程这样的首要以脑力和构思为主的作业,现已有满足的方法论和基础设施,让长途作业的功率不比传统方式差,有时分乃至能有更好的产出。下面咱们聊聊一些详细落地的经历。

长途作业在国外并不是一件新鲜的作业。在硅谷,尤其是新一代的科技公司简直都有长途作业的基因,这背面有许多原因在这篇文章中就不展开了,假如感兴趣的朋友能够看看来自 37 Signals 的 David Heinemeier Hansson 的《Remote》一书。 关于咱们来说,PingCAP 从公司树立之初就开端饯别这个文明,首要出于这几点原因:一方面包含我在内的几位联合创始人都是工程师身世,自身关于功率比较有寻求,自在的作业方式能够进步咱们的作业功率,一起咱们怨恨低效方式主义;另一方面,关于一个草创的公司来说,咱们不期望人才由于地域的约束而不能参加咱们。

一个很好的比如是咱们的首席架构师 siddontang,也是咱们招聘的第一位职工,由于家庭原因不期望来北京,曩昔的几年一向都在珠海的家里长途作业。其他一个十分重要的原因是咱们的职工是全球散布,根据开源的开发方式,所以一开端就注入了长途作业的基因。

软件工程是一项以脑力为首要资源展开的作业,在现在高度发达的互联网技能支撑下,其实是天然合适长途作业的,可是咱们为什么大多数时分觉得长途作业不如会集作业功率高?**除了长途带来的交流协作妨碍外,咱们以为其实最底子的差异仍是在办理哲学上,是倾向于传统监管的办理思想仍是自驱的办理思想,在 PingCAP,咱们在企业文明上一向倡议的是后者。**为此,咱们需求树立一个强壮的愿景驱动力,并落真实咱们的各种细节中,一起尽或许为搭档们营建自在、敞开、共享的作业气氛。

走运的是,这也和咱们从事的开源范畴的作业方向完美符合。举个比如,在 PingCAP 咱们从来不进行任何方式的打卡,每周五咱们都有例行可是议题不限的职工 TGIF 共享 ,任何一位搭档都有时机站在台上共享自己的作业效果和心得,乃至咱们发给咱们的周边产品都是在规划、选材上一遍一遍的精挑细选,且限量供应,以期让每一个小伙伴感受到温温暖尊重。这一切的作业看似和咱们的长途作业没有直接联系,可是实际上让咱们一点一点地变成了一个脱离方式、高于方式而存在的强壮的长途安排。

软件工程长途作业咱们首要要处理的是咱们要树立长途可操作的愈加明晰、高效的方针和方案办理。从微观层面说,在 PingCAP 咱们依靠的是 OKR 这个东西进行公司以及团队的方针办理,OKR 是硅谷以及国内的许多互联网公司越来越盛行的方针办理东西。经过探究,咱们以为 OKR 是一个比较合适长途作业团队的方针办理东西,由于 OKR 比较 KPI 来说,首要愈加着重由团队成员一起拟定团队方针,这样带来的优点是易于让整个团队就方针和要害成果达到共同,始终保持团队的方针导向共同。其次能够让团队成员愈加理解做手头上的作业关于团队以及关于公司的含义,这一点关于长途团队尤为重要,极大的有利于促进部分与部分、人与人的协作,让团队愈加具有整体性,终究,OKR 还有一个很重要的特色:通明,在咱们的实践中,每个团队都能够看到其他团队的 OKRs,咱们在拟定完各自团队的 OKR 后,还需求在公司等级宣告,保证咱们都能了解。

从微观层面说,例如一个详细的项目方案拟定和履行盯梢,也需求相同的通明。咱们的实践是项目的担任人为每一个大的项目树立一个大局的项目「地图」,力求做到即使是半路参加的同学,看到这个地图后,就能够清楚的知道现在是什么情况,需求的资源的链接在哪,担任人是谁,危险点在哪。这个关于长途工程团队的办理者来说更是至关重要。下面是一个比如:

已然咱们这儿更多的是谈论实操,咱们接下来要点讲一讲软件工程长途作业环境咱们所运用的东西。企业文明、方针办理咱们需求相对长期的作业去逐步树立,东西的引进则相对快速收效,也便是俗语说的,工欲善其事,必先利其器,运用杰出的东西会让作业事半功倍。

PingCAP 的首要产品 TiDB 是一个开源的数据库,咱们研制的首要作业流都是构建在 Github 上面,完全对社区揭露。所以咱们的东西链也是以 Github 为中心,串联其它的东西,下面是完好的东西列表:

这儿经过一个小比如介绍一下咱们研制的作业流:

假定咱们需求做一个新功用,从构思开端,或许第一个会运用的东西是在线文档,担任的搭档会草拟一个文档,将大致的主意在其间描绘,然后经过 Share 的功用,共享给相关的搭档,大多数时分这些规划文档都会 share 到一切的工程师都会在的邮件组里,任何人都能够上去谈论或许修改。

文档经过交流谈论定稿之后,会同步到 Confluence 和 GitHub 中。

接着该项目将被拆分红多个子项目,经过 JIRA 分配到详细的人,完结后直接提交到 GitHub 上,项目的该模块的 Reviewer会参加 Code Review,收集到两个 LGTM 并经过各种继续集成东西的测验后,终究合并到骨干。

修 Bug 的流程也相似,值得一提的是咱们开发了一个 bot,用于同步 GitHub 中来自社区的 Issue 到内部的 JIRA 中。

除了上面说到的 Issue 机器人,咱们的 Chaos 测验 ,Zoom 的用户体会真的十分棒,咱们即使是全公司级其他会议,也都是经过 Zoom 完结的。

在 PingCAP 从方式上来说,由于会议根本都会有长途的同学参加,所以默许都是线上会议。

从内容上来说,大概有两种会议,一种是例会,一种是详细事务的交流会。信任和其他公司也没什么不相同,我这儿聊聊咱们觉得比较好的一些实践:

在 PingCAP 各个团队大大小小一定都会有例会,通常以周为单位,有些比较重要且紧迫的项目会以天为单位,会议的时刻和长度也纷歧定。周会是一个很好的时机能让团队成员相互了解咱们在干嘛,关于 Manager 也能很好的知道方向有没有歪,进展是否正常。

其他一点,共享一些关于会议的实践:

关于相似例会这种偏信息拉平的会议,Manager 最好不要直接在这类会议上做决议计划。由于许多信息或许是刚接收到立刻做决议计划纷歧定是经过深入的考虑,另一方面信息或许不全面,还需求进一步的跨团队交流。

善用 Calendar。我主张研制团队内部将 Calendar 能够他人可见,经过订阅和你相关的搭档的 Calendar 是一个也是一个很好的信息拉平途径。

会议前发 Agenda,会议后构成 Meeting notes 发给参会的人,并记载在 Wiki 中。

尽量少开大会长会。Amazon 的「两个 Pizza 准则」也相同适应于开会。

这儿说几个咱们亲身经历的坑。由于长途的联系,在 PingCAP 咱们一向以来要求尽或许的运用文档进行交流,咱们确真实前期很严厉的饯别了,可是那个时分咱们重度依靠在线文档,所以陷入了一个问题:协同功用很棒, 可是索引功用很弱。所以许多时分就呈现了,或许记载某件作业的文档找不到了,或许有多个文档在描绘同一个作业。

为了处理这个问题,咱们后来引进了 Confluence,用做团队 Wiki,首要起到信息索引和查找的功用,咱们十分依靠 Confluence,而且玩出了许多把戏,这儿我只举几个最佳实践的比如:


客服QQ: 点击这里
地址: 客服QQ:
Copyby 2020 Power by DedeCms

服务时间:7X10小时