《Team Geek》前言(中文,自己翻译的)

Introduction

前言

“Engineeringis easy. People are hard.”

——BillCoughran, former senior vice

presidentof engineering at Google

“做工程容易,做人难。”

——BillCoughran,谷歌工程前高级副总裁

Life isfull of unexpected twists, and the two of us never imagined

we’dsomeday write a book about software engineering.

人生充满了意想不到的纠结,我们两个人从来没有想到有一天我们会写一本关于软件工程的书。

Like most computer geeks, we discovered that our hobby and

passion—playingwith computers—was a great way to make a living

aftergraduating college. And like most hackers of our generation,

wespent the mid-1990s building PCs out of spare parts, installing

prereleaseversions of Linux from piles of diskettes, and learning to

administerUnix machines. We worked as sysadmins, and then at

thedawn of the dot-com bubble, became programmers in smaller

companies.After the bubble burst, we started working for surviving

SiliconValley companies (such as Apple) and later were hired by a

startup(CollabNet) to work full time on designing and writing an

opensource version control application called Subversion.

我们像大多数计算机极客一样,大学毕业之后发现我们的爱好和激情(玩计算机)是一种很好的谋生方式。我们也和我们那一代的大多数骇客一样,在20世纪90年代中期,用一些多余的部件组装个人计算机,用一堆磁盘安装Linux的预发布版本,学习如何管理Unix机器。我们做过系统管理员,在互联网泡沫的前夜我们成为了一家小公司的程序员。互联网泡沫破裂之后,迫于生计我们开始为活下来的硅谷公司(比如苹果)工作,后来我们被一家新创办的公司(CollabNet公司)全职雇佣去设计和开发一个叫 Subversion的开源版本控制软件。

Butsomething unexpected happened between 2000 and 2005.

Whilewe were creating Subversion, our job responsibilities slowly

changed.We weren’t just writing code all day in a vacuum; we

wereleading an open source project. This meant hanging in a

chatroom all day with a dozen other volunteer programmers and

payingattention to what they were doing. It meant coordinating

newfeatures almost entirely through an email list. Along the way,

wediscovered that the key to a project’s success wasn’t just writing

greatcode: the way in which people collaborated toward the end

goalmattered just as much.

但是2000年到2005年期间,发生了一些预想不到的事情。当我们在开发 Subversion的过程中,我们的工作职责在慢慢的变化。我们不再两耳不闻窗外事的整天写代码,我们开始带一个开源项目。这意味着我们要整天和一堆程序员志愿者泡在聊天室里,关注他们都正在做什么。这意味着要协调一个新功能,完全要依靠电子邮件列表。在这个过程中,我们发现,一个项目成功的关键不只是写出伟大的代码。在朝着最终目标努力的过程中,人与人之间的合作方式也事关重大。

In 2005 we started Google’s Chicago engineering office and

continuedour careers as programmers. At this point we were already

deeplyinvolved with the open source world—not just Subversion,

but theApache Software Foundation (ASF) too. We ported

Subversion to Google’s BigTable infrastructure and launched an

opensource project hosting service (similar to SourceForge) under

thebanner of Google Code. We began attending—then speaking

at—developer-centricconferences such as OSCON, ApacheCon,

PyCon, and eventually Google I/O. We discovered that by working

in bothcorporations and open source projects we had accidentally

pickedup a trove of wisdom and anecdotes about how real software

engineeringteams work. What began as a series of humorous talks

aboutdysfunctional development processes (“Subversion Worst

Practices”)eventually turned into talks about protecting teams from

jerks(“How Open Source Projects Survive Poisonous People”).

Larger and larger crowds gathered at our presentations in what

canonly be described as “group therapy” for software developers.

Everyonecould relate to the sorts of problems we talked about and

wantedto gripe about these problems as a group.

2005年,我们成立了谷歌芝加哥工程办公室继续我们的程序员生涯。这时候我们已经很深的介入了开源的世界,不只是 Subversion项目,还有Apache软件基金会(ASF,ApacheSoftware Foundation)。我们把Subversion移植到谷歌的 BigTable基础架构之上,在谷歌代码旗下开启了一个托管服务(类似SourceForge)的开源项目。我们开始参加开发者中心的一些会议,比如:OSCON、ApacheCon、PyCon,甚至是GoogleI/O,我们还在这些会议上做了发言。
在公司和开源项目的工作经历,使我们收集了一系列关于一个真正的软件工程团队如何工作的聪明想法和事例。这些材料开始于一系列的关于功能失调的开发过程(Subversion最差的实践),到了最后却变成了怎么保护团队远离笨蛋(开源项目如何在别有用心的人的干扰下存活)。大批的人群拥挤在我们的演示前面,这只能被称为是软件开发人员的集体疗伤。每个人都可能遇到我们谈到的那些各种各样的问题,每个人都想把这些问题一并抓住。

And sohere we are, six years later, with a pile of standing-room-

onlytalks about the social challenges of software development. Our

editorat O’Reilly Media, Mary Treseler, pointed out that we should

convertthese talks into a new book. The rest is history.

六年之后,我们挤在这里谈论软件开发的社会挑战。我们的 O’Reilly媒体的编辑 MaryTreseler指出我们应该将这些会谈写成一本书。上面的这些内容,就是这本书的历史。

Tryingto write great software? This book is for you.

想开发出伟大的软件吗?这本书就是为你量身订做的。

Who IsThis Book For?

这本书适合什么样的读者?

Thisbook is squarely written for software developers—for those

who aretrying to advance their careers and ship great software.

It’snot particularly aimed at CEOs, psychologists, “management,”

computerscience theoreticians, or people soldering breadboards

(thoughthose folks may enjoy it too). As our reader, we’re assuming

twoimportant things about you:

•   You work on a team with other programmers.Either you work

in acorporate environment, or perhaps you’re part of an open

sourceor school project.

•   You enjoy software engineering and believeit should be a

rewardingand fun activity. If you’re only turning 1s into 0s and

0s into1s in order to pay off the debt collector, you probably

aren’tinterested in self-actualization or career fulfillment.

这本书适合努力发展他们的事业并试图开发出伟大的软件的开发者。这本书不适合首席技术官、心理学家、“管理人员”、计算机理论科学家或者电路板焊接人员(或许他们很喜欢这本书)。作为我们的读者,我们假定你具有以下两个重要特征:

•   你和其他程序员在一个团队里一起工作。不管你是在一个公司,还是在一个开源项目或者学校项目之中。

•   你喜欢软件工程,并且坚信它是一个既有趣又有益的一个活动。如果你只是为了还清债务而把1转化为0、把0转化为1,你应该不会对自我实现或者职业发展有兴趣。

In theprocess of discussing how engineers best “play well

withothers,” we end up touching on a number of subjects that

(superficially)may seem to be out of a programmer’s job description.

Atdifferent points we discuss how to lead a team effectively,

navigatean organization, and build a healthy relationship with

theusers of your software. On the surface these chapters may

seemspecifically directed toward “people managers” or “product

managers”—butwe assure you that at some point in your software

engineeringcareer you’ll find yourself accidentally wearing those

hats.Suspend your disbelief and keep reading! Everything in this

book isultimately relevant to software engineers.

在探讨软件工程师怎么样和他人进行很好的合作的过程中,我们最终遇到了一些看起来已经超出了一个程序员的工作范畴之外的议题。在不同的阶段,我们探讨怎么样更好的带领一个团队,怎么样削减一个组织,怎么样和软件使用者建立一个良好的关系。表面上这些章节似乎是和“人力管理”或“产品管理”直接相关的,但是我们可以肯定在你的软件工程师生涯的某个阶段,你会用到这些知识。把怀疑放到一边,继续阅读吧!这本书的所有内容最终都是和软件工程师相关的。

Warning:This Is Not a Technical Manual

警告:这不是一本技术手册

Beforewe start, we need to set your expectations. Motivated

programmerslove to read books that lay out domain-specific

problemsin a perfect mathematical presentation; each problem is

typicallypaired with a prescribed procedural solution.

开始之前,我们需要修正下你对这本书的预期。目的性明确的程序员喜欢读那些针对特定领域的问题有完美数学解决方案的书,这样的书里面的每个问题都搭配一个规定的解决方案。

This isnot such a book.

这本书不是那样的书。

 

 

时间: 2024-09-17 04:50:17

《Team Geek》前言(中文,自己翻译的)的相关文章

Underscore.js 1.3.3 中文注释翻译说明_基础知识

// Underscore.js 1.3.3 // (c) 2009-2012 Jeremy Ashkenas, DocumentCloud Inc. // Underscore is freely distributable under the MIT license. // Portions of Underscore are inspired or borrowed from Prototype, // Oliver Steele's Functional, and John Resig'

Visual Studio Team System 2008 中文零售版 BT下载

问题描述 VisualStudioTeamSystem2008中文零售版BT下载http://bbs.btbbt.com/thread-3034345-1-1.html 解决方案 解决方案二:呵呵偶的都不用注册不支持零售解决方案三:该回复于2008-03-19 08:35:58被版主删除解决方案四:该回复于2008-05-09 11:18:38被版主删除解决方案五:VS2008早就用过了.英文版我都快用了半年了.解决方案六:收藏研究感谢!------------------IOAS:易学易用.灵

Team Geek 阅读笔记之 第二章 Building an Awesome Team Culture

1.But a team's culture isn't just the way in which team members writecode or treat one another: it's a set of shared experiences, values,and goals that is unique to every engineering team we've ever beenon or observed. The founding members of a team

Team Geek 阅读笔记之 第三章 Every Boat Needs a Captain

本章的主要是写给那些处于非官方管理位置的人. 如果你是积极并且渴望引导一个团队去实现项目的人,那么这个项目的leader就有可能是你. 我们不赞成像管理流水线工人(采取胡萝卜加大棒的方式)一样管理工程师. 在工程行业里,manager已经过时了,我们推荐使用leader来替代这个词. manager担心的是如何完成工程,leader将制定路线. 作为一个leader,并不是所有的事情都需要管. 很多工程师不愿意成为manager的最重要的原因就是,他们将只有很少的时间来写代码.如果你一直在写代码

请问Item renderers中文怎么翻译

问题描述 看了flex 的英文文档,里面有一个词汇item renderers不是很理解?请问中文如何解释呢?谢谢. 解决方案 解决方案二:render 可以理解为渲染.呈现,具体的意思还要看上下文.解决方案三:render 一般在界面上指画出,渲染出,呈现出等等,反正就是表现出来的意思.所以我的理解 item renderers 是负责画出item的组件,个人意见,仅供参考.

《Team Geek》 阅读笔记之 第四章 如何处理有害的人

一个好的团队文化应该是:谦逊.尊重.信任. 对于团队成员的不好的行为,不可以容忍和放纵.但是简单的把人分为好人和坏人是很幼稚的行为,而应该以这个人的行为来划分,什么行为是不好的,什么行为是好的. 必须保证项目关注的焦点不受到有害人员的影响,不然的话大部分人的精力就花在了偏离项目本质的一些事物之上.而不是去实现伟大的软件. 大多数不好的行为都可以归结为缺乏谦逊.尊重和信任. 有的时候,有的想法不见得是错误的,但是它偏离我们项目的目标太远了,我们不应该在这个想法上面浪费时间去探讨它是否正确,这对我们

android中文api(85)——HorizontalScrollView

前言 本章内容是android.widget.HorizontalScrollView,译为"横向滚动条",版本为Android 2.3 r1,翻译来自"Tina",感谢"Tina"为大家带来精彩的翻译稿 !期待你加入Android API 中文的翻译,联系我over140@gmail.com.   声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com/ Android中文翻译组:http://goo.

Android 中文api (81)——InputMethod [输入法]

前言 本章内容是android.view.inputmethod.InputMethod,为输入法相关章节,版本为Android 2.3 r1,翻译来自"六必治",欢迎大家访问他的博客:http://www.cnblogs.com/zcmky/,再次感谢"六必治" !期待你加入Android API 中文的翻译,联系我over140@gmail.com.   声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com/ Andr

Android 中文API(86)——ResourceCursorAdapter

前言 本章内容是android.widget.ResourceCursorAdapter,版本为Android 2.3 r1,翻译来自"HalZhang",欢迎大家访问他的博客:http://www.cnblogs.com/halzhang,再次感谢"HalZhang" !期待你加入Android API 中文的翻译,联系我over140@gmail.com.   声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com/ A