工作这么多年,虽然平时加班很多,但闲暇时间依然会读书。在我看来,读书并实践是成长的最有效途径。读书提升认知,实践改变行为,所谓知行合一。细细数来,读过不少的好书,有技术类的,也有非技术类的。下面推荐一些我认为值得读的好书:

1. 技术类

  • Java 编程思想(第4版) Java 的“圣经”级作品,包含编程思想和设计模式,从宏观视角讲解 Java 语言,经典之作值得反复阅读,适合进阶,入门级就不要看了。
  • Effective Java(第3版) Java 开发的规范,或者说最佳实践,实在的经验之谈,格外关注细节,重在培养优秀的编程习惯,同样值得拜读多次,同样适合进阶。
  • Java 并发编程实战 深入 Java 并发的必读之作,一本完美的 Java 并发参考手册,JUC 源码的作者 Doug Lea 也是该书作者之一。
  • Head First 设计模式 介绍了 GoF 提出的 23 种设计模式,配合插画和案例,读起来不觉枯燥,非常生动有趣,适合入门设计模式。
  • C++ Primer(第5版) 经典的 C++ 教程,采用 C++11 标准编写,最近正在读,很厚的一本书。
  • 深入理解计算机系统(第3版) 简称“CSAPP”,程序员的必读书,详细描绘了计算机系统的实现细节,不懂底层的程序员称不上是合格的程序员。此书非常硬核,有些概念要反复理解。
  • 代码大全(第2版) 写代码不该局限于砌墙,更高远的是建设软件大厦。这本书介绍了软件构建的流程,还包括其中的细节和技巧,高屋建瓴,是提升编程认知的好书。
  • 重构 代码重构非常好的指导书,里面有许多非常规的观点和技巧,读完后你会发现项目里有太多坏代码等着修改,重构是为了使代码变得更好。
  • 码出高效:Java 开发手册 阿里大佬写的书,比较大众化,都是基础性的内容,总结了一些实战经验,打牢基础总没错。
  • Android 进阶解密Android 开发艺术探索 都是非常好的 Android 进阶书,知识面有深度和广度,也是高级工程师必备的技能。

这里有份 豆瓣热门编程图书 Top10,如果不知道怎么选,多读经典总是没错的。

2. 非技术

  • 高效能程序员的修炼 coding horror 博客中的精选文章集合,除了技术之外,还有职业规划、团队协作、高效工作环境等,软件开发远不是只写代码那么简单,程序员的软技能和硬技能一样重要。从这本书中可以读到骨灰级程序员的真知灼见。
  • 软件能 始于代码,不止代码。这本书介绍了程序员的发展的多个方面,职业、营销、学习、理财、健身等,读完真的是刷新认知。程序员不是呆子,我们的人生有多种可能性。
  • 程序员修炼之道 程序员的基本修养,包括软件编程、职业发展、工作习惯等方面。学校只会教你怎么写代码,不会教你软技能,这本书就是很好的指导。不要埋头写代码,抬头看路才能走对方向。

技术类的书籍提升我们的硬技能,进而提升职业专业性。非技术类的书籍提升我们的软技能,少走弯路从而走得更远。

另外说一点,好书值得反复读,每读一遍都会有新的收获,愿你的职业发展越走越好。