标题：高扩展性网站的50条原则
基本信息
  封面
定价 ：￥35.00
原书名：Scalability Rules: 50 Principles for Scaling Web Sites 
作者： (美)Martin L.Abbott    Michael T.Fisher   
译者： 张欣 杨海玲 
丛书名： 图灵程序设计丛书 
出版社：人民邮电出版社 
ISBN：9787115275721
上架时间：2012-5-22
出版日期：2012 年6月
开本：16开
页码：1
版次：1-1
所属分类： 计算机 > 计算机网络 > Web Server > 综合
编辑推荐
网站运营的必备宝典
详细分析网站扩展性的通用原则
业内专家多年实战总结，亚马逊书店好评如潮
内容简介
《高扩展性网站的50条原则》减少dns 查找、尽可能减少对象等，每个原则都与不
同的主题绑定在一起。大部分原则是面向技术的，只有少量原则解决的是与关键习惯和
方法有关的问题，当然，每个原则都对构建可扩展的产品至关重要。
《高扩展性网站的50条原则》适合各层次web 开发人员阅读。 
作译者回到顶部↑本书提供作译者介绍
Martin L. Abbott业界资深管理者，曾参与管理过多家世界500强企业和创业公司。
AKF Partners公司创始人。曾任Quigo公司首席运营官（该公司后被AOL收购），eBay公
司高级副总裁和首席技术官，还曾在Gateway和摩托罗拉担任重要职位。现任多家技术公
司董事，多所高校、公共机构以及私企的咨询顾问。Martin分别于西点军校和佛罗里达
大学取得计算机学士和硕士学位，并参加过哈佛大学商学院高级经理培训，目前在西储
大学攻读博士学位。
Michael T. Fisher业界资深管理者，曾参与管理过多家世界500强企业.. << 查看详细
目录
第1章　 化简方程　 　 1 
1.1　 原则1：不要过度设计　 　 2 
1.2　 原则2：设计时就考虑扩展性（d-i-d方法）　 　 6 
1.2.1　 设计　 　 7 
1.2.2　 实现　 　 8 
1.2.3　 部署　 　 8 
1.3　 原则3：把方案一简再简　 　 10 
1.3.1　 如何简化范围　 　 10 
1.3.2　 如何简化设计　 　 11 
1.3.3　 如何简化实施　 　 12 
1.4　 原则4：减少dns查找　 　 13 
1.5　 原则5：尽可能减少对象　 　 16 
1.6　 原则6：使用同一品牌的网络设备　 　 19 
1.7　 小结　 　 21 
参考资料　 　 21 
第2章　 分布工作　 　 23 
2.1　 原则7：横向复制（x轴原则）　 　 25 
2.2　 原则8：拆分不同的东西（y轴原则）　 　 29 
2.3　 原则9：拆分相近的东西（z轴原则）　 　 32 
.2.4　 小结　 　 34 
参考资料　 　 34 
第3章　 横向扩展设计　 　 35 
3.1　 原则10：设计横向扩展方案　 　 36 
3.2　 原则11：采用经济型系统　 　 39 
3.3　 原则12：横向扩展数据中心　 　 42 
3.4　 原则13：利用云技术进行设计　 　 48 
3.5　 小结　 　 50 
参考资料　 　 50 
第4章　 使用正确的工具　 　 51 
4.1　 原则14：合理使用数据库　 　 52 
4.2　 原则15：防火墙，到处都是防火墙　 　 59 
4.3　 原则16：积极利用日志文件　 　 63 
4.4　 小结　 　 66 
参考资料　 　 66 
第5章　 不要重复工作　 　 67 
5.1　 原则17：不要立即检查刚做过的工作　 　 68 
5.2　 原则18：停止重定向　 　 72 
5.3　 原则19：放松时序约束　 　 77 
5.4　 小结　 　 80 
参考资料　 　 80 
第6章　 积极利用缓存　 　 81 
6.1　 原则20：利用cdn　 　 82 
6.2　 原则21：使用过期头　 　 85 
6.3　 原则22：缓存ajax调用　 　 90 
6.4　 原则23：利用页面缓存　 　 95 
6.5　 原则24：利用应用缓存　 　 98 
6.6　 原则25：利用对象缓存　 　 102 
6.7　 原则26：把对象缓存放在自己的“层”上　 　 105 
6.8　 小结　 　 107 
参考资料　 　 107 
第7章　 从错误中吸取教训　 　 109 
7.1　 原则27：积极地学习　 　 110 
7.2　 原则28：不要依靠qa发现失误　 　 113 
7.3　 原则29：没有回退功能的设计是失败的设计　 　 117 
7.4　 原则30：讨论失败并从中吸取教训　 　 120 
7.5　 小结　 　 124 
参考资料　 　 124 
第8章　 数据库原则　 　 125 
8.1　 原则31：注意代价高的关系　 　 126 
8.2　 原则32：使用类型正确的数据库锁　 　 130 
8.3　 原则33：不要使用多阶段提交　 　 133 
8.4　 原则34：不要使用select for update　 　 135 
8.5　 原则35：不要选择所有数据　 　 137 
8.6　 小结　 　 140 
参考资料　 　 140 
第9章　 容错设计与故障控制　 　 141 
9.1　 原则36：采用隔离故障的“泳道”　 　 142 
9.2　 原则37：绝对不要信任单点故障　 　 148 
9.3　 原则38：避免系统串联　 　 151 
9.4　 原则39：确保能够启用/禁用功能　 　 155 
9.5　 小结　 　 158 
第10章　 避免或分发状态　 　 159 
10.1　 原则40：努力实现无状态　 　 161 
10.2　 原则41：尽可能在浏览器端维护会话　 　 164 
10.3　 原则42：利用分布式缓存存放状态　 　 167 
10.4　 小结　 　 170 
参考资料　 　 170 
第11章　 异步通信和消息总线　 　 171 
11.1　 原则43：尽可能使用异步通信　 　 172 
11.2　 原则44：确保消息总线能够扩展　 　 175 
11.3　 原则45：避免让消息总线过度拥挤　 　 179 
11.4　 小结　 　 182 
第12章　 其他原则　 　 183 
12.1　 原则46：慎用第三方解决方案扩展　 　 184 
12.2　 原则47：清除、归档和成本合理的存储　 　 187 
12.3　 原则48：删除事务处理中的商业智能　 　 192 
12.4　 原则49：设计能够监控的应用　 　 195 
12.5　 原则50：要能胜任　 　 199 
12.6　 小结　 　 202 
参考资料　 　 202 
第13章　 原则回顾和优先级划分　 　 203 
13.1　 评估扩展项目和主动权的风险?收益模型　 　 204 
13.2　 扩展原则的收益/优先级等级　 　 235 
13.3　 小结　 　 238
前言
感谢你对本书感兴趣！本书既可以作为初级读物，又可以作为复习资料和简单的参
考手册，帮助每一位工程师、架构师、管理者开发和维护可扩展的互联网产品。本书设
计了一系列原则，每个原则都与不同的主题绑定在一起。大部分原则是面向技术的，只
有少量的原则解决的是与关键的习惯和方法有关的问题，当然，每个原则都对构建可扩
展的产品至关重要。这些原则的深度和关注点各不相同。有些原则是通用的，如定义一
个几乎适用于所有可扩展性问题的模型；而有些原则则是专用的，解释了某种技术，例
如，如何修改文件头，从而让内容尽量适合缓存。 
快速使用指南 
对于经验丰富的工程师、架构师和管理者来说，都应该首先阅读所有原则开头的说
明部分，它包含了原则的目的、适用情形、应用方式以及应用理由。读者可以按顺序浏
览每一章，也可以直接跳到第13章，该章汇总了所有原则的开头说明部分。读过这些说
明之后，再去阅读对你来说全新的章节或者你感兴趣的章节。 
对于经验较少的读者来说，一下子面对50条原则可能会令你不知所措。我们虽然确
信你最终会了解所有原则，但是也充分理解你需要根据事情的轻重缓急来分配时间。正
因为如此，我们专为管理者挑出了5章内容（第1、2、4、7、12章），为软件开发人员挑
出了5章内容（第1、2、5、10、11章），为技术运维人员挑出了5章内容（第2、3、6、8
、9章），你应该优先阅读相应章节的内容，这样可以帮助你尽快掌握高扩展性知识。 
无论你具体从事哪种工作，我们都建议你在有时间的时候阅读本书的所有原则，熟
悉这些原则和概念。本书很薄，也许在某次短途航班上就能读完。 
本书可以作为案头的参考资料。如果你想修正或者重新架构现有产品，那么第13章
提供了一种方法，可以让你基于成本和预期收益的考虑将这些原则应用到现有平台上。
如果你已经有了自己的分级方法，那么除非你认为我们的更好，否则还是不要改变它。
如果你还没有分级方法，那么我们的方法则可以帮助你考虑首先应该应用哪条原则。 
如果你刚开始开发一个新产品，那么这些原则可以算是开发高扩展性产品的最佳实
践。在这种情况下，第13章提供的划分优先级的方法，可以在你设计产品时指导你最应
该考虑哪些方面。你应该看看那些最可能使短期和长期需求具有高可扩展性的原则，然
后将其付诸实践。 
对于所有公司来说，这些原则有助于形成一套推动未来发展的架构理论。选用原则5
、原则10或者原则15能使你的产品具有高扩展性，并可使用它们提升现有设计。工程师
和架构师可以针对你选的每一条扩展原则提出一些问题，以确保新的设计能达到高扩展
性标准。尽管这些原则是具体且固定的，但仍然有可修改的空间，具体要视系统的特殊
要求而定。如果你和你的团队具有丰富的扩展经验，那么可以对这些原则进行必要的修
改，使它们适用于特定场景。如果不具备这种经验，那就严格遵守这些原则吧，看看它
们能实现多大的可扩展性。 
最后要说的是，本书还可当做一本参考手册。第13章是一个快速索引，概述了所有
原则。无论是遇到了问题，还是想开发一个更具备扩展性的解决方案，都可以查阅第13
章，以最快的速度找到能脱离困境的原则，或者在新的开发过程中发现最佳路径。除了
把本书作为案头的参考手册，你还可以用各种方法把它融入到组织中，例如每周实践一
两个原则并且在技术例会上讨论。 
本书写作意图 
目前市场上还没有什么关于高扩展性的好书。就讲述的方法而言，本书在市场上独
一无二。它是第一本以面向原则的方式阐述高扩展性的书，又是第一本既提供了相关主
题概览，又可以作为参考手册的书。对于想将本书应用于现有平台的读者，我们还特别
准备了一章，对50条原则进行了总结和分级。 
在我们的博客上，得到评论最多的一篇博文是关于将高扩展性作为一门学科的。我
们和那些研究扩展性问题的专家都认为，当今的科技公司急需高扩展性架构师。在计算
机系统发展的早期，几乎人人都是程序员，然后逐渐分化为运维人员、DBA、架构师等。
现在的技术团队是由许多不同学科和专业的人才组成的，其中就缺少高扩展性架构师这
类人才。 
DBA只需要把自己的事情做完，而不必再教其他人，除非正在带初级DBA。而高扩展
性架构师则与之不同，他们的一项主要职责就是培养技术人员。高扩展性架构师应该是
老师与布道者，而不是知识的保密者。我们把50条原则集合起来，为这种教学奠定基础
，相信这50条原则能够为扩展自己系统的公司提供指导性帮助。 
如何决定选用哪50条原则 
决定选用哪些原则并不容易。一本书可以轻松地写上100条甚至200条原则。我们选
用原则的标准是看我们最常向客户提出哪些建议，以及我们针对客户的产品最常推荐哪
些变更、添加和修正。我们发现在前50条原则之后，推荐率大幅下降。这并不是说，前
50条原则的推荐率是完全相等的，也不是说第51条就相当不常用。只是说，我们经常向
客户推荐这50条。这些原则的介绍顺序也并不是根据它们的推荐频率来排的。在第13章
中，我们对每条原则能降低多少风险，以及实施或采用起来的成本进行了评级，然后根
据应用这些原则的好处和优先级对它们进行了分组。 
本书和The Art of Scalability 有什么不同 
The Art of Scalability是我们所著的有关该主题的第一本书，重点关注人员、方
法和技术，而本书则专注于技术。不要误解了，我们始终认为人员和方法是构建高扩展
性解决方案最重要的因素。毕竟，在制定可扩展的解决方案方面获得成功或遭遇失败的
是公司，而公司则是由做出贡献的个体和管理制度构成的。扩展的失败不是技术的过失
，它是人在构建、选择或集成时犯下的错误。不过我们认为，The Art of Scalability
一书已经足以解决与高扩展性相关的人员和方法的问题，而我们想要的是在技术方面更
深入一层。 
本书展开论述了上一本书的第三部分（技术部分）。本书中的内容比上一本书更新
，讨论的方式也更技术化。上一本书中讨论过的内容，本书中都进行了扩展，或者用稍
微不同的方式进行了定义，以便读者更好地理解这些概念。 
媒体评论
“本书是Abbott 和 Fisher的又一力作，我想把它推荐给我们公司的所有工程师。对于
处理在线业务可扩展性的每一位人士，本书必不可少。” 
——Chris Lalonde，Bullhorn公司副总裁 
“Abbott和Fisher从实践出发，再次以独一无二的方式解决了扩展性难题。目前，
网站设计要素错综复杂且不断增多，两人将这些难题和挑战总结为50条功能强大、简单
易用的原则。可以说，本书是关于网站扩展性秘诀的秘籍，它能够指引读者穿越‘爆发
式增长网络难题的迷雾’，创建扩展性优良的网站。” 
——Geoffrey Weber，Shutterfly公司副总裁 
“50条原则是Abbott和Fisher多年智慧的结晶，运用这些原则可以避免网站的许多
特殊问题。这套原则强大、令人信服！” 
——Jonathan Heiliger，Facebook副总裁

基本信息
  封面
原书名：Making It Big in Software：Get the Job,Work the Org,Become Great 
定价 ：￥69.00
作者： (美)Sam Lightstone   
译者： 万晓光 
出版社：人民邮电出版社 
ISBN：9787115266972
上架时间：2012-5-22
出版日期：2012 年6月
开本：16开
页码：1
版次：1-1
所属分类： 计算机 > 软件与程序设计 > 综合 > 综合
内容简介
计算机书籍
《远大前程:从软件新手到行业大牛》是软件行业的职业生涯规划宝典。围绕从事软
件行业所需的各种职业软技能，本书进行了大量深入细致的探讨，其中更附上了与诸多
业内大鳄的深入对话。
《远大前程:从软件新手到行业大牛》分为三个部分，从夯实基础，到领导团队，再
到走向卓越，它沿着软件职业新人的发展轨迹娓娓道来。因此，本书适合于各年龄层次
和各阶层的软件人员阅读、学习。他山之石，可以攻玉。对于软件行业之外的学生、职
场人士，本书也是不可多得的就业参考。 
作译者回到顶部↑本书提供作译者介绍
Sam om的创始人，IBM软件集团的项目总监和高
级技师，一位颇受欢迎的演说家、作家和多产的发明家，为许多世界500强企业、工程与
科技会议、重点大学做过关于职业、科技趋势和新兴研究方面的演讲。他也是IEEE数据
工程工作组自管理数据库系统的创始人，是IEEE计算机技术委员会国际咨询委员会自主
计算系统的成员。他独立或联合拥有的发明专利已达30多项，并曾出版过一些书和科技
论文。eWeek、InformationWeek、InfoWorld和MIT Technology Review都曾对他做过专
门报道。Ligh.. <<
目录
第一部分 基本功 
第1章 什么是成功　　2 
1.1 软件大师们是如何做的　　3 
1.2 追随天赐之福　　4 
1.3 何苦乃尔　　6 
1.4 并非你想得那么难　　8 
第2章 什么是优秀的软件　　9 
2.1 软件项目失败和其他难忘的经历　　10 
2.2 市场决定我们的一切行为　　11 
2.3 两类客户:现有客户和潜在客户　　12 
2.4 制胜的战略战术　　13 
2.5 何时(不)倾听你的客户　　17 
专访marissamayer　　19 
第3章 学校与工作　　25 
3.1 有限的眼界　　25 
3.2 学校是鱼缸　　26 
3.3 行业是鱼缸　　26 
3.4 利用差异　　27 
专访jonbentley　　30 
.第4章 不可能的任务? 找到一份软件开发的工作　　35 
4.1 明智地选择　　35 
4.2 应届毕业生的简历　　37 
4.3 软件开发的“杀手简历”　　38 
4.4 简历之外的策略　　39 
4.5 成绩到底有没有价值　　42 
4.6 业余活动的价值　　43 
4.7 为什么实习经历能显著地提高你成功的几率　　43 
4.8 成功面试的15个要点　　44 
专访bjarnestroustrup　　49 
第5章 软件开发人员如何走好职业生涯前几步　　54 
5.1 行业技能　　54 
5.2 软件业的经营之道　　55 
5.3 建立领域专长　　56 
5.4 温故而知新　　56 
5.5 观察领导者　　57 
5.6 着手建立你的人际关系网　　57 
5.7 你想成为哪种人　　58 
5.8 人人都需要导师　　59 
5.9 快乐孕育成功　　60 
专访richardstallman　　63 
第6章 基本技能:有些甚至是门技术　　67 
6.1 硬技能和软技能　　67 
6.2 职业发展所需的技术技能　　68 
6.3 编程语言:哪些热门,哪些不那么热　　68 
6.4 调试　　70 
6.5 通过规范评审、设计评审和代码审查　　72 
6.6 成长的技能　　73 
6.7 在大多数组织高层所需的软技能　　75 
6.8 终极软技能:情商　　76 
专访raytomlinson　　80 
第7章 软件研发组织的甜蜜科学　　88 
7.1 软件行业里的角色及其职责　　88 
7.2 好与优秀　　92 
7.3 职业效力三法则　　92 
7.4 商务沟通的四种模式　　94 
7.5 永远不要让老板莫名惊诧　　96 
7.6 印象和系统容忍度　　97 
专访peternorvig　　98 
第8章 职业生涯的杀手　　102 
8.1 人的问题　　102 
8.2 团队的问题　　105 
8.3 工作效率的问题　　106 
8.4 成长的问题　　108 
8.5 基本原则与偶然事件　　110 
第二部分 领导力 
第9章 协调能力　　112 
9.1 电子邮件不能说服别人　　112 
9.2 付出才有收获:培养感情　　113 
9.3 利用你的社会关系网　　115 
9.4 谈判基础知识　　115 
9.5 卓有成效的沟通　　119 
9.6 穿出成功:穿跑鞋　　120 
9.7 仅仅达成一致是不够的　　121 
专访johnschwarz　　123 
第10章 成功的软件项目提案　　128 
10.1 核心竞争力　　129 
10.2 成功的提案是如何炼成的　　130 
10.3 推销的艺术　　132 
10.4 个人韧性　　133 
10.5 更进一步　　134 
专访linustorvalds　　135 
第11章 职业发展　　140 
11.1 为什么评价和晋升如此不科学　　140 
11.2 纪录是信誉,而信誉是一切　　141 
11.3 说出你的成就　　142 
11.4 目标导向型的职业发展　　143 
11.5 你的经理对你职业发展的影响　　147 
11.6 管理伙伴的秘密影响　　149 
11.7 真诚地推销别人　　150 
11.8 升职可能性倒置的秘密　　150 
专访markrussinovich　　153 
第12章 时间管理　　161 
12.1 以目标为中心的时间管理　　162 
12.2 以任务为中心的时间管理　　163 
12.3 影响圈与关注圈　　164 
12.4 优柔寡断可能是你的问题,但也可能不是　　165 
12.5 行动时要有紧迫感　　166 
12.6 浪费多少时间算合理　　167 
12.7 电子邮件的蹂躏　　168 
专访davidvaskevitch　　172 
第13章 避免软件开发延期　　176 
13.1 不要成为moe　　176 
13.2 软件项目延迟的现象有多普遍　　179 
13.3 软件项目为什么会延期　　180 
13.4 已经延迟了,该怎么办　　187 
13.5 对软件开发延迟的最后思考　　189 
专访gradybooch　　191 
第14章 禅和平衡的临界艺术　　198 
14.1 工作与生活的平衡　　199 
14.2 组织文化对平衡的影响　　200 
14.3 生活对工作的影响　　201 
14.4 模式、可能性及自我界定　　201 
专访tom malloy　　204 
第15章 软件项目管理秘笈　　211 
15.1 面向目标的项目管理:从空间计划得来的经验教训　　211 
15.2 管理人性　　214 
15.3 聘用实习生　　215 
15.4 价值衡量的意义　　216 
15.5 没有完美的项目计划　　218 
15.6 评估开发成熟度　　219 
15.7 软件的缺陷、成本和效率　　224 
15.8 你不能测试质量　　226 
专访jamesgosling　　228 
第16章 走向成功:从技术专家到领导者　　234 
16.1 领导与管理　　234 
16.2 领导风格　　236 
16.3 成为权威　　238 
16.4 先行动,再报告　　238 
16.5 建设团队并招募最优秀的人　　239 
16.6 追随金钱　　243 
16.7 种瓜得瓜　　244 
16.8 创造共同价值观　　245 
16.9 有效授权　　246 
16.10 引导他人　　246 
第三部分 卓越之路第17章 软件创新中的领导力　　250 
17.1 为何创新　　250 
17.2 成功的软件创新　　252 
17.3 创新的机遇　　254 
17.4 头脑风暴　　255 
17.5 价值感知周期　　255 
17.6 培养创新能力的12种方法　　257 
17.7 99%的汗水　　262 
专访robertkahn 博士　　263 
第18章 走向成功:从领导者到远见卓识者　　271 
18.1 成为权威　　271 
18.2 个人广度　　272 
18.3 相信自己掌握新思想、新技术的能力　　273 
18.4 熟练的商业技能　　274 
18.5 申请专利　　275 
18.6 著书立说　　278 
18.7 公开演讲　　281 
18.8 成功是个差劲的老师　　283 
18.9 高级社交网络(书呆子的滋补品)　　284 
18.10 热爱软件艺术,注重开发流程　　285 
专访stevewozniak　　287 
第19章 先知先觉　　294 
19.1 从事任何软件工作的最初几个月　　294 
19.2 你为谁工作　　296 
19.3 你与谁一起工作　　297 
19.4 管理你的上司　　297 
19.5 创造机会　　298 
19.6 等到你完全准备好就太晚了　　299 
专访marcbenioff　　301 
第20章 创立自己的公司:软件创业　　309 
20.1 好点子与好生意　　309 
20.2 计划和推销　　310 
20.3 自主研发　　311 
20.4 融资　　312 
20.5 创收　　314 
20.6 跨越鸿沟　　314 
20.7 快速敏捷　　317 
20.8 成长与收购　　318 
20.9 如何被收购　　319 
专访dianegreene　　322 
第21章 各种薪酬形式　　329 
21.1 各类公司之间的薪酬差异　　329 
21.2 研究生学位对于薪酬和职业发展潜力的影响　　330 
21.3 股票期权　　331 
21.4 股票奖励　　332 
21.5 奖金计划　　332 
21.6 退休计划　　332 
21.7 典型的工资范围(2010~2013)　　333 
21.8 间接报酬　　333 
21.9 教父式的思考　　335 
第22章 如何实现远大前程　　337 
22.1 谁会成功　　337 
22.2 成功是什么　　338 
22.3 为什么有些人没有或者未能取得成功　　339 
22.4 结语　　339 
译者序
刚拿到这本书时，其实并不理解作者为何用“MakingitBig”作为
书名。但读完之后，我终于理解了“MakingitBig”所蕴含的深意以及它对于职业生涯成
功的重要性。本书所覆盖的知识和技能非常宽广，视角也是全方位的，从学生到首席执
行官/首席技术官、从学校到产业界、从硬技能到软技能、从编程能力到领导力、从员工
到创业者，等等。我从未见过有哪一本书像本书一样如此广博地讲述IT人员职业发展，
作者Lightstone从软件工程师职业发展角度出发，对各阶段所需要的软技能和硬技能进
行了深入细致的探讨，与我们分享了他和业界其他成功人士的宝贵经验，并提供了一系
列战略战术帮助我们提高自己的核心技能。Lightstone在书中收录了他对17位软件行业
风云人物的采访记录，其中C++ 之父BjarneStroustrup、Java之父JamesGosling、
Internet之父RobertKhan和Linux之父LinusTorvalds等业内不同领域的领袖级人物。借
用这些大师的视角，我们可以从另一个维度审视软件行业的历史、现状和未来，规划自
己的职业生涯，达成自己的职业发展目标。软件行业是个快速发展的行业，充满机遇和
挑战。每天，世界各地千千万万的从业者都在为自己的职业发展奋斗着，试图通过自己
的努力和创新来改变人们的生活，改变这个世界。有些人抓住机遇并取得了成功，更多
的人却还在苦苦寻觅。没有抓住机遇的人可能会认为自己只是一个普通人，成功天生就
不属于自己。但是，Lightstone在书中告诉我们，成功并不是遥不可及的目标，我们每
一个人都可以去追 
求成功，问题在于: 
我们确实热爱自己的工作吗? 
我们为自己的未来作了规划吗? 
我们开始行动了吗? 
事实上，对成功人士而言，成功所需要的很多技能也不是与生俱来的。在工作和生
活中，我们每一个人都可以有步骤、有计划地去发挥自己的优势，弥补自己的劣势，历
练心智，更好地与人合作，积极创新，并最终取得职业上的成功。放眼全球软件行业，
各种各样的新技术、新产品和新的创业公司不断涌现出来，软件行业中的创新永无止境
。比如，云计算、iPhone和iPad是人们热衷于谈论和使用的创新技术和产品，Google、
Salesforce、Facebook和Twitter是人们羡慕的创业公司。那么，是什么样的人创造发明
了这些大家喜爱的技术和产品? 是什么样的人创立了这些成功的公司? 作为软件工程师
，我们如何做才能成为这样的创新者、预见者和创业家呢? Lightstone在本书中对这些
主题一一进行了探讨，并详细分析了这些产品和公司能够取得成功的原因。对于任何有
志于在软件行业打拼的人士来说，本书就是一部通往成功之路的行动指南。 
对于这样一本知识面宽广的书，其翻译过程本身也是一种学习和历练。书中所分享
的经验、观点、技能和方式方法在很多方面都对我自身有所启发，让我重新审视了自己
所处的职业发展阶段，思考在此阶段我需要拥有哪些技能，以及为了下一步的发展我需
要着重提升哪方面的能力。除此之外，本书对工作自由、工作生活平衡、时间管理、软
件项目管理、领导力、创业和融资以及什么是成功等方面也给出了细致的阐述。所有这
些信息，对我来说，无论是作为老板的员工还是作为下属的经理，也无论是在与组织和
上级进行沟通还是在管理和领导团队成员时，都非常实用。特别值得一提的是，宽广的
视野和全面的涉猎使得该书不仅仅对软件从业人员有非凡的指导意义，而且几乎对于其
他任何行业的从业者都有一定的参考价值。比如，对于Lightstone就时间管理和人际关
系管理等软技能方面所分享的经验和建议，我的妻子就相当认同，并且已将其中一部分
运用到她的工作当中。尽管她是金融领域的研究者，但这些技巧不仅帮助她管理好较灵
活的研究时间，也很好地处理了与经济界各类人物的交往和交流。 
最后，感谢向怡宁先生的引荐，也感谢图灵公司给了我翻译本书的机会。由于译者
水平有限，书中错漏难免，恳请广大读者指正。在本书中文版的出版过程中，图灵公司
的傅志红、李松峰、杨海玲、李莉萍等老师给予了我大量的支持和帮助，并针对译文中
的错漏和不足之处及时进行了指导，在此对各位老师的帮助致以衷心的感谢! 
前言回到顶部↑　　“因而，圣人Chaninah会说:我从老师那里学到了很多，从朋友那里
学到得更多，但从学生那里学到的是最多的。” 
———引自犹太拉比语录《父执伦理》，约公元200年 
我们进入大学是打算学习一门技能，但收到的却只是一门心思的教育。很遗憾，我
们在学校接受到的正规教育与取得职业生涯成功所需的技能之间有着很大的差距。职业
生涯发展所需要的许多基本技能不仅没在学校里传授，而且基本上也没有在其他任何地
方传授。软件业的发展规律充满了活力四射的自由风格，这给从业者的事业发展带来了
一些特有的挑战。软件业具有典型的美国企业文化的表象，但实质上有很多独到之处。
在这个行业，你可以看到乳臭未干的少年黑客与炙手可热的名牌大学博士生针锋相对，
也可以看到不修边幅的着装风格在执行总裁身上发扬光大。 
我写这本书，是想分享一些能够成功穿越这些激流险滩的策略，从而激发你的职业
发展潜能。同时，本书也收录了一些对软件业最有影响力的创新家和领导者的访谈，毫
不夸张地说，这些人在过去的30年里改变了全世界。1991年，我还是加拿大皇后大学电
气工程专业四年级的学生，即将完成学业并准备寻找一份工作。 那时，电气工程学院在
每周五下午会邀请一位客座嘉宾进行讲座，以鼓舞和启发我们这些可塑的年轻人。讲座
涵盖的技术主题很宽泛，从高压输电线路到CMOS超大规模集成电路设计。但我认为，大
部分的讲座对我其实并没有多大的启发。直到有一天，一位嘉宾带来了全新的话题。他
和我们谈起“现实生活”以及我们对毕业后的生活有何期待。我立即被这个主题吸引了
。而这也是我还保留笔记的唯一一次四年级研讨会。我的大部分同学和我一样，对毕业
后的生活很茫然。有些同学虽然已经找到了技术方面的临时暑期工作，但由于是实习工
作，他们仍然十分欠缺经验。那时我就想，如果将来有机会，我一定会投桃报李，以志
愿者的身份回到校园和大学生分享我的经验。2000年前后，我开始在一些名牌大学做一
系列关于职业发展规划的演讲，台下常常是座无虚席。这些演讲讲义正是本书的基石。
其中的一些想法是我自己的体会，但也有很多来自于过去30年涌现的最杰出的商业思想
家和软件布道者们。这本书旨在为你提供那些在学校和日常工作生活中得不到的东西:迈
向成功的技能。 
读者对象 
本书适合各年龄层次和各阶层的软件人员，无论是刚刚进入软件行业的新手，还是
已经有数十年工作经验的老手。写这样一本书并不容易，因为不同年龄层和不同团体的
兴趣点是不一样的。不过，根据近20年参与招聘、管理以及指导软件人才的经验，我发
现了不同年龄和阶层的人都乐于了解的一些主题。这些主题正是本书的中心。本书对计
算机专业的师生也会有所帮助，因为它生动地介绍了IT 职业软技能。 
组织结构 
本书分为三大部分:基本功、领导力和卓越之路。第一部分讨论建立成功职业生涯所
需的一些要素，包括优秀软件产品的基本特征、主要技能和主要编程语言，如何找到一
份工作，以及如何在团队内部高效地完成合作(包括需要规避的一些陷阱)。第二部分探
讨了一系列关于推动和主导变革的主题，以及如何在更加纷繁复杂的职场里高效地工作
。作为领导者，注定需要并行处理多个任务，促使多个议程同时推进，并化解无数的阻
碍。这部分介绍了许多重要的内容，如协调能力、如何创建并推销成功的项目计划书、
职业发展、时间管理、避免软件项目超支、工作和生活的平衡，以及更高层次的管理和
领导洞察力。第三部分围绕创新方面的主题展开讨论，如何到达事业的顶峰(成为软件行
业有远见的人或大师)，如何开创自己的事业，都有哪些形式的薪酬，并反思了一些职业
生涯中本应更早知晓的事情。各章之间，你会看到对行业知名人士的一些访谈。这些访
谈的对象包括了企业高管、研究人员和业界领袖。我认为对读者来说这很重要，可以从
这些访谈中得到 
更为宽广的视角。为了清晰易读，所有的访谈页边缘都加了灰色条，标出了被访者
姓名。我争取把访谈内容安排相关章节附近(例如，的首席执行官兼创
立者MarcBenioff和VMware的前首席执行官兼联合创立者DianeGreene是两个成功创业的
典型，他们的访谈就放在了软件创业这一章的前后)。某些访谈的内容并没有明确相关的
主题，所以安排的时候就比较随意了。排在本书前面“基本功”部分的访谈并不逊色于
排在后面“卓越之路”部分的访谈。客观地说，我所采访的这些人都在各自的职业发展
之路上取得了极大的成功———而这正是我采访他们的原因。 
媒体评论
“作为有30年运作大型软件项目经验的‘老人’，我很有兴趣
看看我的同事会怎么看待这个行业。应该说，这是一本组织有序的好书，而且透过最具
话语权的人为读者提供了实践价值极高的建议。如果你没有精力全篇阅读，不妨将它放
在手头，作为一部实用手册。感谢作者，这部著作对整个行业的价值毋庸置疑。” 
——Jeff Papows，莲花公司前总裁，《差错：软件错误的致命影响》作者 
“我非常喜欢书中定义成功的章节，要知道衡量成功并不只限于金钱……书中列举
的事例都很经典。在我看来，本书对不同的人都很有价值：对于学生——了解学校与工
作的区别，有利于找工作；对于职场新人——学习如何时间管理，这里面大有技巧；对
于职场老人——理解如何培养领导力，做好职业规划，获取事业的成功。” 
——Jeanne Boyarsky 
“书中有发人深省的建议，也有真实的故事，这都是促使我阅读并喜欢上这本书的
原因。本书的要旨在于激励你‘遵循内心的渴望’，但作者在每章开头的小随笔中都会
列出有助于职业发展的技能。这些技能对于学计算机的人来说，都是非常重要却又往往
容易被忽视的……而且多听听那些大牛们的建议，绝对有益无害。” 
——亚马逊读者评论