非工程师的最佳工程书籍

我最近一直在阅读大量的工程书籍。 尽管他们的重点是构建软件,但许多想法也适用于非工程活动。 无论您是开始创业,写书还是进行几乎所有其他创造性的工作,有关管理项目,降低复杂性和做出艰难决策的建议都同样有用。 阅读以下任何内容,您将快速了解这些概念如何适用于广泛的活动。

1. Andy Hunt和Dave Thomas的实用程序员

一本令人惊讶的非技术性书籍,其中包含许多非工程师的实际应用程序。 例如:

不要与破碎的Windows一起生活
修正错误的决定以及看到错误的代码。 压制小东西,以防止大东西。


2. Joel Spolsky撰写的Joel on Software

由Joel Spolsky策划的一系列博客文章,涉及每个工程师(和非工程师)在职业生涯中可能遇到的日常问题:涉及经济,人员管理,业务战略还是绝缘管道。

不要让建筑宇航员吓到你
从抽象角度讲,当您走得太远时,您将耗尽氧气。 有时聪明的思想家只是不知道什么时候停下来,他们创造了这些荒谬,无所不包的高层次的宇宙图画,这些图画都是好事,但实际上并没有任何意义。 这些人就是我所说的建筑宇航员。


3.快速开发:驯服野生软件计划,史蒂夫·麦康奈尔(Steve McConnell)

任何从事大型,复杂和协作项目的人都必须阅读。 关于士气的一章值得单独支付。

士气如何杀死您的项目

迈克尔·杰克逊(歌手,而不是计算机科学家)唱歌说:“一个坏
苹果不会破坏整个生命,宝贝。“苹果可能是正确的,但是
对于软件而言并非如此。 一个坏苹果可能会破坏您的整个项目。


4. Badass:Kathy Sierra制作的真棒用户

如果您是设计课程计划的老师,或者您是设计演示文稿的发言人,或者您想自己学习技能,则这本书适合您。 这些概念是如此简单却又周到,任何人都可以从Sierra的教学中学到东西。

选择很昂贵

选择不仅在我们选择时在认知上付出了高昂的代价,而且在我们选择之后会消耗掉认知资源。 将决定留给其他人可以节省决定的认知费用,并使我们从以后进行第二次猜测的认知流失中解放出来。


5. Gerald M. Weinberg的错误

温伯格六个十年的工作汇编,内容是了解软件质量和生产软件的组织(或更常见的是不生产软件的组织)。 温伯格在我第一次读这本书的几个月后,以简单而令人难忘的轶事传达了他的信息,使您能够完美地背诵。 也强烈推荐他的《通用系统思维导论》

软件的价值

尽管大量错误可以保证一文不值,但零错误不能保证软件的价值。 让我们举一个例子。 您能为我提供100美元的零缺陷程序来计算Philip Amberly Warblemaxon的星座运势吗?Philip Amberly Warblemaxon在阿克伦(Akron)一家制帽厂工作了37年,当了一名档案员,在1927年去世。 我怀疑您是否愿意给我五十美分,因为要想拥有价值,软件就必须完美。 它必须对某人有用


6.截止日期:汤姆·德马可(Tom DeMarco)撰写的有关项目管理的小说

一本流派弯曲的书,通过小说来教授软件项目管理的原理。 听起来像是纸上的车祸,但这种巧妙的包装使翻耕变得非常容易。 对管理冲突,提高生产力和召开会议有深刻的见解。

召开成功的会议

通过确保不必要的人可以安全地参加会议来保持小型会议。 严格遵循已发布的议程是确保无人值守安全的最简单方法。


7.程序员在工作:Susan Lammers的访谈

苏珊·拉默斯(Susan Lammers)对丹·布里克林(VisiCalc),比尔·盖茨(微软)和米奇·卡普尔(Lotus 1-2-3)的采访是计算历史的挂毯。 这里有很多技术资料,但涉及本书的人的故事讲述才使这本书升华了,不一定是技术。

从外部软件中汲取灵感

物理和数学与其他受尊敬的学科一样,要求您清楚地思考才能成功。 这就是为什么许多成功的计算机人员都来自这些领域的原因。 如今人们很难做任何事情-从计算机科学开始并留在其中-因为这是一门很浅的学科。 它并没有真正迫使您充分发挥自己的智力。


8. Paul Graham的黑客和画家

像Joel On Software一样,这不是一本书,而是一本散乱收集在一起的散文集。 诸如“解释编程语言”之类的章节是Graham最好的作品,对于任何对软件和业务技术感兴趣的人都必须阅读。

另一条路

关于业务,您只需要了解两件事:建立用户喜欢的东西,并获得超出您的花费的东西。 如果您正确地做到了这两点,那么您将领先于大多数初创企业。 您可以随时解决其余问题。


还有更多建议吗? 我很想听听他们的声音。