写点什么

谷歌的软件工程文化:激发创造力、鼓励自主性

  • 2019-10-11
  • 本文字数:1110 字

    阅读完需:约 4 分钟

谷歌的软件工程文化:激发创造力、鼓励自主性

谷歌进行了几项研究,以更好地理解经理和文化对团队绩效的影响。2008 年,他们发表了“氧气项目”的相关发现,并于 2018 年发表了一项后续研究。在 2008 年发现的 8 个最佳经理人行为中,他们发现了两种新的行为,它们是横跨整个谷歌的协作性和强有力的决策。


在 2019 年,Seth Richtsmeier 分享了一些对谷歌今日的成功产生了帮助的文化实践。这些文化实践包括,公司创造了这样一个环境,它鼓励人们的创造力和自主性,并建议透明性和跨职能协作,以加快信息共享和创新。


谷歌的软件工程师 Fergus Henderson 在 2017 年发表了一篇文章,描述了谷歌的软件工程实践,他认为这些实践对公司的成功和软件开发人员对该公司的喜欢程度做出了巨大贡献。Henderson 总结了关键的工程技术和实践,这些技术和实践广泛地在团队间共享,这些团队在谷歌内都经受住了时间的严格考验。


第一个关键实践是使用代码存储库:大多数开发人员的代码都存储在一个统一的源代码库中,所有软件工程师都可以访问这些源代码。写访问权限是受控制的,但是工程师可以访问任何代码并进行修改,只要这些修改可以获得代码所有者的批准就能够提交入库。当涉及到代码所有权时,存储库的每个子树都有一个列出了用户 ID 的文件。每个子树的所有者控制对该子树的写访问权,整个团队都列在所有者的文件中。


该构建基于一个名为 Blaze 的分布式系统,用于编译和链接软件以及运行测试。Blaze 为构建和测试整个代码库的软件提供了标准命令。这些标准实践允许工程师在代码库中快速、安全地构建和测试软件,并允许工程师轻松进行跨项目的更改。每次构建工作都分布在数百甚至数千台机器上,这可以快速构建非常大的程序或并行运行数千个测试。


软件工程师使用内部开发的基于 web 的工具执行代码审查。对主要源代码库的所有更改都需经由至少其他一位工程师进行评审。


软件重写每隔几年就会发生一次,这会消耗大量的资源,但它保证了公司快速适应市场需求和变化的能力。工程师重写代码以减少逐渐积累的遗留性代码和代码复杂性,并允许他们将自己的知识和代码所有权转移给新的团队成员。这些重写确保谷歌的代码基础是使用现代技术和工程实践编写的。


从文化上讲,工程师有权修复任何损坏的代码,不管产品边界如何,他们通过这个方式来确保他们的产品符合公司的最高质量标准。


同样在 2017 年发表的一篇文章中,曾于 2006 年至 2008 年在谷歌工作的Edmond Lau证实,谷歌传授着有价值的工程技术,这可以帮助工程师在职业生涯中取得成功,但他指出,大多数工程师都受限于开发和协调大型的、全球性的产品。工程师在迭代、确定优先级、做出产品决策、甚至采取行动或根据结果确定时间优先级方面的灵活性更低。


原文链接:


Google Software Engineering Culture


2019-10-11 08:002476
用户头像

发布了 61 篇内容, 共 26.9 次阅读, 收获喜欢 135 次。

关注

评论

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

PackML从会到不会——模式(2)

陈的错题集

标准化 PackML

博文推荐|零经验玩转隔离策略:多个 Pulsar 集群

Apache Pulsar

Java 架构 分布式 云原生 Apache Pulsar

常用推荐算法(50页干货)

阿里技术

TypeScript 之条件类型

冴羽

JavaScript typescript 翻译 大前端 进阶

Python代码阅读(第65篇):根据条件应用指定函数

Felix

Python 编程 Code 阅读代码 Python初学者

安全经典JWT算法漏洞

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

喜报!Nocalhost 成功加入 CNCF 沙箱

CODING DevOps

Kubernetes DevOps cncf Nocalhost 本地化开发

面向容器的资源调度技术对比

阿里技术

云边协同产业方阵成立,中国信通院与 EMQ 共建边缘计算技术规范

EMQ映云科技

物联网 IoT 边缘计算 边云协同

NQI质量基础设施服务云平台建设,NQI一站式线上平台开发

电微13828808271

数字经济发展引热议,博鳌亚洲论坛第二届科创大会区块链分论坛开幕在即

时空云

区块链 创新 科技 元宇宙

精读《高效 javascript》

CRMEB

阿里研究员华先胜:图像搜索的前世今生

阿里技术

魔镜魔镜请回答:FITURE为何上飞书?

ToB行业头条

一个前端的自我修养

阿里技术

SpringOne Platform 2016参会分享

阿里技术

智慧警务指挥系统搭建,公安合成作战平台开发

电微13828808271

技术探究:Apache Pulsar 的事务型事件流

Apache Pulsar

Java 架构 分布式 云原生 Apache Pulsar

Java SPI 机制从原理到实战

江璇Up

Java spi JavaSPI

混合云管理策略是什么?如何又快又好的管理混合云?

行云管家

云计算 混合云 云管理

阿里一年建了两座世界级数据中心,怎么做到的

阿里技术

使用 Litho 改进 News Feed 上的 Android 视频表现

CatTalk

android facebook 性能优化 Feed流 Litho

百度:YOLOX和NanoDet都没我优秀!轻量型实时目标检测模型PP-PicoDet开源

百度开发者中心

目标检测 开源技术

“异地多活”设计辣么难?其实是你想多了!

阿里技术

建议收藏!HDC2021 HarmonyOS技术分论坛干货解读文章大汇总

HarmonyOS开发者

HarmonyOS 技术专题合集

架构实战营-模块五作业

无名

架构实战营 「架构实战营」

开源应用中心|程序员的崩溃瞬间,太形象了!

Java php 开源 插件

设计微博系统中”微博评论“的高性能高可用计算架构

奔奔

行云管家Proxy特点及其部署要求详细解析

行云管家

数据库 IT运维 行云管家 跳板机

架构实战营 模块六作业

felix

「架构实战营」

淘宝首页“有一套”

阿里技术

谷歌的软件工程文化:激发创造力、鼓励自主性_文化 & 方法_Shaaron A Alvares_InfoQ精选文章