程序猿年薪3w到30w的必读书单

简介: 程序猿年薪3w到30w的必读书单

前言


入行9年多了,一路走来也翻过各路各样的货,总觉得学习不够系统结构化,好些经典干货不够深入,因此结合自身经历和网上资料整理此针对java软件工程师(偏互联网)的必读书单,希望对您有所帮助,并在学习的路上少走弯路或陷入误区。


从业界看优秀的程序员应具备两方面的能力:


1.良好的程序设计能力:


掌握常用的数据结构和算法(如链表,栈,堆,队列,排序和散列);


理解计算机科学的核心概念(如计算机系统结构、操作系统、编译原理和计算机网络);


熟悉互联网网络和服务器原理(如TCP/UDP,http)


熟悉至少两门以上编程语言(例如Java、Python、php);


2.专业的软件开发素养:


具备良好的编程思想或思维(即是软件工程思想),如OOA、OOD、OOP、结构化思维等


具备良好的编程实践,能够编写可测试,可扩展,可维护的代码;


理解把握需求,按时按质交付用户所需要的产品;


跟其它能力一样,程序设计和软件开发素养的能力源自书本知识和项目经验。项目经验因人而异(在不同领域的程序员项目经验的差异会比较大),但书本知识是相通的,尤其是经典书籍不仅能够拓宽程序员的视野且能提高成长速度,经典书籍经得住时间的考验,可反复读,技术框架有很多,我们不要陷入追求数量的误区,要追求质量,同类型的技术框架深入学习一种即可,比如mvc框架只需深入研究spring mvc或其他任一种即可,其他都是相通的,因此学习书本知识是一场没有终点的马拉松比赛,而阅读书籍的顺序一般从入门—经典—延伸的学习过程,此书单正是按照此规律并结合程序员修炼过程而制定。


一.入门书籍


程序设计:


1.基础理论:《编码:隐匿在计算机软硬件背后的语言》(挑读)


2.编程语言:


JavaScript:《JavaScript DOM编程艺术(第2版)》、至少一js框架如jquery《jQuery开发从入门到精通》(细读)


Java:《Java核心技术》(第9版)(细读)


Python:《Python基础教程(第二版)》(细读)


3.编程语言理论:《编程语言实现模式》(细读)


4.程序设计:《程序设计方法》(细读)


5.算法与数据结构:《算法(第4版)》(略读)


6.程序调试:《调试九法——软硬件错误的排查之道》(细读)


7.网络及系统:《http权威指南》、《鸟哥的Linux私房菜基础学习篇(第三版)》(挑读)


8.数据库:《数据库原理(第5版)》(挑读)


软件开发:


1.编程实践:《程序设计实践》(细读)


2.面向对象程序设计:《Head First设计模式》(细读)


3.重构:《重构》(挑读)


4.软件测试:《How to Break Software》(挑读)


5.专业开发:《程序员修炼之道:从小工到专家》(细读)


6.网络及系统:《TCP/IP入门经典(第5版)》(挑读)


7.数据库:《SQL入门经典(第5版)》(细读)


8.互联网:《拆掉互联网那堵墙》(略读)


二.经典(进阶)书籍


程序设计:


1.基础理论:《深入理解计算机系统(第2版)》(细读)


2.编程语言:


Java:《Effective Java(第2版)》、《深入理解Java虚拟机 JVM高级特性与最佳实践》(细读)


JavaScript:《JavaScript语言精粹》(细读)


Python:《Python参考手册(第4版)》(细读)


3.编程语言理论:《程序设计语言——实践之路》、《java编程思想 第4版》(第3版)(挑读)


4.程序设计:《计算机程序的构造与解释(第2版)》(挑读)


5.算法与数据结构:《编程珠玑(第2版)》(略读)


6.程序调试:《调试九法——软硬件错误的排查之道》(挑读)


7.网络及系统:《网络安全基础:应用与标准(第5版)》(挑读)


8.数据库:《数据库设计指南-60个设计技巧》(挑读)


软件开发:


1.编程实践:《代码大全(第2版)》(细读)


2.面向对象程序设计:《设计模式》(细读)


3.重构:《修改代码的艺术》(细读)


4.软件测试:《xUnit Test Patterns》(略读)


5.专业开发:《程序员的思维修炼:开发认知潜能的九堂课》、《程序员职业素养》(挑读)


6.网络及系统:《深入理解linux内核(第三版)》(挑读)


7.数据库:《高可用MySQL:构建健壮的数据中心》(略读)


8.互联网:《大型网站技术架构:核心原理与案例分析》《大规模Web服务开发技术》《大数据时代》(挑读)


三.延伸(个人成长)


1.职业规划:《软件开发者路线图》(挑读)


2.工作思维方式:《如何把事情做到最好》(挑读)


3.求职面试:《金领简历:敲开苹果微软谷歌的大门》、《程序员面试金典》(第5版)(挑读)


4.自我管理:《德鲁克---自我管理》(挑读)


学而不思则罔,思而不学则殆,


如果以上书单你能全部读完,年薪3w到30w指日可待。点击“电子书 ”可下载书单对应的电子书籍。

————————————————

文/老猿,写代码写诗写职场的程序猿大叔,转载此文请联系老猿。


目录
打赏
0
0
0
0
3
分享
相关文章
【软考备战·希赛网每日一练】2023年4月14日
具有 最优子结构 特点的问题可以使用 动态规划法 进行求解。 计算m数组中每项的值,需要三层for循环(循环变量依次为i,j,k),所以 时间复杂度为O(n3)。 需要 二维数组m 来进行记录数据,所以 空间复杂度为O(n2)。 最后一空直接计算每个选项的相乘次数,相乘次数最少得即为答案。
73 0
【软考备战·希赛网每日一练】2023年4月28日
E-R图用于数据库概念设计阶段。 数据流图 是一种便于用户理解、分析系统数据流程的图形工具。它摆脱了系统的物理内容,精确地在逻辑上描述系统的功能、输入、输出和数据存储等,是系统逻辑模型的重要组成部分,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示放大。
66 0
【软考备战·希赛网每日一练】2023年4月25日
关于委托开发:有合同约定,著作权归委托方;而在合同中未约定著作权归属,归创作方。 I/O设备管理软件 层次,从上到下依次为:用户层软件(用户进程)、设备独立性软件(与设备无关的系统软件)、设备驱动程序、硬件。
73 0
【软考备战·希赛网每日一练】2023年4月17日
SCAN调度算法 也叫 “电梯”算法,磁头固定从外向内然后从内向外沿柱面运动。如此往复,遇到所请求的柱面时立即为其服务。 CSCAN(单向扫描)调度算法,它的磁头是单向移动的,当磁头从内向外移动到最外面时,磁头放到最内,然后再从内向外扫描。
83 0
【软考备战·希赛网每日一练】2023年5月10日
中断方式 中CPU需要在得到通知后,保存现场,然后再转入I/O中断服务程序的执行,完成与I/O系统的数据交换,然后再返回被打断的程序继续执行。其过程中需要执行若干条指令才能处理一次中断时间,这种方式无法满足高速的批量数据传送要求。
148 0
【软考备战·希赛网每日一练】2023年5月3日
复习 传值调用 和 传址调用。 计算机病毒一般都有:传染性、破坏性、潜伏性、隐蔽性、触发性 等特征。 用哈希表存储元素时,需要进行冲突(碰撞)处理,冲突是指 关键字不同的元素被映射到相同的存储位置。 软件商标权的权利人是指 软件注册商标所有人。
91 0
【软考备战·希赛网每日一练】2023年4月20日
复习 主存编址的计算。求 可寻址范围 就是求 存储单元的个数,注意看清题目,按字编址还是按字节编址,注意单位换算。 部署图 一般描述的是代码或系统在实施中的物理节点分布,组件之间的依赖关系类似于包依赖。
67 0
【软考备战·希赛网每日一练】2023年4月19日
server-side n.服务器端 enterprise n.企业 client n.客户 desktop n.桌面;台式机 customer n.顾客 logic n.逻辑;规律 execute v.执行;实施 logical adj.合乎情理的;合乎逻辑的 component n.组成部分,成分
111 0
【软考备战·希赛网每日一练】2023年5月5日
防火墙通常分为内网、外网和DMZ三个区域,按照受保护程度,从低到高正确的排列次序为 外网、DMZ和内网(DMZ又称“隔离区”、“非军事化区”)。
98 0
【软考备战·希赛网每日一练】2023年5月8日
单元测试 用来 检查模块是否正确实现了规定功能。 确认测试:始于集成测试的结束,那时已测试完单个构件,软件已组装成完整的软件包,且接口错误已被发现和改正。
207 0

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等