大家好,我是耳东,今天跟大家分享一下我那读废的大学以及我是如何挽救它的,希望对大家有帮助。
其实我在读大学之前是完全没想过自己会来学计算机的,当时房地产挺火的,我想过要不要去学土木建筑等等专业,后来听一位亲戚的建议,选了和“电”、“科技”相关的专业,比如电气工程、计算机、软件工程等等,最终成绩平平的我去了某985学习计算机。
大一的我一直在纠结一件事情:我要不要转到其他专业去。
为啥我会想转专业呢?因为实在是学不懂啊。大一一开始,学校就开始教程序语言设计这门课,当时教材是以Java作为语言来授课,我全程两眼一抹黑,完全听不懂啊,整个一学期下来我只学会一句System.out.println("Hello World"),还记得当时每次上完课回到宿舍跟室友说过最多的一句话就是“今天又是毫无收获的一天”
大一除过学计算机相关课程特别菜,还有就是高等数学这门课,本来我高中数学学的挺好的,不知道为啥一到大学立马歇菜了,变得学不懂数学了,高数学不好编程学不懂,这双重打击差点给我整抑郁了。
就在我大一这特别菜的一年,身边有同学转专业成功,比如我们班有个兄弟从计算机转到了化工,还有个兄弟从计算机转到了电气工程;还有学编程学的特别好的,当然人家也是付出了非常多的努力的,这后来也让我有许多反思,这个反思就不放在这里写了,我把它放到本文的总结部分。
度过大一这一年的菜鸡生活,转眼就到了大二,我依然在计算机专业混,我前面不是说了吗想转专业,但是我实在不知道往哪转,以及我的专业课成绩实在是太菜不足以支持我转,就这样我依旧在计算机专业毫无收获的上课听天书。
大二这一年我们开始上数据结构与算法这门课了,对编程有了解的人应该都知道这门课,很多人都很怕这门课,因为不是很容易学懂并且运用,当然了我也不例外。
我依稀记得当时大二第一学期一开始我决定重振雄风认真听课学懂编程,没过几天数据结构这门课就让我彻底忘记了起初的决心。刚开始学线性表我还是能听懂一点点的,但是一到做作业的时候,我是完全不懂啊,连题目都看不懂,更别说上手写代码了。什么排序、查找、二叉树,我确实明白是啥意思,但是写代码是真的写不出来。
大二这一年是我非常迷茫和焦虑的一年,焦虑到啥程度呢?晚上翻着知乎上很多学习编程的建议就睡不着了,因为看着别人学的很好很系统也能找到好工作有的还能去大厂实习,结果自己都到大二了还啥都不会还没做过项目。
大二结束,我开始发愁要不要继续读计算机专业,开始发愁毕业如何找到工作,开始发愁未来的路。
但是很快,我的人生转机来了。
大二暑假的时候,我一个同学打算去他亲戚家的小软件公司实习,我当时就问他“你跟我一样啥都不会咋还去实习?”,他跟我说“反正暑假也是闲着,就去学学呗,反正是自家亲戚,你去不去?”,我当时一想也对,要不我也去吧,于是我就去他亲戚家的小软件公司实习了。
实习的时候,说实话我是啥都不会,我记得当时他们公司是接一些政府的网站项目来做,有次他们在开会讲那个登陆功能用cookie做,我听的跟天书一样。
虽然我啥都不会吧,但是毕竟是在人家的公司实习,你总不能啥都不做对吧?于是我从网上找了一套Java视频开始学习,希望早点能够开始干活,可能是因为这次有压力在驱使着我学习吧,没想到我居然学懂了!
并且在学完Java基础课程后我跟着课程做出来了一个完整的项目,当时做的是***大战,这个极大的增强了我的信心,之前废了很大的劲儿都写不来程序,但是老老实实学完一套课程以及做出一个项目之后,我觉得我入门了。
这个暑假过后,我对编程和计算机不再那么抗拒,也对写代码产生了兴趣。
或许人就是这样子,在认真做一件事情并且取得了阶段性成功之后,就会产生正反馈,越来越有兴趣。
经过大二暑假的锤炼,大三过的很顺利。
大三我们开始学数据库这门课,课程设计是做一个增删改查的系统,这是我自己独立做出来的第一个课程设计,也是我最有成就感的一次。
记得当时是直接用Java连SQL Server,用Swing做界面,虽然只是简单的增删改查等等功能,但也是我从零到一完成的完整项目,当时也没有用ORM框架,直接手写拼的SQL语句。
最后课程设计得了高分,而且在做的过程中我帮助了很多其他同学,包括什么配置环境问题、代码设计问题,我居然一下从学渣变成了伪学霸😂
经过这一学期的课程,我逐渐对计算机和编程有了信心,很多东西开始慢慢的变好。
然后到了第二学期,要开始找实习工作了,当时依然很菜的我要开始好好做准备了。
通过在网上了解,我大概知道了计算机应届生找工作的时候基础知识很重要,于是我找了很多操作系统、计算机网络、数据结构算法的资料和书,准备重新好好学习一下之前荒废的知识。
这里重点说一下我重新学习数据结构与算法的方法,很简单,我把当时学校的《数据结构与算法》课本上的代码部分,从头到尾敲了一遍,没有什么特别的办法,我就是老老实实的把课本上的例子在电脑上敲了一遍。
过程很艰难,但是结果很不错,一开始经常出问题,比如方法抄错了、少写了分号等等低级问题,时间长了越敲越顺,而且一边敲一边理解,最后数据结构中的链表、二叉树、堆、栈、图、排序、查找等等代码实现我都比较熟悉了,然后就刷《剑指offer》,这本书大概刷了两遍吧。
到了大三第二学期,基本上该学的课程我都重新学了一遍,我要开始找实习了。
但是此时有个比较大的问题,我该投什么岗位的简历?前端、后端还是算法?
于是我去搜了点各个方向的就业和岗位要求,我大概了解到当时(2016年)前端正处于蓬勃发展的阶段,Vue、React技术栈以及前端工程化正进行的火热,于是我
决定走前端方向。
随后我开始学习前端的东西,从HTML、CSS、JavaScript开始,然后是学习Vue,项目我都是从GitHub找的,找实习的过程也是一言难尽啊,大厂基本上都挂了,面试中还经常被鄙视😅这个过程如果大家喜欢看的话,后面我再出一期内容。
大四基本都是在校外实习度过的,我去了一家创业公司实习,其实我当时拿了两个实习offer,一个是这家创业公司,一个是阿里体育,为什么去这家创业公司呢,因为当时我觉得这家公司给人的感觉非常好,而且实习待遇会比较高一些,所以我就去了。
实习的时间就是不停的学啊学,刚开始的时候菜鸡如我连webpack都不会配,装node环境都要装好久。
不过可能是压力带来的动力吧,我很快就掌握了工作中需要的东西,并且可以开始独立的做事情。
后来因为实习期间比较出色,还获得了最佳实习生的奖😸
再后来就顺利的转正了,我就留在了那家公司,当时给的薪资还不错,在2016年就给到了月薪1万6,算下来年薪20多万,或许现在看来不多,但是在5年多以前确实是不错的应届生薪水。
站在现在看过去,其实我感觉我大学还是过的挺失败的😅,浪费了两年的时间,我也经常在想如果我大一就有一个比较清晰的路线,那我现在是不是技术更强、发展的更好一些?
不过虽然大学度过的不怎么样,但是我的失败经验和教训还是可以分享给大家的。
大二暑假之前我也尝试着去学了一些东西,但是现在看来当时动手操作的太少了,学编程一定要多写,把书本上的代码例子自己手敲下来,然后可以按照自己的想法去做改动,遇到问题就去搜索。计算机是一门实践科学,最重要的是多动手,如果代码都没写过几行就想学好编程,你想想你站在岸上能学会游泳吗?
如果你现在在苦恼为什么写不出来代码、编程能力不好,那你应该反问自己写过多少行代码、解决过多少bug。
学编程,就老老实实多写代码吧。
做个聪明人,但是要下笨功夫。
曾经我也纠结过,学Java好还是C++好,好像安卓开发也不错。
但是说实话,如果我当时把这里面任意一个方向深入进去,早点开始学习做项目,应该结果会比现在好很多。
所以学习编程在学之前可以找点懂行的人多问问,看看前景如何。但是一旦你定下了方向,就不要纠结了,好好学就是了。