程序员如何逆袭,达到财富自由?
如题主所言,天赋异禀的毕竟是少数人,对于我们大多数人来说,想要实现“逆袭”都不是一蹴而就的,需要不断提升、不断积淀,最终达到厚积薄发的效果,在此跟大家分享一个普通程序员提升自己的过程。
分阶段,根据不同需求按需提升
对于多数程序员来说,40岁之前赚到别人60岁的钱是普遍目标,不过职业的进阶也印证着人生的进阶,所以何时开始思考未来的职业规划,都不算早。
我们基于华为云各个产品线技术专家多年工作经验和心得体会,再经过层层筛选整理,推出了这份程序员进阶必读书单。
无论你是1年小白、5年资深还是10年技术专家,或者更高阶的CTO,都可以在书单中找到适合自己目前阶段的书,清晰化未来要走的方向,让你的路越走越宽,财富累积/技能累积/经验累积也会愈发顺利。
程序员的之一阶段:初级程序员(0-3年)
初级程序员工作经验在3年以下,处于打基础、定方向的阶段,这时候建议主要精力用于夯实基础,规范编程上,将会终身受益。
1、了解自己所在的领域,对吃饭的工具有清晰的认知
《编码:隐匿在计算机软硬件背后的语言》 豆瓣评分:9.2分
> 这本书常年排在程序员必读书单TOP5内,作者用丰富的想象将看似繁杂的计算机工作原理阐述得通俗易懂。
《代码整洁之道》 豆瓣评分:8.6分
> 读者Bob大叔给出了一系列整洁代码操作实践,并用实际项目的正、反案例,说明只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量。
《编程珠玑》 豆瓣评分:9.1
> 作者Jon Bentley可以说是计算机科学大家培养专业户,Java之父James Gosling就是他的学生。
> 他选取了典型的复杂编程和算法问题,生动描绘大师们在探索解决方案中发生的轶事、走过的弯路和不断精益求精的历程,总结了许多独特而精妙的设计原则、思考和解决问题的 *** 以及实用程序设计技巧,比如和Bob Martin讨论密西西比河一天流出多少水,用这样一个小问题引出粗略估算的技巧。
《数据结构和算法分析(套书)》 豆瓣均分:8.7分
> 国内外很多大学都拿它当作教材,这套书非常系统、全面、严谨,适合对数据结构和算法有些基本了解,并且掌握了至少一门编程语言的程序员,作者用了C\C++\Java三种语言分别写了三个版本。
> 被众多程序员选为更好的算法入门书,看完了这本书再看其它算法书,会很有底气。
初级程序员必备的软技能,学习做好职业规划、自我营销
《软技能—代码之外的生存指南》 豆瓣评分:8.0分
> 概括了软件行业从业人员所需的“软技能”,从揭秘面试的流程到精耕细作出一份杀手级简历,从创建大受欢迎的博客到打造个人IP,从提高自己工作效率到与如何与“拖延症”做斗争,甚至包括如何投资不动产,如何关注自己的健康,堪称程序员的生活百科全书。
2、代码是一个程序员的灵魂,每个优秀的程序员都应该认真对待亲手写出的代码
《编码:隐匿在计算机软硬件背后的语言》 豆瓣评分:9.2分
> 这本书常年排在程序员必读书单TOP5内,作者用丰富的想象将看似繁杂的计算机工作原理阐述得通俗易懂。
《代码整洁之道》 豆瓣评分:8.6分
> 读者Bob大叔给出了一系列整洁代码操作实践,并用实际项目的正、反案例,说明只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量。
《编程珠玑》 豆瓣评分:9.1
> 作者Jon Bentley可以说是计算机科学大家培养专业户,Java之父James Gosling就是他的学生。
> 他选取了典型的复杂编程和算法问题,生动描绘大师们在探索解决方案中发生的轶事、走过的弯路和不断精益求精的历程,总结了许多独特而精妙的设计原则、思考和解决问题的 *** 以及实用程序设计技巧,比如和Bob Martin讨论密西西比河一天流出多少水,用这样一个小问题引出粗略估算的技巧。
《数据结构和算法分析(套书)》 豆瓣均分:8.7分
> 国内外很多大学都拿它当作教材,这套书非常系统、全面、严谨,适合对数据结构和算法有些基本了解,并且掌握了至少一门编程语言的程序员,作者用了C\C++\Java三种语言分别写了三个版本。
> 被众多程序员选为更好的算法入门书,看完了这本书再看其它算法书,会很有底气。
初级程序员必备的软技能,学习做好职业规划、自我营销
《软技能—代码之外的生存指南》 豆瓣评分:8.0分
> 概括了软件行业从业人员所需的“软技能”,从揭秘面试的流程到精耕细作出一份杀手级简历,从创建大受欢迎的博客到打造个人IP,从提高自己工作效率到与如何与“拖延症”做斗争,甚至包括如何投资不动产,如何关注自己的健康,堪称程序员的生活百科全书。
程序员的第二阶段:中高级程序员(3-5年)
从部门新人变为老人后,需要对自己的职业规划有明确方向,如果选择专攻技术,必然要多学习,进一步提高业务能力和技术能力,积累优质的项目经验。
1、“代码有很多种坏味道,重复是最坏的一种”,先让你的代码更优雅
《重构:改善既有代码的设计》 豆瓣评分:9.0分
> 重构,就是在不改变外部行为的前提下,有条不紊地改善代码,本书凝聚了软件开发社区专家多年实践经验,解释重构的原理和更佳实践方式,并指出何时何地应该开始挖掘你代码以求改善。
《快速软件开发》 豆瓣评分:8.4分
> 软件开发处处都是陷阱,作者告诉你前人都踩了哪些坑,本书总结了以微软为代表的美国软件业的项目实践经验,并列出了可以提高项目开发速度的 *** 和技巧。
> 过紧或不合理的进度计划可能是软件开发唯一更具破坏力的杀手,所以开发人员要提高谈判能力,合理规划项目进度。
三、技术能力之外,提高工作效率很重要
《高效程序员的45个习惯》
> 总结高效程序员在开发过程中的45个个人习惯、思想观念和 *** ,有助于开发人员在开发进程、编码工作、开发者态度、项目和团队管理,以及持续学习等方面积极修炼。
四、程序员职业生涯到了一定阶段,系统地思考职业发展
《软技能2:软件开发者职业生涯指南》
> 了解软件开发从业者需要具备的各种“软技能”,包括如何选择工作岗位、如何选择技术方向、如何拓展技术技能、如何与团队和领导融洽相处等等。
五、培养专业的软件开发素养,具备良好的编程实践
《程序员修炼之道:通向务实的更高境界(第2版)》
> 理解身为一名程序员到底意味着什么,本书通过许多富有娱乐性的奇闻轶事、有思想性的例子以及有趣的类比,全面阐释了软件开发的更佳实践和重大陷阱。
> 书中有一章的标题是“我的源码被猫吃了”,其实说的是当你发现问题时,重要的是解决它,而不是把错误推给“猫”。
程序员的第三阶段:全栈工程师/软件设计师(5-10年)
这个时期的程序员,或多或少要开始思考职业拐点:是继续做一名底层码农,还是往前走两步,成为一个优秀的全栈工程师或者软件设计师。
1、全栈工程师必备技能之协调客户、管理好项目
《人月神话》
> 软件领域的圣经,内容源于作者在IBM公司System/360家族和OS/360中的项目管理经验,书名中的“人月”指的是一个人在一个月内完成的工作,“神话”指通过人手来缩短项目实践是神话。
《点石成金 : 访客至上的Web和移动可用性设计秘笈》
> 一本关于Web设计原则而不是Web设计技术的书,作者用幽默的语言揭示Web设计中重要但却容易被忽视的问题,只需几个小时,便能对照书中讲授的设计原则找到网站设计的症结所在,常看常新。
软件设计模式领域的里程碑著作
> 《设计模式