工程师进阶,对程序员影响最大的十本书

一个新人进入公司,经过最开始的快速成长,慢慢的业务开始得心应手,但是挑战越来越少,重复的内容变多,

技术的广度和深度都难继续提高,这时候很容易就进入一个平台期。

工作三年左右是一个分水岭,能否保持快速的技术成长是关键,这时候就需要找对一个合适的方式进阶。

埋头赶路的同时,也要抬头看天,在开发的道路上工作越久,很容易把自己变窄。给希望提升自己的工程师们推荐十本书,有些书可能并不是讨论具体的技术,但是背后的思想和观点对工作以及生活都会有很大的启发。

每个程序员都应该读的书有哪些?这个调查已历时两年,目前为止吸引了153,432人访问,读者共推荐出了478本书(还在增加),其中最火的一本书《Code Complete》被顶了1306次。如果你是个程序员,你一定有兴趣看看这些书里你都看过几本,如果你一本没看过的话,我也不好说什么,也许你是个天才,但我相信大多数人都知道,你在学校里根本学不到什么真正的工作中需要的知识,我们毕业后能帮助我们在公司中胜任工作的老师就是这些优秀的书籍,一本好书可以改变一个人的一生。

下面是这个调查中排名靠前的书的一个简单的清单:

1.《Code Complete (2nd Ed) by Steve McConnell》,中文版《代码大全(第二版)》,两届Software Jolt Award震撼大奖得主!

2.《重构 :改善既有代码的设计》

任何一个傻瓜都能写出计算机能理解的程序,而优秀的程序员却能写出别人能读得懂的程序—— Martin Fowler

重构,就是在不改变外部行为的前提下,有条不紊地改善代码,使得编码更合理,架构更科学。

本书清晰揭示了重构的过程,解释了重构的原理和最佳实践方式,并给出了何时以及何地应该开始挖掘代码以求改善。书中给出了70多个可行的重构,每个重构都介绍了一种经过验证的代码变换手法的动机和技术。本书提出的重构准则将帮助你一次一小步地修改你的代码,从而减少了开发过程中的风险。

3.《The Pragmatic Programmer》,中文版《程序员修炼之道》

4.《Java并发编程的艺术》内容涵盖Java并发编程机制的底层实现原理、Java内存模型、Java并发编程基础、锁、并发容器和框架、原子类、并发工具类、线程池、Executor框架等主题,每个主题都做了深入的讲解,通过实例介绍了如何应用这些技术。

5.《Design Patterns》,中文版《设计模式》

6.《代码整洁之道》这本书告诉大家,写代码好像写文章一样,“大师级程序员把系统当故事来讲,而不是当做程序来写”,如同黑客与画家说的,编程本身就是一门艺术。

7.《The Art of Computer Programming(First Volume Hardcover)》,中文版《计算机程序设计艺术第 (第一卷)》

8.《软技能: 代码之外的生存指南》

这是一本真正从“人”的角度关注软件开发人员自身发展的书。书中论述的内容既涉及生活习惯,又包括思维方式,凸显技术中“人”的因素,全面讲解软件行业从业人员所需知道的所有“软技能”。

9.Code Complete (2nd Ed) by Steve McConnell》,中文版《代码大全(第二版)》,两届Software Jolt Award震撼大奖得主!

10.

《系统之美》

我一直相信复杂事情的背后都隐藏着这样浅显易懂的原理,这是一本高屋建瓴的书,

帮助你从系统和组织架构的角度思考问题,更全面的思考,避免陷入局部和表象。

系统思考将有助于我们发现问题的根本原因,看到多种可能性,

从而让我们更好地管理、适应复杂性挑战,把握新的机会,去打造一个完全不同的自我和一个崭新的世界。

本文来自企鹅号 - 解读全球游戏媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程

成为 C加加 高级工程师必备的几个条件,全部具备绝对是大牛级的存在

C++这门语言从诞生到今天已经经历了将近30个年头。不可否认,它的学习难度都比其它语言较高。而它的学习难度,主要来自于它的复杂性。现在C++的使用范围比以前已经...

2859
来自专栏Linyb极客之路

如何快速成长为技术大牛?阿里资深技术专家的总结亮了!

导读:你是否有类似这样的问题——“天天写业务代码的程序员,怎么成为技术大牛,开始写技术代码?”今天,阿里资深无线开发专家李运华,系统梳理了自己的思考和理解,希望...

643
来自专栏Java技术交流群809340374

一个十年JAVA老程序员成长之路分享

我搞JAVA也有些日子了, 因为我比较贪玩,上进心不那么强, 总是逼不得已为了高薪跳槽才去学习, 所以也没混成什么大牛, 但好在现在也已经成家立业, 小日子过的...

420
来自专栏java架构技术

“刷一波” 程序员面试题,掌握八成便可BATJ一试~

最近看见了很多程序员成功入的BAT,小编这里在网上搜集了一些国内一线互联网公司的面试题和面试技巧,特此整理分享给需要的技术人员,看你和BAT之间差了多少!

493
来自专栏Java架构

在北京做Java开发如何月薪达到两万,需要技术水平达到什么程度?

2134
来自专栏james大数据架构

你离架构师还有多远?

  软件架构师在整个软件开发过程中都起着重要的作用,并随着开发进程的推进而其职责或关注点不断地变化,总结下面几点。   在需求阶段,软件架构师主要负责理解和管...

3453
来自专栏资深Tester

如何去面试软件测试工程师

2114
来自专栏JAVA高级架构

Java 工作2年后需要达到怎么样的技术水平

请具体一点说要会什么技术?以及这些技术要达到什么水平? 有人回答说这只能是大企业或者互联网企业的工程师才能拿到。也许是的,小公司或者非互联网企业拿两万的不太可能...

3067
来自专栏chenssy

八年Java架构学习经验总结:第六点尤为重要!

你有没有静下心来思考过:同样是做了x年Java开发,为什么你的技术比别人差很多?为什么别人每月28K你却只有10K?

192
来自专栏微信公众号:Java团长

如何快速成长为技术大牛?

不管是开发、测试、运维,每个技术人员心里多多少少都有一个成为技术大牛的梦,毕竟“梦想总是要有的,万一实现了呢”!正是对技术梦的追求,促使我们不断地努力和提升自己...

972

扫码关注云+社区