非科班的程序员看过来,你要的书单在这里

news/2024/10/18 10:16:46/

首先声明,非科班只是指非大学计算机类专业毕业的程序员,不带任何歧视和有色眼光哈。

故事是这样子的,潜龙同学的大学专业是"学挖掘机"的,但是他却对编程非常感兴趣,于是,潜龙同学凭借强大的自学能力,通过一门《21 天搞定 Web 前端开发》的课程,成功入行程序员,成为一名前端开发攻城狮。

潜龙同学的苦恼

虽然潜龙同学达成所愿,成功入行了,但是他却很苦恼…

他发现周围的同事都是计算机专业毕业的,俗称科班出身,而自己是个野鸡大学"学挖掘机"专业毕业的,根本没法比呀。

潜龙同学感觉周围的同事都是自带光环,都非常厉害,他们平常的讨论都带很多自己听不懂的术语。方案评审会议上,潜龙同学也是一脸懵逼,只能通过沉默来掩饰自己跟不上思路的尴尬。

潜龙同学也想要这种光环,也想变得跟同事一样厉害,希望可以减少差距,跟上同事的步伐。

于是,潜龙同学疯狂的学习。

他每天保持看技术公众号文章,技术 blog。。。

他每天晚上都会上线上课程,也报了非常多的训练营,跟着大牛一起动手做项目。。。

他学习各种框架,把自己武装成框架&工具库的瑞士军刀。。。

听说源码是一种很好的学习方式,他就开始啃各种框架的源码。。。

潜龙同学不遗余力的自学各种技术,他自信,他的努力程度绝对要高于同事好几倍。

但是,潜龙同学却悲哀地发现,他没有获得预期的成长。

他学到的东西,因为用不到会遗忘大半,剩下的技术用在工作中显得非常生硬别扭。。。

他还是跟不上同事的思维节奏,方案评审会议上还是一言不发。。。

他的开发效率提升得非常慢。越是这样,他就越没有时间做技术项目,越没有时间自学。。。

潜龙同学的心理压力越来越大,进入了恶性循环,他觉得他跟同事之间的差距没有缩小,反而更大了 。

潜龙同学应该学什么?

潜龙同学百思不得其解,到底我和同事之间真正的差距是什么?

直到潜龙同学看到了这篇文章,他才如梦初醒,豁然开朗。

文章告诉他,他和同事之间的差距是基础

不正是这样吗?说白了,科班与非科班的差距不就只差了那 4 年的课程吗?

由于这些基础,导致了双方在踏入职场时的起点不一样,因此后续的发展也不一样。这些差异点正是造成潜龙同学困惑的地方。他可以看到那些显而易见的差距,比如很多同事会的技术、框架、工具,这些自己都不会。那他就去学习这些技术、框架、工具,企图通过填补这些空白来弥补他与同事之间的差距。

但却事与愿违,由于缺少基础,潜龙同学的学习效率远远不如同事。而且,随着这些空中楼阁越砌越高,根基不稳的问题就暴露了出来,严重阻碍了潜龙同学继续深入,自学越来越难,效率越来越低,跟同事之间的差距也就越来越大了。

潜龙同学终于找到了答案,那个一直没有被发现、被忽视、被轻视的关键 —— 基础

潜龙同学应该怎样学?

既然找到了答案,说干就干,撸起袖子准备制定学习计划。

但是潜龙同学很快就碰到了问题:

  • 每所大学各有特色,它们的计算机专业的课程体系都不一样,我要学哪些课程呢?
  • 4 年课程那么多,我都要学吗? 人家 4 年是全日制学习,我只靠业余时间,那不得学 8 年、10 年?
  • 具体要怎么学? 加入非全日制学校学习?上网课?

幸好,这篇文章带来的福利解决了这些大问题。

文章告诉他,不需要学完所有的课程,也不需要特意找某所高校的课程,潜龙同学只需要学习最核心的基础课程即可。

文章还告诉他,基础技术的学习是体系化知识的学习,这种学习是很难通过文章、博客、在线培训课程来完成的,最好的学习途径就是 —— 看书自学

因此,潜龙同学只需要一个书单 —— 程序员基础技术自学的必读书单

故事到这里就结束了。。。

结尾

很早就有想过整理这个书单了,一开始是为了我的组员,最近是为了写文章,但一直都没有开始做这个事情。

直到最近有个大一大数据专业的学生加了我,咨询我在校规划有什么建议。毫不犹豫地,我建议他一定要把基础学好,如果后面要做程序员的话。然后他说想要自学计算机专业的课程,问我怎么学。这简单呀,去看学校里的计算机专业的课表不就好了吗?然后他只能找到大一的课表,其他找不到,而且大一那么多课程,要学哪些?

因为这个事情,才促使我开始整理这个书单,希望能够帮助到以下场景的同学:

  • 非科班在职程序员
  • 想自学计算机专业的非计算机专业在校生
  • 想提前自学的计算机专业在校生

最后,欢迎关注我的公众号【潜龙在渊灬】,回复【书单】获取福利。


http://www.ppmy.cn/news/1103771.html

相关文章

LeetCode 1123. Lowest Common Ancestor of Deepest Leaves【树,DFS,BFS,哈希表】1607

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…

C语言经典100例题(51-54)--学习使用按位与 ,按位或 |,按位异或 ^和按位取反~

目录 题目 问题分析 按位与操作符(&) 按位或操作符(|) 按位异或操作符(^) 按位取反操作符(~) 代码及运行结果 题目 学习使用按位与& ,按位或 |,按位异或 ^和按位取反…

python分支结构的花样玩法(一)

Python的分支结构(也称为条件语句)主要是通过if语句来实现的。基本的if语句格式如下: pythonif condition: # do something 其中,condition是一个布尔表达式,如果它的值为True,那么就会执行do something这…

[持续更新]计算机经典面试题基础篇Day1

[通用]计算机经典面试题基础篇Day1 1、jvm的组成 类加载器(Class Loader):负责将编译后的Java类加载到JVM中,并在运行时动态加载所需的类。运行时数据区(Runtime Data Area):是JVM的内存管理区…

中断(全网最细!)

什么是中断? 中断是让单片机具有处理外部和内部随机发生事件实时处理的能力; 中断提高了单片机处理外部或内部的能力; 芯片在处理某一个A事件,发生了一件B事件,请求芯片(中断发生)去处理B事件…

2020年12月 C/C++(二级)真题解析#中国电子学会#全国青少年软件编程等级考试

C/C++编程(1~8级)全部真题・点这里 第1题:数组指定部分逆序重放 将一个数组中的前k项按逆序重新存放。例如,将数组8,6,5,4,1前3项逆序重放得到5,6,8,4,1。 时间限制:1000 内存限制:65536 输入 输入为两行: 第一行两个整数,以空格分隔,分别为数组元素的个数n(1 < n…

stm32f4_奇怪的bug_串口数据错乱,一个串口收到另一个串口的数据

1、开发环境简介 芯片型号&#xff1a;stm32f407igt6 官方库函数&#xff1a;HAL库 2、bug现象描述和原因推测 使用了2个串口&#xff0c;一个是串口5-波特率115200&#xff0c;一个是串口4-波特率9600&#xff0c;但是串口4时不时会收到上一次发给串口5的数据。不是同一个串…

C语言经典100例题(45)--学习使用register定义变量的方法

目录 题目 问题分析 代码 运行结果 题目 学习使用register定义变量的方法 问题分析 register是做声明的&#xff0c;为了提高效率。 register变量不能做取地址运算符&操作。 声明变量具有register储类型就要求编译器把变量存储在寄存器中&#xff0c;而不是像其他变量…