程序猿年薪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指日可待。点击“电子书 ”可下载书单对应的电子书籍。

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

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


相关文章
|
Rust 前端开发 算法
裁员下的面试回顾(2022年的第二篇总结)
闲谈 年初的时候给自己定了个计划,就是每隔两个月左右写篇总结记录自己的工作或者生活。因为这几个月基本上都在忙着复习和面试,所以不知不觉就到了5月底。 裁员两个字不是为了吸引眼球,也不是说自己被裁了,而是切切实实地感受到了裁员背景下找工作比以往更不容易。往年自己都是在职准备两周左右就出去外面面试了,基本上面个十家左右就可以敲定入职下家。而今年在面了20多家后,仍然没有收到满意的offer,所以就觉得比之前难度提升了很多。在面试的时候也可以感受到,很多公司虽然技术面上没有出现什么卡壳,但是由于简历对比,背景和项目经验对比,还是会被淘汰。
|
设计模式 架构师 Dubbo
非计算机专业校招直入阿里0到48W年薪,绝密学习路线+面试题分享
近期,收到学生反馈,说是收到了阿里的offer,还给到了48.8W的年薪,仔细跟学生聊了一下,才知道这位学生大学并非是计算机专业,知道自己与计算机专业学生的区别; 于是通过自己的努力,把计算机底层编程必备基础知识:计算机网络+计算机组成原理+操作系统的知识都给掌握了,不断地补充自己的短板,经过内推直接进入阿里!
|
存储 算法 程序员
想当程序猿?或许你需要这个书单-程序猿修炼之路(上)
转眼间暑假就快到了。与其咸鱼懒得翻身,还不如坐下来,静下心找几本书安安静静看完。那么,小编在这里给大家推荐几本程序猿的练级攻略吧。
154 0
想当程序猿?或许你需要这个书单-程序猿修炼之路(上)
|
程序员 数据库
想当程序猿?你需要这个-程序猿修炼必备书单(下)
继上次书单以后,再次来给大家强推一波书单啦。这样暑假大家就不会再寂寞了。嘿嘿嘿……这些书都是经典中的经典,若能静下心来好好读一读,想必收获必然是无限大的!
137 0
想当程序猿?你需要这个-程序猿修炼必备书单(下)
|
Arthas NoSQL 算法
二本院校学弟大二开始实习,大三收割阿里、腾讯实习offer
二本院校学弟大二开始实习,大三收割阿里、腾讯实习offer
二本院校学弟大二开始实习,大三收割阿里、腾讯实习offer
|
消息中间件 NoSQL 算法
双非硕士的辛酸求职回忆录:第 1 篇 一份让面试官满意的简历究竟要做到什么
双非硕士的辛酸求职回忆录:第 1 篇 一份让面试官满意的简历究竟要做到什么
194 0
双非硕士的辛酸求职回忆录:第 1 篇 一份让面试官满意的简历究竟要做到什么
|
算法 Java 程序员
我们谈谈面试技巧(初入职场年轻人该学的)
今天,正式介绍一下Java极客技术知识星球 SpringBoot 精髓之 SpringBoot-starter Spring 源码学习(八) AOP 使用和实现原理 Java:前程似锦的 NIO 2.0 java中List元素移除元素的那些坑 昨天在我们的知识星球中,有人向我咨询了一个问题,问题描述大概是这个样子,很多家技术面得还可以结果就是等通知,然后让我给一点小小的建议,我和他交流了一下,然后思考了我怎么去面试的,总结了一下,送给大家作为参考。
|
机器学习/深度学习 算法 小程序
双非硕士的辛酸求职回忆录: 第 3 篇 也谈谈校招项目面试究竟该注意什么及我是如何准备开发项目的
双非硕士的辛酸求职回忆录: 第 3 篇 也谈谈校招项目面试究竟该注意什么及我是如何准备开发项目的
276 0
|
架构师 Java 数据库连接
备战金九银十,跳槽经验分享,我是如何逆袭进入阿里的
前言想起刚刚入门的时候,工作和学习上是完全找不到方向的,再然后渡过了一段时间的新手期之后,工作的方向虽然逐渐变得清晰起来,但是没过多久,能了解到的资料就开始超过每天学习的能力,像是买了没看的书、收藏没读的贴、mark了之后再也没有关注过的文章越积越多,更别提每天面对各种技术分享或者微博里的新鲜玩意了。
1718 0
下一篇
DataWorks