坚持了半年,值了!
共 4469字,需浏览 9分钟
·
2021-08-05 09:14
大家好,我是周末还在继续肝的二哥呀!
虽然十多年过去了,但回想起大一时候的光景,仍然历历在目。
由于计算机专业是学校新开的专业,所以老师们也没有多少教学经验,于是我们第一学期就直接开搞 Java 这门编程语言了,教材用的是大名鼎鼎的《Java 编程思想》和不那么大名鼎鼎的《Java 开发宝典》。
由于没有一丁点编程基础,所以我上课的时候完全听不懂,看书就像是看天书一般,心里慌得一逼,但也没什么好的办法。
和我类似情况的同学还有不少,能在下半学期转到其他专业的都转了;不能转的,就和我一样瞎胡混着。
现在想想,真有点小庆幸,要是当时我学习成绩再好点,转了专业,Java 界从此就少了一个布道师,哈哈哈。
关注二哥的小伙伴当中,不知道有没有类似的经历哈,由于玩游戏耽误课程,最后自暴自弃,甚至毕业的时候毕业证都没能顺利拿到,有的请在评论区自爆下。
作为“侥幸”走出来的“过来人”,借这个机会,给大家提 5 点个人建议吧,能捞一个是一个。
01、大学同样需要自律
上高中的时候,老师天天给我们这样灌输:“同学们,好好学呀,等你们上了大学就可以彻底放松了,那时候再也没有人管你们,想怎么浪随你们的便,现在必须得拼一拼。”
实际情况呢,如果大学真的彻底放纵了,之前多少年的努力都可能化为乌有。
之前就有几个小伙伴给我倾诉心声,说自己大学没有好好学,毕业后找不到工作,又害怕进培训班被坑,后悔的要命。
确实呀,大学同样需要自律。我们班就有这么三四个同学,比如说我提到的石磊同学,他上大学的时候就有自己的规划,所以编程功底一直都很好。
还有一个叫海洋的同学,现在在苏州,已经做到技术总监的位置。大学的时候,他经常把自己锁在机房,独自学习编程,还真的学得有模有样。
我呢,经常是拿着笔记本电脑打单机游戏,水平菜得抠脚,日子过得一塌糊涂。
这里叮嘱大家一句哈,大学千万不要贪图享乐,每个学期都应该给自己提前规划好,比如说要刷撒币算法题,要学习数据结构,要吃透 Java。
要像一块海洋一样,疯狂地吸收知识,也只有这样,才能在毕业的时候找到满意的工作。
可以少参加一些社群,多泡泡图书馆,多读一些计算机经典书籍,比如说《代码整洁之道》、《浪潮之巅》等等,还有各种黑皮书。
02、只要开始就不怕晚
我是大二下半学期才开始意识到危机的,因为当时汇编和计算机网络都挂科了。再这么下去,拿毕业证都成问题,这简直对我打击太大了。本来想着混一混,没想到差点混不下去~
于是就下定决心,一定要补一下,不然没办法给父母交差。
当时也没有很好的学习路线,网上的资源也没有现在这么丰富(可以说是极度匮乏),从网络上找了一份李兴华老师的讲课视频——用电驴下载的。李兴华老师是讲 Java 的,讲课特别激情,很带劲。
刚刚去搜了一下,竟然还能搜得到李老师讲课的视频课!关键是,智能ABC输入法还在!
一开始,还是挺难的,因为基础太差,很多听不懂。没办法,一遍听不懂,就再听一遍,前前后后一套视频看了有四五遍吧。
当然了,编程是看不会的,也听不会的,只能练,我不仅照抄李老师的代码,自己还把谷歌拼音输入法给卸载了,切换成了智能 ABC。我现在打字仍然习惯只敲一个字或者两个字,不习惯长拼。
给大家一点看视频的小建议哈。先整体上过一遍老师在讲什么,然后遇到敲代码的时候一定要暂停,先自己去理解,理解不了就去背,然后脑子里有点东西的时候就下手去敲。卡壳的时候,就重复之前的动作,直到代码的完整逻辑全部都吸收到了脑子里,自己能在没有任何帮助的情况下把代码完整敲下来,这时候才能继续。
我大概花了两个月的时间,才把李兴华的这份视频教程刷完,算是有了点编程基础,后面就尝试自己主动去修修改改,看是不是还能跑的通——有很多时候跑不通,一度怀疑自己是否适合编程,太惨了。
但终究我没有放弃,吭哧吭哧地学,按照自己的节奏,一直持续到大三的时候。
功夫不负有心人,也许是努力得到了老天的眷顾,我还是拿到了一家外企的实习 offer。
03、认清现实很重要
我在实习的时候,有主动去看 C++ 方面的书,就是那本《C++ Primer》,第四版的,现在那本书以及习题册还在家里摆着,算是陪伴了快十年的时间了吧。
没有丢掉它,因为有前辈给我说,以后有机会,还是要学习一下 C++ 的,这门编程语言实在是太经典了。前辈的话,让我对 C++ 充满了敬畏。
但时间过去了这么多年,仍然没有机会和时间去学习 C++,因为一入 Java 深似海啊!
前几天我画了一张思维导图,重新梳理了 Java 后端工程师的学习路线图(参照自我的偶像程序羊),发现 Java 这个海是真的大呀~
之前有小伙伴问我,学 Java 太难了,要不要转前端,我还专门写过文章讨论过:死亡命题
有一说一,经过这么多年的发展,其实前端要学习的东西也不少!
我们一定要认清现实,学编程并非一朝一夕的事情。不能说 Java 难就转前端,前端难就转测试,到最后可能什么都没学好。
大二下半学期认真补了一把 Java 后,虽然时间短,很多东西只学到了皮毛,比如说并发编程、Java 虚拟机,但经过这半年的刻苦努力,确实入门了。
有了这个基础,实习的时候虽然做的都是比较简单的任务,但基本上能独立完成任务了,完不成的时候也能厚着脸皮向前辈们请教了。
能独立完成任务后,整个人的精气神就完全不一样了,学习的欲望和动力就有了,整个人经常能进入一种沉浸的状态,疯狂地吸收,人也越来越自信,之前的那种颓丧的感觉终于一扫而光了。
你看,只要不放弃自己,就还是有机会翻身的。
虽然我们学习的是计算机科学与技术,要学习计算机组成原理、操作系统、数据结构与算法,但大多数情况下,我们还是应该先把编程语言给学好了,只有这件事做好了,你才能在学习编程的这条道路上走得更远,因为编程语言学得好,就可以上手做练手项目,这些可以让你看到自己实打实的进步。
所以大家在大一的时候尽量就确认好自己要学习哪一门编程语言,尽量不要来回切换,虽然编程思想是相通的,但语法上的切换仍然是需要花费时间和精力的。
我的建议是,大一上半学期尽量选择 C 语言来打基础,有了 C 语言作为基础,大一下半学期就可以无缝切换到 Java 语言上来。
如果真的很有天赋,在学完 C 语言后可以尝试实现一个自己的编程语言,可以参照下面这个项目路线,一个 1000 行左右代码的简单 Lisp:
https://www.shiyanlou.com/courses/670
当然了,如果遇到困难,比如说 C 语言的指针实在是吃不透,也没关系的,完全可以直接跳过,开搞 Java。
Java 语言的好处就不用我多吹了,我只说一点,Java 后端开发岗的薪资是真的挺香的,另外就是工作岗位是真的挺多的。
卷并快乐着~
选择 Java,就意味着工作岗位就稳了,这是最实际的考虑。
插个小广告,零基础学习 Java 的话,首推二哥连载的《教妹学Java》专栏:
https://github.com/itwanger/jmx-java
通俗易懂,风趣幽默,已更新到第 49 篇,喜欢这个专栏的可以帮二哥多多宣传一下,GitHub 上虽然只有 99 个 star,但二哥有信心把它推到 100 个 star,嘿嘿嘿。
(强烈暗示了哈)
04、学编程没有捷径
学习从来无捷径,循序渐进登高峰。
很长一段时间内,我都是一名偏应用型的选手,就是公司给我安排的任务,我就是能解决(哈哈,主要靠搜索引擎),但是要我讲理论知识,真的是抓瞎。
一般来说,学编程的人分两种。
一种从理论基础开始;一种从应用实战开始。
大学科班一般走的是第一种,培训班出身或者自学的,一般走的是第二种。
这两种学习方式我认为都没有问题,没有孰轻孰重。我虽然是科班,但老师们并没有多少教学经验,所以我基本上靠的是自学。
每个人的潜力不同,所以学习的方法也不应该完全一样。但只要是奔着一个目的(把编程学好)去的,都没有捷径,必须得身经百战,才能成为一名合格的工程师。
唯一我认为可以投机取巧的一点就是,趁早搞清楚自己要去哪一家公司,要应聘哪一个岗位。
去招聘网站上,去公司主页上,去校园信息网上,找到岗位职责和技能清单。比如京东上的 Java 高级工程师。
有个好朋友武哥,最近刚去了京东,团队很缺人,大家有需要内推的,可以私聊二哥。
大学阶段,尽量不要把精力放到新技术和新框架上,不要说 RabbitMQ 很火,就去学 RabbitMQ,不要说 Kafka 很火,就去学 Kafka,而是要有的放矢。
你想要去的岗位要求什么,就去学什么,那些新技术和新框架,完全可以放到工作以后,有需要的时候再去学,把有限的时间投放到最能表现出你个人价值的地方。另外,学习新技术和新框架,不只是要学会怎么用,还应该钻一钻源码,透彻地理解一下原理。
05、良心话
学习,一定要选一门好的教程,无论是一本书,还是一个视频,还是在线的网课。如果不知道怎么选,就听二哥的,保准靠谱。
选对了,就可以少走很多弯路。
有一说一,如果我大一的时候就看的是李兴华老师的视频课程,而不是跟着学校老师走,也许我就不会在大一的时候对编程失去了兴趣。
我的学习建议是,大一上半学期从 C 语言开始,大一下半学期从 Java 语言开始,而不是一上来就把重心放到操作系统、计算机网络、计算机组成原理这些课上,因为如果兴趣没有培养起来的话,可能就直接被劝退了。
计算机专业的课,并没有想象中那么简单。
我们需要先培养兴趣,比如说学了 C 语言,学了 Java 语言,做个小游戏,做个计算器,做个聊天室、做个在线商城、做个图书管理系统;等有了一定的编程基础后,大二的时候,就可以配合数据结构与算法、计算机组成原理这些基础课开始学,把自己打造成一名“六边形”战士。
从大一开始,就按照招聘要求上的来,等到校招的时候,基本上你就超过了 95% 以上的同学了。
要记住:不付出比他人更努力的代价,是不可能脱颖而出的。我这些年付出的努力,大家应该也能感受到,目前 CSDN 总榜的积分已经来到了第九位,周榜也是经常在前十,并且一度霸占榜一。
这只是我个人取得的一点点微不足道的成绩,我觉得更有意义的是,我输出的内容,的的确确帮助到了很多小伙伴(哪怕是只有一点点),也让我的生命里充满了光和热!
顺势而为,跟着学习欲望走,不要轻易中断,一旦你进入沉浸式的学习状态中,就可以在很短的时间内取得令人刮目相看的成绩。
大一,需要开个好头,后面就轻松了~
PS:7 月份竟然忘记开赞赏了,8 月第一天就顺带开一下这个月的赞赏吧(注意已经加粗加大,强烈暗示),打赏的额度不限,一元也是真爱。
偷偷地说一句,这个赞赏是后面送书(今年至少有100本了)的重要考量标准,哈哈哈,当然了,主要是鼓励一下二哥,让二哥感受到大家的爱。