
那些年,学习编程我走过的弯路
分享的原因
今天想给大家分享一下,那些年,我学编程走过的弯路。之所以要分享,是因为感觉大家都太焦虑了,每走一步,都会顾虑很多,我分享一下我的大学和研究生生涯,来帮助大家正确认识一下。另一个方面,就是因为自己走了很多弯路,不希望大家重蹈覆辙。
言归正传,我们来看看我自己本科和研究生都走了哪些弯路,从大一到研三,可以说是九曲十八弯。

天崩开局
和大多数人不一样,我没有兴高采烈的进入大学。因为高考成绩不佳,我被调剂了,所选的计算机,通信,机械,自动化等等专业都没有被录取,而是被调剂到了一个所谓的"修锅炉"的专业。我的整个大一上都没有参与过任何的活动,包括社团和各种文体活动,没有一个周六日是躺在床上的。因为我的目标只有一个,就是转专业。其实没有所谓最好的专业,但是我想找一个最适合我的专业。对于一个小镇做题家来说,钱对我的吸引力无疑是最大的。而且还有一个好朋友和我一起转。在我的看似不懈努力的半年时间里,我拿到了专业第一名的成绩,并且成功通过了转专业的考试。但是随之而来的就是一个巨大的问题摆在我面前,高中之前的我没有用过电脑,大一上的计算机二级的word,excel,ppt我都搞不定,现在却要让我来编程,虽然是对大家来说可能都非常简单的C语言,但是对我来说确实难如登天。我不知道怎么安装环境,不知道数据类型,流程控制是什么的时候,转完专业时的课堂进度是函数。第一节实验课整个人在机房傻傻的愣神。也就是在这时候,我才深刻的意识到,编程没有那么容易。可以说是天崩开局了。
但是自己的选择就是要自己承担,我只好继续早出晚归的去写代码,说是写,其实就是抄,看一个字母写一个字母的那种,不夸张的说,我写一个if要在键盘上找好久,曾经也一度怀疑过键盘上的字母为什么不按照26个字母顺序排好。给大家看看我曾经一节课写出的代码
那个时候写的很慢,但是写的时间长,基本上把C语言程序设计那本书上的所有例题和课后题都写过了不止一遍。在学到结构体和指针的时候,我已经熟能生巧了,就是能够和大家的思考时间和写代码的时间差不多啦。
其实说这么多,主要是想告诉大家一个道理,当你因为基础差而瞻前顾后,思虑再三的时候,真的只是在无端的空虚内耗。我这天崩开局都可以,你也一定行。另外这也是我建议大家在学习Java基础的时候,每天坚持敲代码,不要因为自己对代码的不熟悉而越往后学越觉得心慌。
无效的努力
同样是因为高考失利的原因,我对名校有一种心驰神往的情结。由于大一一学年的排名仍然是年级第一,这更让我萌生了保研的念头。此时的我已经忘了自己的初衷是想通过写代码实现快速的财富积累了。或者说我自己一直在说服我自己,挣钱的时间以后多的是,保研的机会却只有这一次。于是乎,我在卷绩点的路上越走越远了。甚至是过分苛求自己,力求每一门课都95+(也就是满绩点)。过多的时间用来预习,复习,完成作业。像一个高中生一样勤勤恳恳的学习。稍微有一点课余时间,也是去参加一些能够在保研上加分的比赛。完全忽略了学技术。就这样两年过去啦。
讲到这里,可能大家也都对保研考研,或者说对研究生有一定的倾向,那么我想跟大家说,学历只能决定你的下限,能力才能决定你的上限。在学历贬值速度如此之快的今天,可笑的是,我本科同学能去的工作岗位,我现在已经去不了了。而且你的第一学历真的很重要,这也说明了一个问题,努力越早,性价比越高,如果你是一个985的本科生,你基本上本科就业就可以有一份不错的工作了。当然了,我只是说比例,大家不用刻意的去提到某几个你认识的人是怎样怎样。而且,人这一生,总要有几次吃苦的经历,高中吃苦了,能进一所好大学,考研吃苦了,能有一个高学历,工作吃苦了,能快速晋升,总之,努力越早,性价比越高。受得煎熬更少,获得的成就更容易。
躺平的两年
大三,我或许才真正的进入大学的状态。转专业需要补的课程补完了,前两个学年的成绩一直名列前茅,保研的事情基本稳了。开始想要谈恋爱,过真正的大学生活了,但是,总之,恋爱不顺利。大家应该对这个不感兴趣,就不再多提及了。哈哈,总之就是后面很长一段时间都沉浸在痛苦中,熬夜,不吃饭,没精神。甚至有些抑郁倾向。说是躺平,其实也没有躺平的快乐,只是什么正事都没有做。如果现在能够穿越回去,一定给那个时候的自己两个耳光。你倒是学技术呀,你倒是去实习呀,你不知道我现在已经忙不过来了,你还在这躺着。
后面逐渐想通了,真的,爱你的人会站在你的前途里,不适合你的人也会在你的生活中彻底退出。不断的提高自己,才能遇到更好的人。
错误的方向
研一上,已经彻底从大学的阴影里走出来了。此时的我信心满满。虽然不知道哪里来的信心。可能是经过两年的休息,感觉自己身上有使不完的力气吧。研一是需要上课的,所以我就,上课,论文,实习三手抓。幻想着自己成为算法工程师,年入百万的生活。但是理想很丰满,现实很骨感。从第一个月的信心满满,到第二个月的力不从心,再到第三个月的疲惫不堪,到第四个月的忙不过来,因为要准备期末考试啦。自从上了大学,从来没想过自己还会因为考试发愁,但是事实摆在眼前,只好先准备期末考试啦,其他的都放一放,考完试后,我也认真思考了,我真的不适合算法岗,甚至是不适合科研领域,不是单纯的感觉累,而是我感觉又累又没有进步,只是在原地踏步的累。期末考试之后,果断选择Java了。
这里是想告诉大家,选择比努力更重要。虽然我们还年轻,有机会去试错,但是要懂得适可为止,坚持的前提是找到适合自己方向,一个自己努力能获得收获的方向。而不是原地踏步甚至是南辕北辙。
匆忙的面试
期末之后的寒假一直在学习Java。准备实习。虽然有一些Java基础,但是只学到了JavaWeb,后面需要学的东西太多了。框架,中间件,而且那个时候我没有背八股文的意识,算法题也只知道hot100,由于本科是没有刷过题的,我甚至对刷题充满畏惧。而且还要准备项目,项目只是跟着B站大学敲的。果不其然,大厂都没有面试机会,看着同学们一个个都有了实习,我也很着急,想着先找个小厂历练一下吧。毕竟自己的能力有限。后面才知道,不是我选择了小厂,而是小厂收留了我。
这里想跟大家说,一定要多关注一些学习的元信息,知道该学习些什么,该怎么学习,不要闭门造车,一直看着自己的一亩三分地。另外就是如果因为学历或者能力原因无法一次就进入大厂的话,先去小厂历练一下也未尝不可,在小厂,你有更多的机会接触到更核心的业务,甚至是整个业务线,自己能参与的东西也更多,实习的话,先在小厂渡个金,然后在大厂面试中能发挥出你意想不到的效果。
信息差的影响
其实从前一阶段,我已经在深刻认识到信息差的重要性了,自己也加入了编程导航知识星球,但是认知还是有差异的。在研一下结束小厂实习以后,我开始准备面试大厂。当时是字节和另一家公司在面试,我以为他们都是大厂,但是另一家公司只是中厂。而且另一家公司由于先发了offer,然后业务更核心一些,我就放弃了字节的面试。后悔的我现在肠子都青了。而且自此之后,我字节不是一面挂,就是二面挂。秋招面了5-6次,没见过三面的面试官。只能说是报应啊。
这里主要是想告诉大家,要学会收集信息,要对整个行业有一个自己最基本的认知,就互联网来说,大厂就是你手机上安装的那些常用的软件。可以经常去牛客,脉脉,以及offershow上关注一下想要了解的企业和薪资。
缺乏面试经验
之前只有中小厂的实习,而且没参加过几次面试。所以暑期实习我没拿到offer,我只能拿在我的中厂继续实习。分析下来,主要有以下几点原因,第一是对实习期间的业务没有完全的捋顺清楚,一些业务指标不明晰。第二是自己做的工作太少了,没有亮点,面试官甚至不想听。第三,场景题不熟悉,只会一些简单的八股。第四,面试的时候非常紧张,说话太快了。
这里想跟大家说,每一场面试都是历练,成功或者失败,并不是那么重要,你最后只会去一家公司,你只需要通过3-5家公司的面试就已经超过80%的人啦,但是公司很多,我们可以去锻炼自己,可以不断的面试让自己更强大,如果说平时的学习是练兵,那么最后的面试就是上战场。只有多上战场,更多的和面试官进行较量,我们才能获得更快速的成长,在心态和能力上都有一个质的飞跃。
总结
今天给大家讲这些,就是想告诉大家,每一个人光鲜亮丽的成功之下,都会经历数不尽的磨难,会不断的走弯路,不断的尝试。最后,我们会找到适合自己的路,也会开出属于自己的花。因为我最近在复习基础知识,也在做项目,写代码,后面觉得对大家有用的东西会分享给大家,今天就到这里啦。
