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

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

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

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

关注

评论

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

商城异地多活架构设计

泋清

#架构训练营

6W+字记录实验全过程 | 探索Alluxio经济化数据存储策略

Alluxio

数据湖 数据膨胀 降本增效 Alluxio 大数据 开源

业务出海,灵感乍现前要先「把手弄脏」

融云 RongCloud

视频聊天源码——一对一直播系统源码

开源直播系统源码

软件开发 直播系统源码 开源源码

带你认识一下数仓的分区自动管理

华为云开发者联盟

数据库 后端 分区

不懂点儿统计学,《星球大战》白看了

图灵教育

统计学 贝叶斯定理

单元测试,写起来到底有多痛?你会了吗

C++后台开发

网络编程 单元测试 后端开发 Linux服务器开发 C++开发

ES6 类聊 JavaScript 设计模式之创建型模式

devpoint

JavaScript 设计模式 工厂模式 7月月更 创造性模式

洞见科技纪凯:隐私计算助力「全链路」金融客户经营

洞见科技

隐私计算

李宏毅《机器学习》丨4. Deep Learning(深度学习)

AXYZdong

机器学习 7月月更

直播预告 | 7月22日《开源安全治理模型和工具》线上研讨会

安势信息

开源安全 SCA工具 开源软件供应链 SBOM SLSA

7月《中国数据库行业分析报告》发布!居安思危,安全先行

墨天轮

数据库 腾讯云 阿里云 国产数据库 数据库安全

华为云:一切皆服务,共建全场景智慧金融

Geek_2d6073

openGauss内核分析:查询重写

华为云开发者联盟

数据库 后端 查询 SQL语言 openGauss内核

【字体反爬】猫X眼YingShi,我们又来欺负你了,用到了 OCR 识别技术

梦想橡皮擦

Python 爬虫 7月月更

零基础如何学习大数据开发知识

小谷哥

21条最佳实践,全面保障 GitHub 使用安全

SEAL安全

GitHub 安全

LP流动性质押挖矿系统开发详细程序

开发微hkkf5566

瓜分30万奖金!DeepRec CTR模型性能优化天池挑战赛来啦

阿里云大数据AI技术

深度学习

如何用度量数据驱动代码评审的改善

思码逸研发效能

数据分析 研发效能 科技 效能度量

纯css实现:如何做个完美的平行四边形

南极一块修炼千年的大冰块

7月月更

架构实战营模块七作业

Geek_Q

大数据开发技术入门学习方法有哪些

小谷哥

如何学习好web前端开发技术知识

小谷哥

NFT链游戏系统开发元宇宙GameFi搭建

薇電13242772558

dapp NFT 元宇宙

CSDN Meetup 回顾 丨从数据湖到指标中台,提升数据分析 ROI

Kyligence

数据分析 指标中台

TMECH发表优必选运控技术最新进展:实现人形机器人高鲁棒性行走

优必选科技

深圳web前端技术学习费用是多少?尚硅谷前端培训

小谷哥

ModuleNotFoundError_No_module_named通俗的解释和方法

和牛

测试

尚硅谷SSM新版视频教程发布

小谷哥

国产操作系统生态建设,小程序技术来帮忙

Speedoooo

小程序 国产操作系统 小程序容器 桌面应用

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