如果你能回到过去,告诉自己在开发人员职业生涯的开始读一本书,你会读哪本书?
我希望这份清单是多样的,涵盖范围很广。
搜索:使用右上角的搜索框。要搜索当前问题的答案,使用inquestion:this。例如:
inquestion:this "Code Complete"
如果你能回到过去,告诉自己在开发人员职业生涯的开始读一本书,你会读哪本书?
我希望这份清单是多样的,涵盖范围很广。
搜索:使用右上角的搜索框。要搜索当前问题的答案,使用inquestion:this。例如:
inquestion:this "Code Complete"
当前回答
明确的软件工艺
可选文字 http://ecx.images-amazon.com/images/I/5186JKTDVWL._SL500_AA240_.jpg
这本书解释了很多关于软件工程、系统开发的东西。理解不同类型的产品开发之间的差异也非常有用:web VS收缩包装VS IBM框架。当人们构思瀑布模型时,他们的想法是什么?读了这篇文章,我们就会明白(希望如此)
其他回答
虽然不是最有影响力,但值得一看的是j.m.库切的《青春》。
《芳华》的叙述者是20世纪50年代南非的一名学生,长期以来一直在策划逃离祖国:逃离母亲令人窒息的爱,逃离失败困扰着他的父亲,以及他确信即将到来的革命。学习数学、读诗、存钱,他努力确保当他来到现实世界时,无论现实世界在哪里,他都准备好充分体验生活,并将其转化为艺术。然而,最后到达伦敦时,他既没有发现诗意,也没有发现浪漫。相反,他屈服于作为一名计算机程序员的单调生活,在这种生活中,随机的、没有爱情的事情并不能让他得到解脱。由于缺乏灵感,他停止了写作。作为一个尴尬的殖民者,一个宪法的局外人,他开始了一段黑暗的朝圣之旅,在这段旅程中,他不断受到考验,不断被发现有缺陷。
青年封面http://img440.imageshack.us/img440/5140/youthgd4.jpg
我已经有一段时间了,所以我发现的大多数有影响力的书在今天并不一定适用。我相信理解你所开发的平台(包括硬件和操作系统)是非常重要的。我也认为从别人的错误中学习很重要。所以我想推荐两本书:
计算灾难和寻找愚蠢:二十多年的高科技营销灾难
托马斯·弗里德曼的《世界是平的》。
要想在编程方面取得卓越的成就,需要投入大量的精力和持续学习的精神,这与医学或法律专业不相上下。它所支付的工资只是这些职业的一小部分,更不用说那些进入金融业的数学高手了。编写代码的工资也在下降,因为在大多数经济体中,这是一个对聪明人和自律者来说相对容易进入的职业。
编程已经被侵蚀到比管道工作还便宜的地步。管道不能“外包”。你不需要每隔一年花2395美元参加一次专业管道工大会,就能获得一套全新的管道技术,这需要你花一年的时间来学习。
如果你生活在北美或欧洲,又年轻又聪明,编程并不是一个理性的职业选择。当然,涉及编程的业务。学习商业,了解足够多的编程知识来完善你的废话探测器:太棒了。但是把你大部分的精力都投入到掌握库、数据结构和算法上呢?只有当编程对你来说不仅仅是一种经济选择时,这才有意义。
如果你热爱编程,并因此打算把它作为你的职业,那么你就有必要冷静地认识到,这些力量正在并将继续使它成为一个越来越难谋生的职业。《世界是平的》不会教你如何给变量命名,但它会让你花6到8个小时沉浸在已经到来的经济现实中。如果你能读懂它,而且不害怕,那就去买《代码完成》吧。
虽然我同意上面的许多书都是必读的(实用程序员、神秘的人月、计算机编程艺术和SICP立刻映入我的脑海),但我想走一个稍微不同的方向,推荐Edsger Dijkstra的《编程规程》。尽管它已经有32年的历史了,但它对“可验证性设计”的强调仍然非常重要(即使“可验证性”意味着“证明”而不是“单元测试”)。
我喜欢这两本书:
序言的艺术
普罗洛格的手艺
真正打开了逻辑编程和递归方案的思路。