如果你能回到过去,告诉自己在开发人员职业生涯的开始读一本书,你会读哪本书?

我希望这份清单是多样的,涵盖范围很广。

搜索:使用右上角的搜索框。要搜索当前问题的答案,使用inquestion:this。例如:

inquestion:this "Code Complete"

当前回答

http://ecx.images-amazon.com/images/I/519J3P8ANML._SL500_AA240_.jpg

把我的编程能力提升到了一个新的高度。

其他回答

特立独行的!:世界上最不寻常的工作场所背后的成功故事

可选文字 http://ecx.images-amazon.com/images/I/410TX7YN94L._SL500_AA300_.jpg

会让你意识到工作场所应该是什么样子。

专业JSP第二版

当我还是一个完全的新手时,我就买了这个,并在很短的时间内把我从只知道Java的存在变成了一个可靠的团队成员

对我来说,《设计模式解释》为我提供了一个关于设计模式的“哦,这就是它的工作原理”的时刻,并且在向其他人教授设计模式时非常有用。

似乎没有人提到Stroustup的《c++程序设计语言》,这是每一个c++程序员都应该读的一本好书。

我还认为每个程序员和经理都应该阅读《极限编程解释:拥抱变化》这本书。书中的许多思想现在都是常识,但这本书对软件工程中追求质量给出了一个聪明而鼓舞人心的描述。

其次,我要推荐Knuth和Gang of Four,它们都是经典之作。

计算机科学家的离散数学http://ecx.images-amazon.com/images/I/51HCJ5R42KL._SL500_BO2,204,203,200_AA219_PIsitb-sticker-dp-arrow,TopRight,-24,-23_SH20_OU02_.jpg

《计算机科学家的离散数学》作者J.K. Truss。

虽然这并没有教你编程,但它教会了你每个程序员都应该知道的基本数学。你可能还记得大学里的这些东西,但实际上,学习谓词逻辑会提高你的编程技能,如果你想用集合编程,你需要学习集合论。

这里确实有很多有趣的信息,可以让你从不同的角度思考问题。它很方便,只是偶尔拿起来学习一些新东西。