写点什么

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

  • 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:002502
用户头像

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

关注

评论

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

工程师必知的代码重构指南

百度开发者中心

代码重构

Ipfs矿机收入如何?IPFS矿机一天收益多少?

区块链 数字货币 IPFS

覆盖80%以上Java性能调优场景,三年开发经验以下慎入

Java架构师迁哥

构筑高质量的数据中心基础设施,华为助力创造互联网全新体验

科技热闻

网络攻防学习笔记 Day60

穿过生命散发芬芳

网络攻防 6月日更

分布式图计算引擎

6979阿强

分布式计算 图计算

MongoDB磁盘清理那些事儿

循环智能

mongodb 集群 主从 GridFS 磁盘清理

前几年写的自己团队管理内容,如果你想做研发管理,可以看一下

安宇|Way

管理 考核 团队 文化 价值观

提升中台化体系产研效能的ParisFlow方法与实践

downgoon

我们常说的算法时间复杂度和空间复杂度到底是什么?

编程三昧

编程 算法复杂度

百度关于微前端架构EMP的探索:落地生产可用的微前端架构

百度开发者中心

百度 大前端

Redis入门七:分布式锁

打工人!

redis 分布式锁 redis分布式锁

推荐系统之数据与特征工程(二十三)

Databri_AI

数据 推荐系统 技术特征

阿凡达公链AC系统APP开发

5分钟速读之Rust权威指南(三十三)Send&Sync

wzx

rust

漏洞都有哪些分类

网络安全学海

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

2021,云原生避坑经验分享|CIC 阵容官宣

青云技术社区

容器 云原生

革故鼎新:企业数字化转型繁荣互联网生态建设,驱动ICT设施升级

科技热闻

智能技术与生物技术共同绘就生命“藏宝图”,对你我意味着什么?

脑极体

Java的多线程和高并发详解

北游学Java

Java 多线程

《面试补习》- Java集合知识梳理

九灵

Java 面试 集合

中层管理者的工作五步法

石云升

读书笔记 职场经验 管理经验 6月日更

大佬讲【暴力破解】漏洞的原理、利用和防范

网络安全学海

网络安全 安全 信息安全 漏洞 漏洞修复

中国大学MOOC Android 客户端开发提效之页面信息

有道技术团队

android 服务端 客户端

双碳打开新机遇 华为互联网数据中心基础设施筑起“绿色基石”

科技热闻

腾云视界APP开发|腾云视界软件系统开发

☕️【Java技术之旅】【ConcurrentHashMap】深入浅出核心源码分析(JDK1.8版本)

码界西柚

Java 源码分析 ConcurrentHashMap 6月日更

CloudQuery 使用教程之 No.3 数据查询(中)

BinTools图尔兹

云计算 dba 开发运维 数据库管控工具 国产数据控

智能运维(AIOps)系列之一:个人对智能运维的理解

micklongen

AIOPS 智能运维

Redis入门六:集群

打工人!

redis 缓存穿透 缓存击穿 缓存雪崩 redis集群

卢卡开专栏了

卢卡多多

数据库 MySQL 高可用 6月日更

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