低代码到底是不是行业毒瘤?一线大厂怎么做的?戳此了解>>> 了解详情
写点什么

现代工程团队的五个理论

2015 年 9 月 25 日

经过 5 年的任期后, Kellan Elliott-McCrea 离开了 Etsy 。过去的 4 年,Elliott-McCrea 是 Etsy 的首席技术官,在那之前,他是工程部的副总裁。在过去的 5 年内,软件产品和工程团队都经历了翻天覆地的变革。这篇文章宣布着他的离职,同时,Elliott-McCrea 在文中详细阐述了指导他完成那些变革的五个理论。

早在2009 年, Etsy 作为一个大型的手工艺成品在线市场平台,正在奋力向外扩展。但是,Etsy 网站的可靠性比它应该表现的要糟糕的多,其原因主要跟它的架构有关,该架构起源于 DevOps 之前的文化。开发人员,DBAs 和系统管理人员都专注于他们自己的筒仓。由此而引发的部署既大型又罕见。并且开发人员无法接触产品。这就是 DevOps 之前的时代——第一场 DevOpsDays 会议于 2009 年在 Ghent 举行——所以在当时,这就是开发和运营 web 网站最常见的方式。

当 Elliott-McCrea 加入时,变革就已经悄无声息地酝酿着了,所以这也给他提供了一个测试他的理论的机会。

理论 1:我们对软件开发的“一无所知”,应该被认为是一种事实。

构建软件是一个团队努力工作的成果,但是软件开发的大部分工具、流程和思维模式通常是个人开发者完成的。

理论 2:技术是构建它的文化的产物。

文化是构建一切事物的基础。文化允许你以一种松散耦合的方式进行伸缩。并且,文化是你如何行动,而不是如何谈论。

文化并不意味着单一。正如 Elliott-McCrea 所说:“五年前,现实情况表明,更好的软件通常是由那种多元性的团队完成的,这种团队是由彼此互相关心的一类人组成,但是这跟该行业的自我形象却是对立的。”

理论 3:软件开发应该被看作是不断学习和提升的循环,而不是从开始到结束的过程,或者是对正确性的搜寻。

Etsy 每天要进行数十次的部署,这样有利于他们从中学习和提升。有趣的是,Elliott-McCrea 说,“成熟是你懂得什么时候该做出权衡,什么时候不该。”

理论 4:你可以通过全球范围内的优化而不是本地优化建立学习的文化。

通过共享的信念、工具和思维模式,使整个团队同时提升。依赖一些摇滚明星式的程序员,既不是高生产力的最佳解决方案,也不如整体提升一样令人满意。

理论 5:如果你想进行长期的构建,唯一的保证是改变。

你当前的答案要么目前就是错误的,要么很快就会被证明是错误的。所以团队必须不断的提问,假设理论并测试直到找出新的答案。

工程团队变化最明显的方面是,它如何向世界展示自己。这种开放的文化带来了许多开源工具。其中有一些相当出名,比如 StatsD ,一个指标聚合器, Logster ,从日志文件中生成指标。Etsy 的展示也成为世界各地许多会议共同的特征, 在展示中,它的工程师从技术和文化方面论及了软件工程的方方面面。Etsy 每半个月,也会在 Brooklyn 的实验室主持嘉宾演讲

查看英文原文 Theories for Modern Engineering Teams

2015 年 9 月 25 日 19:001396
用户头像

发布了 92 篇内容, 共 16.4 次阅读, 收获喜欢 4 次。

关注

评论

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

让你高效工作与学习的免费工具(1)

石云升

高效工作 效率工具 工具

严选合伙人(二)

Neco.W

创业 重新理解创业 合伙人

如何在一台计算机上安装多个 JDK 版本

mghio

Java jdk 版本管理工具

Java新技术:封闭类

范学雷

Java 架构 编程语言

Android | Tangram动态页面之路(二)介绍

哈利迪

android

松哥手把手带你入门 Spring Security,别再问密码怎么解密了

江南一点雨

Java spring Spring Boot spring security

Xtrabackup的安装使用

一个有志气的DB

MySQL 工具 数据的分片和备份

Redis稳定性实践

心平气和

redis 缓存 稳定性

尽管HTTP/3已经来了,HTTP/2也得了解啊

清远

网络协议 HTTP

一文带你看清HTTP所有概念

cxuan

HTTP

MySQL常用权限说明

一个有志气的DB

MySQL 用户研究

业余前端的日常

顿晓

学习 前端 日常 专家 知识体系

设计模式之观察者模式

设计模式

Redis实现热卖商品排行榜

北漂码农有话说

redis

回“疫”录(18):536公里的路

小天同学

疫情 回忆录 现实纪录 纪实 返程

Rust 与区块链四月月刊

Aimee 阿敏

区块链 rust 加密货币 crypto

如果你觉得学习 Git 很枯燥,那是因为你还没玩过这款游戏!

GitHubDaily

git GitHub 编程 程序员 开发者工具

Python3.6.1官方文档练习——初入江湖(二)

Sicolas Flamel

Mac 使用笔记

FeiLong

松哥手把手教你定制 Spring Security 中的表单登录

江南一点雨

Java spring Spring Boot spring security

更聪明地学习,而不是苦读——《如何高效学习》

mzlogin

学习

《零基础学 Java》 FAQ 之 7-Java 中的内存是怎么分配的

臧萌

Java JVM

聊聊我对技术一些性质的认识

Tanzv

技术 思考 新人

面试官:小伙子,听说你看过ThreadLocal源码?(万字图文深度解析ThreadLocal)

一枝花算不算浪漫

源码 并发编程 ThreadLocal

对于程序员,那些既陌生又熟悉的计算机硬件

架构师修行之路

微软 编程 程序员 cpu 架构师

Harbor 2.0的飞跃: OCI 兼容的工件仓库

亨利笔记

Kubernetes 容器 k8s Harbor 镜像

Python 核心技术与进阶 list & tuple

Bonaparte

谈谈控制感(5):怎么破控制感损失的局

史方远

职场 心理 成长

游戏夜读 | Scikit-learn迎来0.21之前

game1night

从一次排查ES线上问题得出的总结——熔断机制

罗琦

elasticsearch 源码分析 circuit break 熔断

《后浪》产品经理篇(恶搞版)

静陌

产品经理 后浪

2021 ThoughtWorks 技术雷达峰会

2021 ThoughtWorks 技术雷达峰会

现代工程团队的五个理论-InfoQ