【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

构建以质量为中心的研发文化以驱动创新

  • 2013-12-25
  • 本文字数:2241 字

    阅读完需:约 7 分钟

Aviran Mordo Wix 后端工程的负责人,同时也是一位持续部署的专家,拥有 20 多年的从业经验。他在多家初创公司与大型企业中担任过工程师和领导者的角色。近日,Aviran撰文谈到了如何构建企业的研发文化,介绍了实现这个目标所需的准备工作以及执行过程。

在2010 年加入Wix 时,我的主要职责是重建后端团队。那时,整个团队的成员基本上都流入到了公司的其他项目中,只保留下了一个成员,因此我面对的是一个全新的团队。

几个月后,在组建团队时,我们决定采用持续交付方法学。由于在转向持续交付以及重写整个后端系统方面遇到了很多挑战,因此我们需要非常优秀的软件工程师来构建一个全新的框架,并且要成为引领公司以开发为中心文化的先行者。

我们要创造一种以质量为中心的文化,主要从软件工程与成员责任心这两个角度来衡量。由于在快速发展的公司中,每个人都会对公司的文化产生深远的影响,因此这就会为招聘流程定下了一个基调。在加入Wix 后,我一直都在招聘工程师,不过招聘是个巨大的挑战。我一直在寻找卓越的软件工程师。面试流程的标准非常高,只有极少数人能面试成功,不过我愿意为此付出代价,因为只有这样才能构建出一个真正的团队。

面试流程

我们的面试流程主要有两个技术面试。一个由我自己来面,另一个由团队的首席架构师来面。除此之外,面试者还有与HR 和R&D 副总裁的两轮面试。不久之后,我们对面试流程稍微做了些修改,在第2 轮面试中加入了上机考试,面试者需要像平时工作那样在计算机上编写程序。对于面试者来说,能够编写代码是非常重要的事情,因为很多时候我们发现有些面试者虽然能够侃侃而谈,但在实际编写代码时(这也是他们在工作中需要做的事情)却能力不足,即便知道了问题的解决方案,并且在编写代码之前能够解释给我们听,但他们还是缺乏编码的能力。有时我们觉得合适的话还会让面试者从我们的开发者中选出一个进行结对编程来代替上机考试。我们参与的开发者可以在任何时候拒掉面试者。经过一些实践我们发现,每次当我们对某个面试者产生怀疑并决定给他或她一个机会时,最后的结果都不是太好。

DevOps 文化

作为持续交付文化变化的一部分,我们要求开发者做的是 DevOps,出于这个原因,需要确保生产环境的可视化。基于此,我们在所有房间内都放上了巨大的LCD 显示屏,开发者可以实时看到生产环境中应用的行为。显示器上会显示出应用的异常信息、应用性能以及系统度量信息等。一旦开发者看到了这些鲜活的数据,他们就可以开始根据这些数据进行修复并改进应用,而这些数据之前是看不到的。他们修复错误、改进应用性能并提升系统的质量。

每日例会

质量也影响着我们每天的站立会议。相对于谈论“我昨天做了什么”和“我今天要做什么”来说,在我们每天的例会中,我们会讨论解决或遇到的产品问题、面对的有趣的工程难题以及需要对框架所做的增强建议等。

质量星期四

大家都会对软件工程是一门匠艺这种说法表示认可,不过很多公司在改进工程匠艺方面却几乎没有什么投入。为了做到这一点,我发起了名为“质量星期四”的活动。每个软件工程师每周都会花上4 天时间与项目团队一起进行项目开发,不过在星期四,所有的后端开发者都会停下来,进行质量增强方面的活动。

搜寻Bug(1 小时)

每周4 我们都会从一个周会开始,并搜寻Bug。我们会从生产系统中拿一个运行着的服务,服务的编写者会在所有开发者面前经过监控系统的检验,并解释生产系统中应用所抛出的每个异常。对于每个异常来说,我们会讨论是否有与这个异常相关的任务项可以消除它。最后,服务编写者会根据任务项列表对服务进行修复。这个过程不仅改善了服务的质量,还向其他开发者介绍了服务的内容。

回顾(1 小时)

在这一周内,开发者会遇到一些问题,他们希望能与其他人分享并对这些问题展开讨论。我们会在内部的留言板( daPulse )写上这些主题,它设定了每周回顾的议题。在回顾中,我们会讨论问题以及过去一周内学到的东西,还有如何改进团队、质量、流程以及 R&D 组织效率的一些建议。

展示(1 小时)

质量星期四的第 3 个小时用于演讲。每个开发者会轮流介绍他所熟悉的一个主题。这实现了跨团队的知识共享。主题可以是关于技术的,介绍新的项目,或是开发者感兴趣的任何主题。有时,我们还会从 R&D 之外邀请一些人来介绍公司的其他部门在做的事情,这些主题并不局限于后端团队。R&D 的所有人都可以发表演讲,并发布每周主题。公司的其他人如果想要加入进来我们也是很欢迎的。这也实现了跨部门的知识共享。

星期四任务

开发者在星期四的后半天一般并不会从事自己的项目。我们称之为星期四的任务。星期四任务是个技术债务或是小任务,优先级比较低。每个项目都有此类任务,不过通常都完成不了,因为时间不够,优先级也不高。在星期四,我们会从事这些任务,不过并不是由项目的开发者来完成,而是由其他组的成员来完成。让其他项目组的成员完成这些任务有以下几个目的:

  • 开发者可以学习到其他项目。
  • 外部开发者可以看到他们不熟悉的代码,能够发现问题或是给出建议。
  • 开发者可以学习到其他项目组面临的问题与解决方案。
  • 寻找项目共有的模式。
  • 可以找到自己感兴趣并打算从事的项目。

驱动创新的质量

工程师们每周都有一天时间不必忙于项目,这有助于实现创新。“质量星期四”是创新的驱动力。所有活动,如搜寻 Bug、回顾、技术演讲和星期四任务都是促进讨论与想法的催化剂。我们已经根据星期四的讨论实现了很多创新的东西。我坚信为了能够吸引到更好的工程师,你需要在质量与匠艺上投入更多。通过深挖内部工程师,你会得到更好的产品与更高的生产力。

2013-12-25 09:591778
用户头像

发布了 88 篇内容, 共 258.6 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

手写柯里化 - toString 理解

掘金安东尼

JavaScript 前端 函数式 8月月更

深入理解 Istio 流量管理的超时时间设置

万猫学社

云原生 istio envoy Istio流量管理

秘乐短视频挖矿系统开发详情

开发微hkkf5566

HDD杭州站•ArkUI让开发更灵活

HarmonyOS开发者

HarmonyOS

mysql进阶(二十七)数据库索引原理

No Silver Bullet

MySQL 聚集索引 8月月更 非聚集索引 覆盖索引

高质量 DeFi 应用构建指南,助力开发者玩转 DeFi Summer

TinTinLand

区块链

即刻报名|Apache Kylin X Apache DolphinScheduler:大数据底座的构建和展望

Kyligence

数字化转型 数字分析 数据调度

JS逆向入门学习之回收商网,手机号码简易加密解析

梦想橡皮擦

Python 爬虫 8月月更

导火索:OAuth 2.0四种授权登录方式必读

知识浅谈

8月月更

这份阿里强推的并发编程知识点笔记,将是你拿大厂offer的突破口

了不起的程序猿

数据库 高并发 java程序员 大厂面试 java;

2000多字教你三招在Linux中找出大文件,最后一个命令简直太简单了!

wljslmz

Linux 签约计划第三季 8月月更

双因子与多因子身份验证有什么区别?

SEAL安全

身份验证

企业的数字化转型到底是否可以买来?

雨果

数字化转型

语音社交软件开发——充分发挥其价值

开源直播系统源码

软件开发 直播系统源码 语音聊天

有多一只“手”的机器狗出没?就在昇腾AI开发者创享日·南京站

科技热闻

WindTerm:新一代开源免费的终端工具,GitHub星标6.6k+,太酷了!

沉默王二

GitHub 终端工具

面试点:Java 中 hashCode() 和 equals() 的关系

TimeFriends

8月月更

入门 Polkadot 平行链开发,看这一篇就够了

One Block Community

区块链

STM32+ULN2003驱动28BYJ4步进电机(根据圈数正转、反转)

DS小龙哥

8月月更

全国独家 | 上海线下面授大规模敏捷LeSS认证 | 2022年12月8-10日

ShineScrum捷行

less 大规模敏捷 LeSS认证 大规模敏捷LeSS

Go编译原理系列6(类型检查)

书旅

Go 源码 后端

DFINITY 基金会创始人谈熊市沉浮,DeFi 项目该何去何从

TinTinLand

区块链

数据中台建设(十):数据安全管理

Lansonli

大数据 数据中台 8月月更

电竞、便捷、高效、安全,盘点OriginOS功能的关键词

Geek_2d6073

创建一个 Dapp,为什么要选择波卡?

One Block Community

区块链

【LeetCode】最大层内元素和Java题解

Albert

LeetCode 8月月更

IO流篇 -- 基于io流实现文件夹拷贝(拷贝子文件夹及子文件夹内文件)满满的干货

Bug终结者

Java static 8月月更

告白数字化转型时代:麦聪软件以最简单的方式让企业把数据用起来

雨果

数字化转型

牛刀小试基本语法,Go lang1.18入门精炼教程,由白丁入鸿儒,go lang基本语法和变量的使用EP02

刘悦的技术博客

golang 语言 语言 & 开发 教程分享 #go

RT-Thread记录(一、RT-Thread 版本、RT-Thread Studio开发环境 及 配合CubeMX开发快速上手)

矜辰所致

RT-Thread 8月月更

硅谷来信:快速行动,Facebook、Quora等成功的“神器”!

博文视点Broadview

构建以质量为中心的研发文化以驱动创新_语言 & 开发_张龙_InfoQ精选文章