程序员成长之路

对成长这事,我一直觉得有俩思路可以解决问题。
一个是偏速成的,一个打基础的。

打基础自然是厚积薄发,这样的话我一般推荐下面四本书:
计算机体系结构
这一类别下最具代表性的书籍是《深入理解计算机系统》,作者是Randal E.BryantDavid O’Hallaron。读这本书的目的是了解计算机到底是怎么个东西,软件到底运行在什么样的基础之上。

算法和数据结构
这一类别下最具代表性的书籍是《算法导论》,作者是Thomas H.CormenCharles E.LeisersonRonald L.RivestClifford Stein。读这本书的目的是了解软件到底可以用什么样的手段干些什么事情。软件是一种工具,可以帮助解决人类面临的许多问题,而主要手段则只有两种,一种是这本书里所介绍的算法和数据结构;另一种则是下一类别中所涉及到的分析和设计方法。它们像小刀子一样,可以把各种领域中的各种问题进行分割,并映射到程序的世界里来。 

设计原则和模式
这一类别中比较有代表性的书籍是《敏捷软件开发:原则、模式与实践》,作者是Robert C.Martin。读这本书的目的是了解数据结构和算法之外另一种对现实问题进行抽象的方法如面向对象以及进行这种抽象时所要遵守的原则。

这类书籍经典的还有很多比如:GoF的《设计模式》,而之所以选择上述这本是因为这本书里提供一些比较完整的例子,更适合初学者一些。

软件工程
这一类别中最具代表性的书籍是《代码大全》,作者是Steve McConnell。读这本书的目的是建立对软件开发的全局视图。知道一个软件从无到有所要经历的一系列过程。

软工的书还有很多,比如很有名的《人月神话》,但《人月神话》类书其实对很多人是不适合的,对初学者就更不适合。

看完这四类书绝对可以打下基础,但不一定很快能赚到钱,在就业市场上没准还是弱势。

另一个方法就是速成,速成的话,就不用看很多书了,基本语法搞定后直接看程序。
比如:PHP方向的就死磕WordPress,把每句都看懂,整半年没准也能混口饭吃了。

你可能感兴趣的:(程序员,学习方法)