重磅推荐
【编辑推荐】

  避免常犯的错误
  养成优良的习惯
  破解密码,你也可以卓越起来


【作者简介】

  Ka Wai Cheung
  程序员、设计师,还是芝加哥We Are Mammoth(我们是猛犸)公司的联合创始人。为各行各业的客户制作应用软件,也制作自有的一些基于网页的软件。

  译者介绍:
  劳佳
  上海交通大学电子工程系硕士,现在SAP美国任高级软件支持顾问。业余爱好语言、数学、设计,近年合作翻译出版了《周末读完英国史》、《加州大学伯克利分校人文建筑之旅》等书。


【目录】

第1章 引言
1.1 谁是21世纪的程序员
1.2 吸取手教训
1.3 这本书写的是我们自己

第2章 比喻
第1篇 谨慎使用比喻
第2篇 规划完备,然后开工
第3篇 发行不过是第1版
第4篇 “象牙塔”架构师的传说
第5篇 扔掉旧代码
第6篇 多元化胜于专业化
第7篇 比喻渐欲迷人眼

第3章 动力
第8篇 工作即福利
第9篇 从喜欢处入手
第10篇 莫求全
第11篇 休止一下
第12篇 早起先测试
第13篇 别在卧室里工作
第14篇 印象也就那么回事
第15篇 软件发行的情感价值
第16篇 找个争论话题

第4章 生产力
第17篇 对消闲项目坚决说不
第18篇 限制所有的因素
第19篇 去掉时间表中的细节
第20篇 每天改进产品的两个方面
第21篇 为良好的工作环境投资
第22篇 列一张个人待办事项清单
第23篇 和团队一起安排免打扰时间
第24篇 采用自治小团队的工作形式
第25篇 提高生产力,避谈“我们”

第5章 复杂性
第26篇 “嗅”出坏的复杂性
第27篇 关于“简单”的悖论
第28篇 复杂性就像挑棍游戏
第29篇 把复杂性藏起来
第30篇 “难编”可能意味着“难用”
第31篇 知道何时重构
第32篇 确定编程的节奏

第6章 教学
第33篇 教学不同于编程
第34篇 当心“知识魔咒”
第35篇 用浅显的例子
第36篇 为简化不妨说谎
第37篇 鼓励自主思维

第7章 客户
第38篇 刁钻的客户无处不在
第39篇 软件黑魔法揭秘
第40篇 设定软件的目标
第41篇 激发热情,相信自己
第42篇 宽容大度,和蔼可亲
第43篇 价值远不只是工时
第44篇 尊重你的项目经理

第8章 代码
第45篇 写代码是不得已而为之
第46篇 拿来主义的文化
第47篇 代码是好的初级程序员
第48篇 把机器和人的工作区分开
第49篇 从核心开始生成代码
第50篇 自主开发的情形

第9章 自豪感
9.1 形象是个问题
9.2 烹饪行业的一课
参考文献


【内容简介】

  本书讲的不是你写的代码,而是你赖以生存的密码。
  软件开发行业的从业人员成千上万,你如何保证自己出色地完成自己的工作?这本书里没有浮夸的老生常谈,作者汇集十余年来的软件开发经验,从各个角度审视这一行业,探讨了保持健康工作状态需要怎么去做。
  如何在漫长的项目中保持效率,如何建立一个适合自己而不是牵绊自己的工作流程,如何面对目标和你不一致的客户……日常工作中遇到的许多问题,都出现在作者的笔端。有些问题如果处理得不好,哪怕是有经验、有干劲的程序员也可能被击垮。但有了正确的手段,你就可以克服这些难题,成为你梦想中的专业程序员。
  在这五十多篇智慧小文中,你还会学到:
  为什么软件行业中针对流程和开发职务的很多传统方法都是错的,以及如何发现这些错误。
  为什么你必须对消闲项目和没有期限的项目说不。
  如何把代码生成融入你的开发流程,以及它有什么你想不到的好处。
  客户和终用户不同意你选择的方法时怎么办。
  如何言传身教,将知识传授给下一代程序员。
  如果你准备长期从事软件开发行业的话,相信你会不断地反复阅读这本书的。


【免费在线读】

  第1章
  引  言
  我被代码逼疯过——两次。
  次,是我在大学一年级上的一门编程课。这是一门必修课,我就选了。结果这和我小时候看过无数次的电影场景完全是两码事。我并没有敲上几个简单命令,按下回车,然后就看到一个垃圾桶样的机器人和我说“你好”。
  课堂上甚至连个垃圾桶机器人都没有,而全是一堆什么指针啊,内存分配啊,对象实例化之类的。我为了弄清楚这都是些什么玩意儿搞得焦头烂额。不过,有一件事是明摆着了——我根本不是编程的料。
  我想成为一个艺术家,或者当个数学家。我想要有创造力还要能够精确——就像人们说的,左脑右脑一起上。编程似乎太偏向左半球了,可是我也想不出什么其他的职业道路,同时能够在两个世界施展。我迷茫了。
  短短几年后,互联网的大潮彻底改变了编程的景象。编程突然就变得那么实际,那么触手可及,而且还和设计关系紧密。艺术和逻辑几乎被看做同样重要。次,我真的觉得能够享受这份工作,可以把我对于创造力和逻辑的热情都倾注到网络应用上。所以,虽然心怀忐忑,我又回来编程了。
  讲句老实话,我回来完全是另有原因。在之前的两年里,我学习了其他很多学科,都似乎有太多太多的未解之谜。是去构思粒子物理里的大统一理论,还是去找的素数?毫无疑问,这些任务简直难到无法想象,让人望而生畏。我实在干不了这个。还有,那个讲存在主义的课也没能把事情说清楚。我是个年轻人,我想要的是答案,而不是越来越多的问题。
  编程。我曾经唯恐避之不及的那个科目,现在成了我的避风港。不管怎么说,计算机科学还是人搞出来的。所有的事情肯定都有个答案。我期待的职业生涯,应该能让我这种寻求答案的人大展宏图——你能把甘醇的代码变成顾客、同事和客户常在的笑脸。规则都已经定好了,我们只要做就是了。困难无非就是在代码里面而已,我当时是这么想的。
  我第二次来做编程,才发现又上当了——显然,实际远不是这么回事。
  1.1 谁是21世纪的程序员
  就像我在接下来的十五年中发现的那样,隐士不适合搞编程。什么有个超级技术狂,躲在幽暗的地下室里,挥汗如雨几个月,然后拿出终产品,石破天惊,尽享荣华。不是这么回事。
  现在,应用程序是主流。即我们为每一位用户做的那种。客户可能了解我们如何工作,也可能完全没什么概念。我们的交付周期有时候是按照白驹过隙的星期来算的,而不是按照月或者年算的。人可能突然一下子就觉得疲惫不堪,而拖延可能是容易走的那条路。对于我们——当今的开发人员来说,软件生产中所涉及的障碍已经远远超出了开发环境。
  我有个好朋友经常和我开玩笑。“你工作的时候到底都干了些啥?”她知道我是个程序员,但并不是很确定程序员具体都做些什么。她问我问题时的那种刻薄质问的口气,就像《上班一条虫》里的那个办公室顾问Bob Slydell一样。
  我是这么和她说的:我是一个无认证但是超级有逻辑的心理学家、理疗师、机械工、外交官、商人和教师,我所在的行业,迄今仍然每时每天都有着新的诠释。
  这就是我对当今的程序员能够给出的简洁的定义了。
  1.2 吸取手教训
  我叫张家为。我是个程序员、设计师,还是芝加哥We Are Mammoth (我们是猛犸)公司的创始合伙人。我们为各行各业的客户制作应用软件,也制作我们自有的一些基于网页的软件。后面会再谈到这一点。
  这本书集合了我自己在行业里总结的手的教训、体会和走过的弯路。对于编程老手来说,你可能会发现我写的某些轶事自己也经历过。我们可以一起大笑、欢呼或是流泪。对于刚刚开始征程的菜鸟来说,希望这本书能够为你进入行业的头几年助上一臂之力。
  过去十五年中,我得到的教训数不胜数。下面仅举几个这本书里谈到的话题。
  ? 为什么软件行业中许多传统的开发流程和职责分配已经过时了,以及如何找出这些问题。
  ? 为什么要对消闲项目说“不”,为什么开放的时间表对生产力至关重要。
  ? 协作的工作环境如何大幅提高我们的效率,又如何大大降低我们的效率。
  ? 如何让代码生成成为开发流程中自然而然的一部分,以及它除了让生成代码更快还有什么好处。
  ? 如何更好地与不能面对面交流的客户打交道,以及如何面对不管软件做了什么新改动都会大发雷霆的客户。
  ? 为什么大幅加薪和“员工是我们宝贵的财富”这句古老的口号并不意味着更好的技术工作。
  ? 如何认识到软件本身已经太过复杂了。
  ? 如何成为更好的老师,让我们能够把知识在程序员中一代代传下去。
  1.3 这本书写的是我们自己
  这本书是写给各种各样的程序员的。不过,它和代码本身关系不大。不管你用的是C#、Ruby、Python、PHP、Java、JavaScript抑或是ActionScript,都没什么要紧的。也无论你是在搞数据库,写服务器端代码,还是做界面脚本,都无所谓。这本书讲的是在标识符和对象这个层面之外,专业程序员的方方面面。
  这倒也不是说我们就把编程弃之一旁,会有些地方谈到代码。不过,在谈到代码的时候,我们会用一种不那么技术化的全局眼光来看。我们不会一下子给你列出一堆什么实践或者设计模式之类的。这些东西有很多别的书都讲得很好了,我们只会适时提到一些。
  这本书讲的是真正的、现代的程序员是怎样让我们的行业欣欣向荣的。我们开始吧。
  ……


【前言】

  第1章
  中文版序
  亲爱的读者:
  在编程的世界里,我们会和各种各样的“语言”打交道。虽然我主要的服务器端开发语言是C#,但我的工作方法却几乎可以完全应用到Java、PHP、Ruby或Python上。编程语言虽有不同,核心的编程思想、方法和架构却是高度类似的。我们只是用不同的方式来表达而已。
  我们的工作方式也具有普遍性——如何保持干劲、提高成效,教学的重要性,如何与客户合作,如何发现合适的流程,勇于摆脱不好的流程。此外,我猜想,我通过编程学到的人生一课,不仅适合在美国工作的我们,也可能适用于在中国工作的你。
  作为在美国出生的代华裔,我非常荣幸这本书能够被翻译成我父辈的语言。我在美国长大,在西方文化中生活,同时也有一些中国的传统价值观。我对于应该如何在这个行业工作的看法肯定受到了两种文化的影响。
  无论你是刚刚投身编程事业,正在创业,还是在寻找一些新鲜的观点,我都希望这本书在现在和未来都能对你有所启发。
  张家为
  Dear readers,
  In the world of programming, we work with “languages” of all different kinds. Though my primary server-side development language is C#, the way I work almost fully translates to the world of Java, PHP, Ruby, or Python. Core programming ideas, methodologies, and architectures are highly similar between these different coding worlds. We just express them in different ways.
  The same is true for how we work - How we stay motivated and productive, the importance of teaching, working with clients, discovering the processes that work just-right and being brave enough to shed the ones that don’t. And, I’d imagine that the life lessons I’ve learned through programming translate not just to how we work in the U.S., but how you might work in China.
  As a first-generation American born to Chinese parents, I was tremendously humbled to have this book translated to my ancestral language. I grew up in the United States, living in a western culture while growing up with some traditional Chinese values. My opinions on how we ought to work in this industry have certainly been influenced by both cultures.
Whether your just beginning your career in programming, starting your own small business, or seeking some fresh perspectives, I do hope you find this book valuable now and in the future.
  Sincerely, Ka Wai Cheung


【媒体评论】

  “这是Pragmatic Programmers系列中的又一本书——对新手来说是指引,对专家来说是重温,这是关于程序员技艺(和生活)的一本美妙的智慧集。”
  ——Derek Sivers,CD Baby和sivers.org的创始人
  “Ka Wai Cheung先生为那些寻找自己赖以生存的代码的专业开发人员写了一本书。这本书不是用那些在任何博客中都能找到的传统想法拼凑起来的,而是用强有力且有针对性的方法,讲述专业编程的技艺和现实。
  如果你想找一本新瓶装旧酒的编程规则,那就不用看这本书了。但是,如果你正在寻找一种视角,看看软件开发是什么,或者你想要一套由真实经验提炼出的指导方针,那这本书正是你需要的。”
  ——Bob Walsh,作家、47 Hats的创始人
  “充满‘美味’的经验,每篇的大小也十分‘适口’——在这本书里你可以学到很多。花上些时间从过来人那里学学吧。”
  ——Adam Hoffman, 高级开发主管
  “一本好书,有现代程序员从日新月异的世界中得到的提示、技巧和经验教训。从事开发或与开发人员合作的人士不可不看。”
  ——Caspar Dunant, Webfish
  “这是Pragmatic Programmers系列中的又一本书——对新手来说是指引,对专家来说是重温,这是关于程序员技艺(和生活)的一本美妙的智慧集。”
  ——Derek Sivers,CD Baby和sivers.org的创始人
  “Ka Wai Cheung先生为那些寻找自己赖以生存的代码的专业开发人员写了一本书。这本书不是用那些在任何博客中都能找到的传统想法拼凑起来的,而是用强有力且有针对性的方法,讲述专业编程的技艺和现实。
  如果你想找一本新瓶装旧酒的编程规则,那就不用看这本书了。但是,如果你正在寻找一种视角,看看软件开发是什么,或者你想要一套由真实经验提炼出的指导方针,那这本书正是你需要的。”
  ——Bob Walsh,作家、47 Hats的创始人
  “充满‘美味’的经验,每篇的大小也十分‘适口’——在这本书里你可以学到很多。花上些时间从过来人那里学学吧。”
  ——Adam Hoffman, 高级开发主管
  “一本好书,有现代程序员从日新月异的世界中得到的提示、技巧和经验教训。从事开发或与开发人员合作的人士不可不看。”
  ——Caspar Dunant, Webfish


【书摘与插画】











返回顶部