程序员充电推荐看的10本书


程序员书库(ID:OpenSourceTop) 编译

链接:http://www.acodersjourney.com/2016/02/10-books-to-supercharge-your-development-career/

作为程序员,我们都喜欢编写代码,都喜欢挑战艰深的算法,喜欢设计并创建炫酷的新技术。但接触工作以来,我慢慢的意识到作为一个程序员,在通往成功的路上,除了写代码之外,还有些别的技能要提升。我把它们分成三类:技术能力、人际交往能力(或者称“软技能”)、个人理财能力。



所以不管你是刚步入社会的新手程序员还是有经验的老程序员,下面罗列出来的这些书都会帮助到你,我知道工作都很忙,所以这些书绝大部分(除了和技术相关的)读起来都很快。



提升技术能力的书籍


1、《数据结构与算法经典问题解析:Java语言描述》



如果你正在读大学,那你应该读一下这本书,如果你是一位经验丰富的开发人员,至少应该粗略的读一遍,看看是否熟悉书中提及的那些概念,作为在微软有八年面试经验的我来说,我认为如果你熟悉了本书所涵盖的内容,一定可以帮助你在面试中取得更好的表现。


本书从讲解什么是数据结构开始,延伸至高级数据结构和算法分析,强调数据结构和问题求解技术。目的是从抽象思维和问题求解的观点提供对数据结构的实用介绍,试图包含有关数据结构、算法分析及其Java实现的所有重要的细节。想了解更多学习算法的好书可点击:《世界读书日,你的书架上还缺一本算法好书…》



2、《代码整洁之道》



当别人阅读你写的代码时,没有任何抱怨时,你基本可以确定这段代码是整洁的。


许多初级程序员没法写出整洁的代码,是因为大部分大学都不会刻意去教你如何写出专业的代码,大部分算法和数据结构课程都只关注代码的正确性,而且大学老师也没时间去仔细看每个学生写出来的几千行代码,而《代码整洁之道》这本书就是帮助你从计算机专业学生转变为专业的开发人员的书。


这本书提出一种观点:代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础。作为编程领域的佼佼者,本书作者给出了一系列行之有效的整洁代码操作实践。这些实践在本书中体现为一条条规则(或称“启示”),并辅以来自现实项目的正、反两面的范例。只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量。



3、《Head First 设计模式》



软件设计模式是针对面向对象设计中反复出现的问题的解决方案。学习设计模式传统来说还是建议阅读经典的GOF,即《设计模式 可复用面向对象软件的基础》,但我还是想介绍你先阅读《Head First 设计模式》,因为它更简单,看这本书,你不会觉得无聊,根据我的经验,15%-20%的面试问题会涉及到设计模式相关的问题,所以,这本书对面试也是很有帮助的。


好不夸张的说这本书趋近完美,因为它在提供专业知识的同时,仍然具有相当高的可读性。本书共有14章,每章都介绍了几个设计模式,完整地涵盖了四人组版本全部23个设计模式。



4、《我编程,我快乐: 程序员职业规划之道》



要在当今的IT职场取得成功,必须像经营企业那样对待你的事业。在本书中,你将学到如何规划自己的职业生涯,让它向着你选择的目标前进,使人生更快乐、更美好。


作者运用其独特的思维方式,启发程序员不能只注重技能上的提高,还要关注自己的职业发展。书中涉及新旧技术的取舍、技术与业务的关系、技术是要专精还是要广博等,相信这也是长久以来困扰你的问题。带着这些问题去阅读此书,定会受益良多



培养软技能的书籍


5、《赢得朋友》



你从事软件开发的时间越长,你就越能体会到很多事单靠你自己根本完成不了,你需要协调外部团队,和其他开发人员、测试人员以及项目经理合作,才能推动项目准时完成。总之就是你需要每天不断的和别人合作,必要的时候你还需要说服别人帮助你。


这部书的目的,就是帮助你发现潜伏在你身边的那些你习惯不加以利用的资源——开展它、利用它——那些是你孕育在身边,尚未利用的财富! 预料你读完本书的前三节后,如果遵照去做,一定可以大大增进你处世待人的本领。



6、《关键对话:如何高效能沟通》



开发人员公认的特点就是聪明和顽固,在一个典型的工作日程中,关于选择正确的设计模式、讨论deadline日期、代码审查等事项时都会发生争论。毋庸置疑这些事都是很重要的,你需要确保你的想法和建议能被认同,同时又得确保不得罪某个人(尤其是你可能需要他帮助的人)。


本书详细剖析了人们在沟通上常见的盲点,并提供了许多立竿见影的谈话、倾听、行动技巧,辅以丰富的对话情境和轻松幽默的小故事,帮助读者以最迅速的方式掌握这些技巧。说的切中要点,让对方清楚知道你的看法,是一种能力;说的圆满得体,让对方自动反省,是一种智慧。运用本书提供的技巧,不论是多么难以应对的局面,你都能够以事半功倍的效率轻松面对。



7、《口渴之前先挖井》



你知道绝大多数经验丰富的开发人员是如何进入一家大企业的么?如果你任务是由内部推荐的话,那么恭喜你答对了。


当然,我的意思不是说你能进入微软或Google工作,只是因为你在那里有认识的人,这主要还是取决于你在技术面试中的表现,但是如果在你感兴趣的公司中有认识人的话,可能就意味着你可以获得一次证明你自身实力的面试机会。而这本书所要说的正是这点人际网建设,每一个成功人士都有一个共同点,那就是他们都有很强的创建并维护一个人际网的能力。



迈向财务自由


8、《漫步华尔街》



最后,你所需要的是一本金融学的书,这本是我读的最简洁的关于个人理财和投资的指导书。


深谙华尔街方方面面的麦基尔,为我们提示了一条规律:简单地买入并持有由某个大型指数包含的全部证券所组成的投资组合,就极有可能胜过由专业人士利用纷繁复杂的分析技术精挑细选出来的证券组合。这本最新版的《漫步华尔街》,还包含了麦基尔的无价一章——“生命周期投资指南”,内容亦经过更新,展示了匹配每一生命阶段的投资策略。



9、《邻家的百万富翁》



让我问个直接的问题:你有没有想过自己变成富豪?如果答案是“是”的话,那你绝对要看看这本书。它讲述了百万富翁是如何赚钱并且保持他们的财富的,这彻底改变了我的观念。


本书从百万富翁生活的各个方面,包括理财投资、积累财富、衣食住行、子女教育,以及遗产分配等各种麻烦问题,展示了百万富翁的现实生活图景,相信读者会喜欢这本书。除此之外,对于广大读者来说,它也是一部生活教科书。细心的读者可以从百万富翁获得成功的经历中吸取一些有益的教训。



10 《牧羊少年奇幻之旅》



对于绝大多数的开发者来说,他们一旦适应了现有的环境,他们就会开始安于现状,停止挑战自己,这相当于职业自杀,学习和成长的唯一方法就是走出舒适去探索新的可能性。


前面的九本书都是帮助你更好的提升自己的技能、人际、理财能力,从而帮助你抓住改变自己生活的机会,唯一这一本是重新燃起你心中的热情,追随你的梦想,而不让他消失在平淡的生活中


还是那句老话:千里之行始于足下。不要害怕需要你去学习的东西,把这些书当成你的朋友、导师,去探索你真正的实力,去追逐你的梦想。

推荐↓↓↓
程序猿
上一篇:最常被程序员们谎称读过的计算机书籍 下一篇:小米招股书披露:14513 名员工 平均年薪福利约 28 万