【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

Facebook 元老王淮谈科技公司应有的工具文化

  • 2012-08-20
  • 本文字数:2674 字

    阅读完需:约 9 分钟

王淮是 Facebook 的早期员工,也是 Facebook 内部第二位中国籍工程师和第一位研发经理,曾经负责支付后台和安全系统,担任反欺诈部门的技术经理。现在,他是一位以兴趣为导向的顾问型天使投资人。

前不久,他发表了一篇文章——《以 Facebook 为案例剖析科技公司应有的工具文化》。其中,他开宗明义提出:

不断发展、改进公司的内部工具,可以极大提高每个员工的工作效率,可以减少运营人员的数目;这样既改善了整体协调,又减少了整体开支。

王淮提到:当时招聘他进 Facebook 的总监黄易山,是对内部工具的最有力倡导者:

他极度建议,公司要把最好的人才放到工具开发那一块,因为工具做好了,可以达到事半功倍的效果,所有人的效率都可以得到提高,而不仅仅是工程师。

王淮接下来介绍道:Facebook 有两个工具组——研发工具组、网站支持和工具组。

研发工具组的工具包括:

  • 管理分配所有的开发专用服务器

在一个页面上你可以很清晰的看到所有的开发服务器, 包括哪些人是现在的使用者,什么时候申请分配的,服务器的操作系统版本,配置信息等等;对于空余的服务器,你可以一键申请,并自动初始化该服务器。这让刚加入的菜鸟们可以迅速的获得自己的研发活动空间。

  • Git 集成工具

在提交代码之前自动的检测所修改的代码是否符合公司代码规范,如果不符合,该工具会自动警告,但把决定权交给工程师。

  • 现已开源的代码审查工具 Phabricator

工程师可以在页面上非常方便的针对每一段(单行或者多行)代码进行交互讨论;负责审查的工程师可以接受代码改变,可以提出疑问要求原作者继续修改,可以提出自己不适合以推出该代码审查,等等。只有代码被明确接受之后才能被工程师提交到服务器端的代码库,这一点集成到提交工具中强制执行。

  • 灰度发布工具

在这个工具中,工程师和产品经理(也可以授权给其他非研发人员)可以设计新产品发布的目标人群特点(比如年龄,性别,地域,教育,等等方面做出限制)及发布的人群比例(在 0-100% 之间自由调整),所有的改变不需要代码的改变,只需要在工具页面上点击鼠标即可,让灰度发布变得很轻松。

  • 发布过程监控工具

发布的过程由一个利用点对点(BitTorrent)算法实现的工具进行多线程同时发布,对于更新几十万台机器只需要几十分钟。由于是不间断的发布,对公众的服务不可以停,所以 Facebook 会将一部分的机器从公众服务状态中拿下来,更新之后再放回,然后继续下一批,直到所有机器都被更新。这样就可以保证在任意状态都有足够多的机器来支持用户访问。……工具检测发布过程并且将其进度可视化,你可以很方便的看到哪些服务器更新了,现在正在更新哪些服务器,整个网站的进度是百分之几,等等。

  • 数据检测工具

数据收集只要 1-2 行代码即可完成,数据的整理分类存储皆在后台的上万台服务器上自动完成,数据的可视化报表只需要通过一个页面工具点点鼠标设置即可即时生成,而不需要任何代码;数据波动的自动警报也可以设置,可以自动发邮件发短信。

王淮说到了这些工具背后的基本理念:

基本理念就是凡是被很多人不断重复的好的习惯,要将其自动化,绑定到工具之中。以“Don’t make me think”的方式来推广好的 practice。

当然,他们当时仍使用白板作为最重要的人为工具之一:

把最最重要的目标及相关的任务,目标日期,负责人等信息写到白板上挂到我们最近的墙。每天一抬头就可以看到,每次开会都会路过,时刻提醒我们最最重要的事情是什么。这种工具对我们组非常有效。

在网站支持和内部的通讯工具方面,王淮提到的工具包括:

  • 用户问题自动分配工具

Facebook 内部的处理工具做得最重要的事情就是把相关问题自动分配到最相关的运营组(routing),比如和支付欺诈相关的问题应当自动分配到反欺诈运维组的那十几个人那边。然后工具会提供常见的通用解决方案,绝大多数的回信内容自动产生(用户姓名,原问题等个体信息都会自动嵌入)。

如果针对某一个功能的问题突然多起来,工具会自动发现,并提醒运维人员手动查看

所有用户问题的回复率,回复满意度,交互次数等等都会被统计或抽样统计,以保证客服服务的质量。

  • 招聘工具

Facebook 有一套专门的做题系统(Puzzle System)尝试去筛选可靠的工程师。

所有的内部推荐都是通过专门的人才提交工具来上传简历,这个工具和整个招人系统结合。

当然还有必不可少的权限控制 – 只有参加面试的人员才能够看到关于应聘者整个流程的所有资料。

最后,该工具允许打印所有的相关资料以帮助决策委员会讨论该应聘者时拥有所有相关数据。

  • 业绩评价工具

这个工具要允许员工自己对自己评价,员工互相评价,员工和老板之间互评,等等;还要考虑权限的管理。并不是一个很容易开发的工具。这个工具一开始是内部开发,但后来还是决定使用 Rypple 来提供专业的业绩评价工具。

接下来,王淮提供了一些对于工具的思考:

  • 工具开发是手段,而不是目的。……如果某个需要的工具有其他更专业的人做得更好的话,Facebook 非常乐意付费买他们的服务,而把自己的精力集中在核心产品上。
  • Facebook 希望通过工具的方式来解决所有可能想到的问题……能够想到的地方就尽可能用工具。与物理工具不同,计算机工具可以实现“杠杆效应”的反复累积,通过组合这些“杠杆效应”可以达到更高的层级。
  • 工具团队不应该是一个由二线员工组成的“事后诸葛亮”的后勤部门,公司里最有才华的工程师应该用公司自己的工具来工作,并且企业文化里要优先反映这些。当公司过了最一开始开发原型证明概念的萌芽阶段之后,开发出优秀的工具并继续加以改善、更新,这比寻找下一个伟大的创意更重要。

王淮也谈到了工具文化面临的最大挑战:

现实的最大挑战是,工具团队要招聘新员工有一定的难度。Facebook 的用户已经达到数亿,而且还在不断增长,如果你开发的是直接面向用户的产品,每天有那么多人在使用,那带来的成就感非常棒。而你要说服新员工去开发内部工具,说这样可以带给工程师以及其他同事更高的效率、最终帮助公司做出更好的产品,相对是间接并缺乏吸引力的。

他的解决方法是:

  • 用一些具体的工具提高效率的案例和数据来做理性说服;这需要在开发工具的同时要检测工具使用前后的效率变化。
  • 为了吸引内部最好的人才愿意到工具团队,企业文化中也一定要着重反映出这一点:在不同的公开场合私下会面都不断的强调其重要性,让所有人都清楚,公司将内部工具视为持续的重要投资。
  • 集中精力努力说服几位整个工程部门认同的顶尖工程师加入工具组,具有很好的示范效果和磁铁效应。如果真正做到如此重视,最优秀的工程师是愿意加入工具团队的,可以大大提升同事们的效率,从而更好地服务于用户,这也是一种外部用户所感受不到的成就感。

InfoQ 的读者,你们所在的公司有工具文化么?

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2012-08-20 22:526997
用户头像

发布了 479 篇内容, 共 152.6 次阅读, 收获喜欢 47 次。

关注

评论

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

中企出海,强大数智底座助力提升多维组织能力

用友BIP

数智底座 中企出海

Flink CDC & MongoDB 联合实时数仓的探索实践

Apache Flink

大数据 flink 实时计算

如何避免在C#中出现混乱代码

互联网工科生

代码 代码编写

十分钟让你了解 Linux ABI

高端章鱼哥

Linux

如何快速理解复杂业务,系统思考问题?

阿里技术

理解业务 系统思考

企业数智化国产替代,用友BIP的四大优势

用友BIP

国产替代

用友BIP:企业数智化与信创化的完美结合

用友BIP

国产替代

借助 Kubernetes 三步开启云原生之旅

NGINX开源社区

nginx NGINX Ingress Controller NGINX Kubernetes Gateway

装备制造行业人力资源数智化挑战,你遇到了几条?

用友BIP

人力资源 制造

微服务部署架起App开发运维的高速通道

Onegun

微服务 部署与维护 部署架构

全域Serverless化,华为云引领下一代云计算新范式

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号 7 月 PK 榜

国外虚拟主机为您提供高性能与稳定性的完美结合!

一只扑棱蛾子

虚拟主机 国外虚拟主机

为什么说Raft原生系统是流式数据的未来?

高端章鱼哥

raft raft共识算法

ControlNet新玩法!一键生成AI艺术二维码QR

飞桨PaddlePaddle

人工智能 百度 paddle 飞桨 百度飞桨

QCN9074 QCN9024 What’s the Difference?|WIFI6E

wallyslilly

QCN9074 QCN9024

软件测试/测试开发丨接口测试之Postman 安装与使用

测试人

Python 程序员 软件测试 Postman 接口测试

Linux 操作的良好习惯总结

这我可不懂

Linux 运维 经验

上海市静安区财政局领导带队调研合合信息,政企共话科技创新

合合技术团队

文字识别 合合信息 商业大数据

PCB反复评审难题,终极解决办法有了?

华秋PCB

工具 PCB PCB设计 布线 器件选型

Oracle数据库知识图谱正式发布,一起搭建知识体系完善知识架构

墨天轮

MySQL 数据库 oracle postgresql 数据库优化

金融机构上堡垒机的三大理由看这里!

行云管家

网络安全 信息安全 金融 堡垒机

看大国重器用友BIP如何扛起中国企业数智化转型的使命担当

用友BIP

国产替代

标准化,企业财务共享中心的灵魂内核(上)——建设路径避雷指南

用友BIP

财务共享

麒麟云容器运行时优化之容器创建优化

麒麟云

Kubernetes 容器云 银河麒麟 云原生操作系统 容器运行时

浅谈一下企业IT运维痛点以及好用的运维软件推荐

行云管家

云计算 运维 IT运维

Python案例分析|使用Python图像处理库Pillow处理图像文件

TiAmo

Python 数据分析 图像操作

OpenCloudOS开源社区产品完成阿里云PolarDB数据库开源产品兼容适配

阿里云数据库开源

polarDB PolarDB-X PolarDB for PostgreSQL 阿里云PolarDB

GaussDB技术解读丨高级压缩

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 7 月 PK 榜

MobTech 秒验审核流程指南

MobTech袤博科技

程序员 前端

创新 = 颠覆?AI创新如何做大蛋糕

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 7 月 PK 榜

Flink 遇见 Apache Celeborn:统一的数据 Shuffle 服务

Apache Flink

大数据 flink 实时计算

Facebook元老王淮谈科技公司应有的工具文化_Meta_郑柯_InfoQ精选文章