BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

科幻作家海因莱茵对软件开发者的七点启示

| 作者 晁晓娟 关注 1 他的粉丝 发布于 2009年10月30日. 估计阅读时间: 5 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

Robert Heinlein(海因莱茵)并不是个程序员,但在他的写作生涯中,有一些经验给我们很多启示,对软件开发者无论是写代码还是职业生涯都有很大的帮助。因为写一个软件和写一个故事,很多都是相通的。

他们并不期望它很好,但想在周三就能完成。

作为一个作家,海因莱茵很好地理解了他的编辑们的期限要求。很多时候,最终期限是最重要的,把一件事情做的足够好往往不如按时间完成任务重要。对于追求完美的人,这往往是个难题。又快又好当然最理想,但是有时候比如在写代码完成功能的时候,按期完成的“快”比“好”更重要。在项目管理中也有同样的例子,客户不会因为你的团队要完善一些不影响使用的Bug而延长期限或增加成本的行为而感激你们。所以保证开发进度,达到质量要求是项目管理者要考虑的一个平衡点。

写作中你需要权衡的重要一点是去掉你手稿中的冗余会使它变得更好。

写作如此,好程序和好故事也一样,是精炼简洁的。好文章需要几易其稿,好软件也是通过不断的重构而逐步改善的。软件开发中让工作变得简单也是去掉冗余的一种表现,比如更多的团队从传统开发模式转向了敏捷,去掉了很多在开发中认为不重要或可有可无的冗余环节,使得团队开发更加高效。

一个人应该能够换尿布,策划战争,杀猪,开船,设计房子,写十四行诗,结算账户,砌墙,接脱臼的骨头,安慰濒死的人,服从命令,发布命令,携手合作,独立行动,解数学方程,分析新问题,铲粪,电脑编程,做出可口的饭,善打架,勇敢地死去。只有昆虫才专业化。

成为某个领域的专家还是所谓的全能博学大师?可能每个人都会遇到这个问题。作为专家可能更容易找到某个领域的工作,但是只在某一特定领域了解很深也是有潜在危险的。比如你一直从事某个古老的编程语言,对其无所不知,但当它被淘汰的时候,也是你失业的时候。所以你更需要找到一个深度和广度的平衡,才能持续提高自己的竞争力。

政治是个坏事同时又是个好事,因为它是武力解决问题的替代方式,而武力会导致有人受伤。

对于“办公室政治”,大部分人都很憎恨,包括海因莱茵,但是他认为政治并不是恶魔,是人类用打架以外来解决问题的一种方式。对于每一个人都可能遇到的办公室政治,这也许是值得学习的一种乐观的心态。

海因莱茵的一个处事哲学值得我们学习的是:理解人与人的不同。他说过的很经典的两句话是:

一个社会如果除掉了它所有的麻烦,那它离灭亡也不远了。” 以及 “我从一个总是附和我的人那里什么也学不到。” 

所以在我们的团队中,认识到人与人的不同,才能够更好的合作和沟通, 大家总是意见一致,表面看起来很好,但这往往隐藏着问题。就像如果两个合作者从没有争执和不同意见,那可能其实有一个人对合作是不必要的。

你的处女作肯定不是你最好的作品,但是要允许自己失败,只要你能从中有所收获。

这句话并不是海因莱茵说的,但是从他的第一本小说的经历可以得出这样的结论,他的第一个作品 For Us, the Living: A Comedy of Customs 写于上世纪30年代,但在其去世之后几年才出版。

尽管这本书里很多故事都成为他后来的的其他小说的素材之一,但这也说明了他第一本书里试图写的内容太多了 。想想咱们自己的软件开发,产品设计是不是也犯过这样的错误呢,希望把所有的功能都支持,希望把所有对用户的展示都强调,结果用户往往迷失在太多的可选择中而放弃你的软件和产品。

另一方面,正是因为海因莱茵没有放弃,在他写了《For Us, the Living》 两年之后,他完成了《生命线》(The Lifeline),并且之后陆续获得了很多荣誉。所以即使是科幻大师,他也是需要不断学习和进步的。同样的,作为一个开发者,即使你还不是个伟大的程序员,但只要努力,总有一天会成为他们中的一员。


作者介绍:晁晓娟,从事Web开发管理多年,留过学,呆过外企,尝试过创业,关注项目管理,架构和产品,热爱天马行空的把所有的传统的非传统的IDEA搬到互联网上来。InfoQ中文站内容团队,尤其是架构、SOA和Ruby社区需要您的参与,有意者请邮件至editors【AT】cn.infoq.com

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

by Ma Karl

文章写得乱七八糟,毫无条理。

有那么点意思 by Chou Jedi

有那么点意思哈!可能是随手拈来的“产出”,可能上面的同志不太认同,俺倒觉着可以。对办公室政治的理解很好玩,“办公室战斗”总比纳布议员的“激烈的争吵”要好很多。

通常翻译为海因莱因 by Wizard Bran

电影星河战队就是根据他的原著改编的

Re: 乱 by 张 成

果然是“天马行空”啊

其实搜索下海因莱因的英文名字就知道该怎么翻译了 by 纪 雷

这是今天看到最好笑的文章

写得很好啊 by 沈 瓒

我觉得写得很好啊,每一条我都有体会,除了这一句:
“一个社会如果除掉了它所有的麻烦,那它离灭亡也不远了”
思考ing...

看这样的文章很有意思 by 陈 国栋

比起看纯技术或者项目管理的文章要有趣得多。多谢作者为我们创作带有文学色彩与哲理的技术好文。

Re: 通常翻译为海因莱因 by 晁 晓娟

嗯,多谢指正,已经改啦!

支持,写得很好! by 朱 敏

支持,写得很好!

Re: 通常翻译为海因莱因 by 峻申 吴

他的原著小说名字是《星际伞兵》

君子群而不党,合而不同 by Lai Mead

” 以及 “我从一个总是附和我的人那里什么也学不到

君子群而不党,合而不同

有点意思:) by Wang Carl

跨领域学习,是需要领悟能力和抽象能力的,这篇文章很有意思,作者知识比较渊博啊!

无聊 by aoch ant

什么乱七八糟,不知所云

文章很牵强 by 宇捷 蒋

海因莱因的名字把我吸引进来了,但是感觉文章很牵强。

很好呀 by Feng Tiger

我觉得偶尔看些这样的内容很有启发。
有这么多完全相左的意见也很有意思。

写得很不错! by zhang hailong

文章里提到的一些观点很赞同,不过想要做好,确实不那么容易!

个人觉得想把事情做好,不管是哪个行业,很多道理是相通的。像软件开发这种知识密集型的行业,对方法的思考和实践就更为重要,相比之下,这些产品的使用者更善于思考和发现问题。

Re: 通常翻译为海因莱因 by Liang Linyuan

是《星船伞兵》

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

17 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT