终于,梦想实现了!

JavaGuide

共 4618字,需浏览 10分钟

 · 2021-05-29

本文的作者是我很敬佩的一位好朋友,他 985 硕士毕业,去年秋招也拿到了很多大厂的 offer 。由于对学术研究的向往,他放弃了大厂高薪,选择了某研究所的工作。远离了 996 ,能够有更多时间做自己喜欢的事情。他后续的想法是工作两年之后继续读博,然后,争取能够当一个大学老师。祝好运!很不错的选择!

写在前面

我是 2021 年毕业的研究生。本科是在一所双非大学读的,专业是软件工程,本科时学过一些 Java 开发。因为学历一般,又对科研存在幻想,我选择了考研,拼了老命总算是考上了一所中游 985,去年秋招拿到了很多大厂的 offer 。

本来想写一篇文章给大家分享一下数据结构应该怎么学。但,正当我按步就班的回忆自己本科是怎么学习数据结构的时候,脑海中突然看到了刚上大学的自己。

不过,回想我在刚上本科时,因为高考分数不高只上了一个很一般的学校,也对自己的专业不感兴趣。但庆幸的是,大学四年,我慢慢的对编程产生了兴趣,学会了如何学习并走入了编程的大门。今天我就给大家讲述一下我读本科的经历,也希望给现在同样处境的朋友一点帮助。

迷茫期

2014 年 9 月,我趁着我们省高校软件工程专业大幅扩招,以一个不高的分数上了一个还算凑合的文科型双非院校。

其实,我对编程本身没有一点兴趣,甚至当时家里的电脑我都不怎么动,选择软件工程专业完全是因为那年招的人数多,所以分低。

来了学校以后,身边的同学都不怎么爱学习,基本上就是成天窝在宿舍打游戏。学校的老师也因为我们那年软件工程大幅扩招,学生管不过来,让我们处在一个完全放羊的状态。当时我们都有种共同的感觉:“不想坐在教室上课,但是我们并不知道我们该干什么”。

不过,我还算上进,想着天天在宿舍待着挺无聊的,就报了很多社团,有学生会、广播站、篮球队、田径队等等。整个大一算是很充实,就是大一上学期高数挂了,下学期 C++ 挂了(那年我们高数大物基本上挂人能挂一半,不是因为题难,实在是当时的我们太菜了)。

由于大一参加活动认识了好多人,就很凑巧的认识了一位直系的学长,也是这个学长带我走进了编程的大门。这位学长现在在字节,年薪七八十万了,后文称他为字节大哥。

说来也是因为我们是一个文科气息很浓的学校,学院的领导基本都是搞行政出身,所以我们学校很少能见到技术型的活动,院领导倒是对一些足球赛、篮球赛、啦啦操比赛很上心。由于我之前没见过有人编程做出软件,当时在刚认识字节大哥时,看着他做出的软件,我简直惊为天人。当他给我展示他的代码时,我直接化身为程序员鼓励师,吹爆了他的代码。于是字节大哥豪气的一拍大腿把我收为了小弟,要带我学编程。但后续几个月由于忙着参加各种文体活动一直也没联系字节大哥。

对编程产生兴趣

故事从我大一下学期 C++ 挂了开始讲起,因为开了学需要补考,我就问当时还不算熟的字节大哥,我应该怎么学 C++。我现在还记得当时他略带深沉的摸了摸下巴说,我建议你看看 C++ 编程圣经 《C++ Primer》。好吧,我现在还在记仇。当年我意气风发的在淘宝上买了这本书,然后翻了两页就打消了我学习编程的想法。好在补考前拿着课本突击几天,又找老师画了重点后,算是把补考过了。

因为感觉编程真的学不明白,大二上学期其实在编程上也没学什么东西,也就没多联系字节大哥,不过还算努力的我在大二上学期第一次考四级就把四级过了(后续也过了六级,英语学好对程序员的发展是很有帮助的)。

大二那年快放寒假时,我又重新燃起了想学编程的想法,我再一次找到了字节大哥,在他又准备给我推荐 Java 编程圣经 《Thinking in Java》 的时候,我赶忙拦住他,问他有没啥是我很容易学会的?让我先能上手做出一些东西。这次他教了我 HTML,并且我终于通过他的演示看懂了怎么写 HTML。趁着寒假,我自学了 HTML、学了 CSS、学了 JavaScript。终于通过自己敲代码,在前端显示出一个自己设计的网页。自从我觉得能通过自己编程能做出一些东西后,我对学习编程的兴趣变得越发强烈了。

初入编程大门

大二下学期开学后,一天中午在食堂门口看到宣传海报,我们学院要举办软件大赛。那一次不知道从哪里来的自信,除了前端三剑客什么也不会的我就游说同学,拉起了一个小分队要参加一个月后的软件大赛。由于同学的基础比我还差,我只能先教会他们用前端三剑客,让他们去做前端页面。然后,我根据字节大哥的建议去自学 PHP(PHP 是世界上最好的语言,不服评论区来辩)、自学数据库。

那一个月对我来说有点煎熬,经常拿着电脑盯着一个 Bug 盯一上午,然后才能把程序的一小部分执行通,改 Bug 的过程十分痛苦,有好几次就想着要放弃,但是想着当初是我拉着几个同学要来参加比赛的,我如果放弃了是真的对不起他们,就咬着牙硬撑下来。也终于在软件大赛开始之前通过努力(我字节大哥也帮我改了几次 Bug)把一个网站做了出来。

靠着一点创意,我们通过了初赛进入了决赛,也最终得到了那次软件大赛的三等奖(进了决赛的就有三等奖)。

虽然这次比赛的含金量没有多大,但是对于我来说却意义重大。通过这次比赛,我学会了如何去学习编程,也建立起对自己的自信,知道自己可以通过编程去解决一些问题。

经过这次比赛以后,我算是打开了编程的大门。我知道了自己该学什么,我也有了我自己学编程的方法,我不在学某某技术时先拿着一本“xxx 圣经”硬啃。在学习一种技术的时候,我都先学会上手,然后再去补充比较复杂的理论,这让我学技术学的很快。慢慢的,大一大二没学好的 C 语言、C++、Java、数据结构、网络都补了起来。

大三,因为学校安排搬宿舍,我正好换到了我们班一个十分爱学习的宿舍,当别的宿舍都在没日没夜的网吧打游戏时,我们宿舍一起跑到了没什么人的图书馆去学习。后来我们这个宿舍也大部分通过考研和保研上了不错的学校。

其实,我最初的想法是要去工作,但是在大三的时候去听了一场中国计算机大会的报告,看着很多高大上的技术,让我对读研产生了幻想。其实还有一个想法就是想弥补下没在好的学校读过书的遗憾。考研就是另一个故事了,感觉是一个比较励志的故事~~好在我在本科的时候学会了怎样学习,编程也有了还不错的基础。

我从大三下学期的 6 月开始准备考研,在经历一段折磨后,终于挤进了复试(实行差额复试,我初试的分数就在差额里面)。也得益于我编程基础还不错,所以在面试过程中对于一些编程基础问题我都答得比较完善,实现了逆袭。在面试完忐忑的离开面试房间时,听到了一位老师和另一位老师说,这个学生还不错。我知道,我上岸了。

后来

后来,上了研以后的故事比较顺利,在一个更高的平台上认识了更多优秀的人。也有很好的博士师兄带着我学习很多知识。虽然研究生的生活也有一些波澜,但总体上比较顺利。经过校招也拿到了很多不错的 offer,有比如像腾讯、美团京东这些互联网大厂,也有一些不错的研究所。回头去看所有走过的路,虽然会有遗憾,但也收获了不少。

建议

下面我想给刚上本科的并且和我有类似经历的朋友一些建议。每个人情况可能有些不同,大家择善而从。

1、多和上进的人在一起。远离一些见到你学习还会挖苦你的人。

大学生活中,其实身边的人对自己影响会很大。我特别感谢我在上大学时身边有几个很有想法,也很上进的人,这几个人对我的影响很大,让我知道了我应该朝什么方向努力。另外和这些比较上进的人一起参加一些比赛,合作一些项目也是对自己很受益的。

2、合理分配学习时间。

感觉一部分同学对大学的努力存在误区,努力不是要两耳不闻窗外事一心只读圣贤书。大家要懂得给自己放假,该去运动就去运动,该和同学出去玩就出去玩。其实玩也是为了更好的去学习,大家需要的是在学习的时候集中注意力高效率的学习。在考研最辛苦的时候,我也一直保持着学习五天,纯玩两天的节奏。

3、学编程的时候大家尽量先上手再去补理论。

比如对于初学编程的朋友。可以先尝试用 HTML 做一个基础网页。学会怎么使用 HTML 以后,再用 CSS 给网页做个样式,然后再用 JavaScript 做一些效果。前端一些最基础的操作学会以后,可以慢慢再学一门后端的语言,给网页开发出后台,然后再给网站连接数据库。最后再学习一些数据结构的知识、软件工程的知识、设计模式的知识等等把自己做的网站做的更好。通过一步步的来,先让自己对编程有个初步的了解,再去深挖。要学会给自己的学习降低难度,上来就抱着《C++ Primer》、《Thinking in Java》就啃,特别容易打击自己学编程的信心(甚至有人直接抱着算法导论啃)。

4、学会利用资源。

因为各种学校的教育资源不同,大家并不能把获得知识的希望全部寄托给大学课堂。一些编程类的书籍和公众号文章,还有一些编程课程(大家可以在 b 站搜)。都能对编程的学习起到一定的疏通作用。我在学编程时一般都是这个节奏,比如要学习 MySQL 数据库,我就先在 b 站上找一些编程课或者在公众号上找一篇不错的文章,然后跟着教程先把环境搭起来,再跟着教程把几个增删改查的基本操作敲一遍看一下效果。然后再去学习一些相对高级的操作,比如排序、group by、表连接之类的。在对 MySQL 基本上手以后,看一些书去了解理论性的知识,对于看书不懂的问题,再去找一些公众号文章或者编程的课程去学习。我感觉这样的学习更适合大部分学生,这样学习效率也会高很多。

5、收集信息很重要。

高中时期,大家都有一个明确的目标,就是高考,高考相关的信息已经被各个学校老师研究的十分透彻,高三学生需要比的就是谁更努力,谁学习更高效。而大学不一样,大学有很多条路,你要做的是选择好自己走的路,并且要多了解一些信息,明白自己的路应该怎么走。比如你要本科毕业去互联网公司就业,你就应该提前了解自己需要具备什么样的能力才能进这些公司就业,提前准备一些相应的项目,提前联系去一些互联网公司实习。如果你想考计算机相关专业的研究生,你就应该去了解哪些学校这方面专业好而且招生人数多,并且去了解考研应该准备哪些东西,然后相应的去参加一些证明自己能力的比赛或者做一些项目。

6、对自己有自信很重要。

大家要一步步的培养起对自己的自信。这种自信不是那种迷之自信~而是要通过一些活动,一些比赛去建立对自己学习能力,对自己的能力的自信。要相信遇到再难的问题,自己也可以把问题一步步拆解开去完成。这对于日后的学习是最重要的。

< END >

推荐👍 :1049天,100K!简单复盘!

推荐👍 :年薪 40W Java 开发是什么水平?

推荐👍 :Github掘金计划:Github上的一些优质项目搜罗

我是 Guide哥,拥抱开源,喜欢烹饪。Github 接近 10w 点赞的开源项目 JavaGuide 的作者。未来几年,希望持续完善 JavaGuide,争取能够帮助更多学习 Java 的小伙伴!共勉!凎!点击查看我的2020年工作汇报!
欢迎准备面试的朋友加入我的星球
一个纯 Java 面试交流圈子 !Ready!
原创不易,欢迎点赞分享。咱们下期再会!
浏览 34
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报