一个双非软件工程本科生的逆风翻盘经历

2023-12-28 00:59

本文主要是介绍一个双非软件工程本科生的逆风翻盘经历,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

写在前面

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

现在的我还算顺利吧!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、对自己有自信很重要。」

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

最后免费分享给大家一份Python全套学习资料,包含视频、源码,课件,希望能帮到那些不满现状,想提升自己却又没有方向的朋友。

 

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。在这里插入图片描述

二、Python必备开发工具

在这里插入图片描述

三、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。 在这里插入图片描述在这里插入图片描述

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。 在这里插入图片描述

五、Python练习题

检查学习结果。 在这里插入图片描述

六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。 在这里插入图片描述在这里插入图片描述

这份完整版的Python全套学习资料已经打包好,需要的小伙伴可以戳下方链接免费领取

读者福利《Python全套学习资料》,戳这里免费领取!!!

这篇关于一个双非软件工程本科生的逆风翻盘经历的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/544734

相关文章

1.1 从图灵机到GPT,人工智能经历了什么?——《带你自学大语言模型》系列

《带你自学大语言模型》系列部分目录及计划,完整版目录见: 带你自学大语言模型系列 —— 前言 第一部分 走进大语言模型(科普向) 第一章 走进大语言模型 1.1 从图灵机到GPT,人工智能经历了什么?1.2 如何让机器理解人类语言?(next, next)1.3 Transformer做对了什么?(next, next, next) 第二部分 构建大语言模型(技术向) 第二章 基础知识

软件工程-第5章面向对象分析

快期末考试了,再写7篇就准备下线考试去了。 面向对象方法的基本原理是使用现实世界的概念抽象问题从而自然地解决问题,它强调模拟现世界中的概念而不强调算法。 5.1面向对象方法介绍 ①基本概念:对象指要研究的任何事物。 类是对象的模板,即类是对一组有相同数据和相同操作的对象的定义,一个类所包含的数据和方法描述一组对象的共同属性和行为。 继承性是子类自动共享父类中数据和方法的机制。 封装性是

腾讯实习生招聘失败经历分享

腾讯实习生招聘开始,师兄们说进入腾讯实习转正的概率很大,果断投了网申,当然先准备了一份自认为良好的简历。接着收到腾讯的短信说参加笔试,线下,我特别喜欢线下,因为这样做题的感觉比较习惯,我之前买了本《程序员面试宝典》,看了一部分,发现笔试题目很多书里都有讲到类似的,遗憾的是我没有看完,很多题目凭记忆和感觉做的,线下果然棒,惊喜,我过了笔试,收到了面试通知。 现在的实习单位离面试地点超远,我请了假赶

求小球落地5次后所经历的路程和第5次反弹的高度

#include<bits/stdc++.h>using namespace std;int main(){int n;while(cin>>n){double d=n*1.0;double h5=d/2/2/2/2/2;double sum=d+d+d/2+d/2/2+d/2/2/2;cout<<sum<<endl<<h5<<endl;}return 0;}

《计算机英语》 Unit 3 Software Engineering 软件工程

Section A Software Engineering Methodologies 软件工程方法论 Software development is an engineering process. 软件开发是一个工程过程。 The goal of researchers in software engineering is to find principles that guide the

泰国普吉岛与曼谷7天自由行路线与踩坑经历

本文介绍泰国6日自由行(普吉岛3日、曼谷3日)的每日详细行程、游览心得、避坑经历等。   2024年06月初,我们一行5人前往泰国普吉岛与曼谷等2地,进行了一共为期7天的旅行;其中真正花在游玩上的时间大概是5至6天。在这里就介绍一下具体的行程和相关游览的心得。   其中,泰国和国内有1个小时的时差,他们比我们晚1个小时(比如北京是晚上22:00的话,那么泰国就是同一天的晚上21:00);为

【软件工程】【22.04】p1

关键字: 软件需求规约基本性质、数据字典构成、内聚程度最高功能内聚、公有属性、RUP实体类、评审、测试序列、软件确认过程、CMMI能力等级 软件需求分类、DFD数据流图组成(实体)、经典详细设计、数据耦合、关联多重性、状态图、黑盒测试、CMMI过程改善、需求开发过程域意图 一、单选 二、填空

1969python房屋租赁管理系统mysql数据库Flask结构BootStrap布局计算机软件工程网页

一、源码特点     python Flask房屋租赁管理系统是一套完善的web设计系统mysql数据库 ,对理解python编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 python flask 房屋租赁管理系统     开发环境pycharm     mysql 5.0 到5.5     依赖包 Flask1.1.4           pymy

【会议征稿,CPS出版】第四届管理科学和软件工程国际学术会议(ICMSSE 2024,7月19-21)

第四届管理科学和软件工程国际学术会议(ICMSSE 2024)由ACM珠海分会,广州番禺职业技术学院主办;全国区块链行业产教融合共同体,AEIC学术交流中心承办,将于2024年7月19-21日于广州召开。 会议旨在为从事管理与软件工程领域的专家学者、工程技术人员、技术研发人员提供一个共享科研成果和前沿技术,了解学术发展趋势,拓宽研究思路,加强学术研究和探讨,促进学术成果产业化合作的平台。大

nuc软件工程导论期末

1.过程模型: 瀑布模型 描述: 按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。 适用情形: 需求是预知的; 软件实现方法是成熟的; 项目周期较短。 优点: 可使开发人员采用规范的方法; 严格地规定了每个阶段必须提交的文档; 要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。 缺点: 只能通过文档了