软件工程-本校保研

说实话,我选择本校保研,说白了就是——懒得折腾。

外校保研要重新适应环境、重新联系导师、重新融入课题组,想想就累。本校本专业导师我早就熟悉了,实验室的师兄师姐都是我的人,何必出去重新开始呢?

而且说实话,211的本校本专业实力也不差。我们学校的计算机学科评估是A minus,在国内排前15%,认可度挺高的。与其去外校当”外来户”,不如在本校做”亲儿子”。

当然,这不是说我没有野心。我只是觉得,本校本研是一条更稳妥的路。稳妥不代表没出息,不代表混日子。恰恰相反,稳扎稳打有时候比四处折腾更能出成果。


高中时就埋下的种子

其实我能走上编程这条路,跟我高中时的经历有关。

初中的时候,我自学了HTML,做了一个个人网站。虽然页面很丑,但那是我的第一个作品。

高中的时候,我参加了信息学奥赛,虽然没拿奖,但学到了很多编程知识。C加加、数据结构、算法……这些内容让我对编程产生了浓厚的兴趣。

高考填志愿,我毫不犹豫地选了软件工程。

我知道,这就是我的方向。


选专业那天

高考出分那天,我躺在床上,看着天花板发呆。

理科598分,比一本线高了80分。这个分数可以报很多学校,但选专业有点尴尬——好学校的好专业竞争很激烈。

我妈在旁边翻着志愿填报指南,问我:“你想学什么?”

“计算机。“我毫不犹豫地说。

“计算机好啊,现在互联网这么火。“我妈说,“软件工程、网络工程、信息安全……你选哪个?”

我想了想,说:“软件工程。我喜欢写代码,喜欢做软件。”

后来我被北京邮电大学软件工程专业录取了。北邮的计算机相关专业在全国排名前十,就业率很高。

我爸高兴得喝了两杯酒:“我儿子有出息,以后当程序员。”

那时候我还不知道,“程序员”这三个字意味着什么。


大学四年:绩点是关键

说实话,211的软件工程课程挺硬核的。

数据结构、算法设计、操作系统、计算机网络、数据库、编译原理、软件工程……每一门课都是硬骨头。

我印象最深的是数据结构。大一上学期,第一节课老师就说:“数据结构是计算机科学的基石。学好数据结构,才能写出高质量的代码。”

那时候我以为自己在信息学奥赛里学过数据结构,应该没什么问题。

结果第一节课上完,我就懵了。

老师讲的”时间复杂度""空间复杂度""递归树”……这些概念我在竞赛里学过,但没有系统地理解过。

后来我才明白,竞赛和课内的学习方式完全不同。竞赛是”会用就行”,课内是”要理解原理”。

我大一的时候还比较迷茫,不知道该往哪个方向发展。

每天按部就班地上课、完成作业、考试。没有参加任何竞赛或项目,也没有去实习。

大一结束,我的绩点是3.5,排专业前30%。不算差,但也不算好。

大二的时候,辅导员开了一次班会,主题是”大学四年规划”。

会上,辅导员说:“想保研,绩点最重要。”

我开始认真对待每一门课。

上课认真听讲,课后完成作业,期末认真复习……

第一学期结束,我的绩点是3.8,排专业前10%。

这给了我信心——保研,我是可以的。


参加竞赛:加分项

保研不只是看绩点,竞赛和项目也是重要的加分项。

大二的时候,我开始参加ACM程序设计竞赛。

ACM是国际上最权威的大学生程序设计竞赛,题目难度很大,需要很强的算法和数据结构能力。

一开始很难,很多题做不出来。我记得第一次参加校内选拔赛,三个小时我只做出了两道题,被淘汰了。

但我没有放弃——看不懂的题就看题解,然后自己写一遍。

慢慢地,我的算法能力越来越强。

我开始在网上刷题,每天刷3到5道。LeetCode、牛客网、洛谷……这些平台我都刷了个遍。

刷了大概500道题之后,我的水平有了明显提升。

大三的时候,我参加了ACM省赛,拿了铜奖。

虽然不是金牌,但有总比没有好。

竞赛,让我离保研更近了一步。


参加CTF比赛

除了ACM,我还参加了一个叫CTF的比赛。

这是我们学校计算机学院组织的比赛,题目是网络安全相关的:Web漏洞利用、密码学、逆向工程、二进制漏洞……

我对Web安全比较感兴趣,因为这块比较”接地气”,可以很快看到效果。

大二暑假,我自学了Web安全知识:SQL注入、XSS、CSRF、文件上传……

然后开始刷CTF题目,在实践中提升技能。

大三上学期,我参加了全国大学生信息安全竞赛,拿了二等奖。

这个奖项后来在保研申请中帮了我不少忙。


科研经历:加分项plus

大三的时候,我开始进实验室做科研。

我的导师是研究人工智能方向的,姓张,是学院里做机器学习最厉害的教授之一。

我跟着张老师做了一些机器学习的项目。

第一个项目是图像分类——用卷积神经网络识别图片中的物体。

这个项目让我第一次接触到了深度学习。

那时候深度学习刚刚火起来,TensorFlow和PyTorch刚刚发布。我花了一周时间学习TensorFlow,然后开始做实验。

实验的过程很曲折。模型训练了很久,精度一直上不去。我调了很多参数,换了很多模型结构,效果都不好。

后来我发现,是数据预处理有问题。我对图像做了过度的增强,导致模型学习到了错误的特征。

调整之后,精度一下子提升了很多。

后来,我以第二作者的身份发表了一篇会议论文。

虽然不是什么顶级会议,但这是我学术生涯的第一篇论文。

科研成果,让我的保研申请更有竞争力了。


准备保研材料

大三下学期,我开始准备保研材料。

保研需要准备的东西很多:个人简历突出绩点、竞赛、项目经历;成绩单去教务处打印,加盖公章;英语四六级证书扫描件;竞赛获奖证书扫描件;科研论文PDF全文;专家推荐信两封,找导师和专业课老师写。

专家推荐信我找了两个老师:张老师(实验室导师)他很了解我的科研能力,给我写了一封很详细的推荐信;李老师(算法课老师)他教过我两门课,了解我的学习能力。


夏令营:拿到保研资格

大三暑假,很多高校会举办夏令营,选拔优秀本科生。

夏令营一般包括:学校介绍、专业讲座、导师见面会、面试……

我申请了几所学校的夏令营:清华、北大、中科院、浙大、复旦……

中科院软件所的夏令营在7月中旬举行,我提前做了很多准备。

面试那天,我穿了一身正装,早早地就到了软件所。

面试的内容包括:英文自我介绍3分钟、专业知识问答、项目经历介绍、综合素质考察。

专业知识问答问的是数据结构、算法、机器学习等内容。这些我都提前复习了,回答得比较流畅。

项目经历介绍我讲了自己做图像分类项目的经历。面试官问了一些技术细节,我都回答出来了。

最后,面试官问我:“你为什么想读研究生?”

我说:“因为我对人工智能感兴趣,想深入研究这个领域。我希望以后能在这个领域做出自己的贡献。”

面试结束后,面试官对我说:“你的项目经历不错,对研究也有热情。欢迎来软件所。”

一周后,我收到了offer。

我还拿到了浙大计算机学院和复旦计算机学院的offer。

最后,我选择了本校保研——导师我早就熟悉了,实验室氛围也很好,何必出去重新开始呢。


推免:顺利上岸

大四上学期,推免工作开始了。

首先要有本校的保研资格——这个是根据绩点、竞赛、科研等综合评定的。

我们学校的保研比例大概是15%,我以专业第5名的成绩拿到了保研资格。

然后是本校接收——我联系了之前就熟悉的导师,拿到接收函就行。

一切都顺理成章。

我保研成功了。

那天晚上,我躺在床上,看着天花板发呆。

我给我爸妈打了个电话:“爸,妈,我保研成功了,留在了北邮。”

电话那头沉默了几秒,然后传来我妈的声音:“好,不错。继续努力。”

我知道,他们很高兴。


读研:真正的科研

读研之后,我才真正理解了什么叫”科研”。

以前本科做的项目只是”照着步骤做”,现在要做的是”自己发现问题、提出方案、验证假设”。

研一上学期,我上了一门叫”机器学习”的课。老师讲的很多内容我本科都学过,但深度完全不一样。

有一次,老师问了一个问题:“为什么神经网络可以拟合任意函数?”

这个问题我想了很久,查了很多资料,最后在图书馆泡了整整两天,才真正理解。

后来我跟老师交流了我的理解,老师点了点头说:“不错,你有自己的思考。”

那一刻,我觉得很有成就感。

我的研究方向是计算机视觉——让机器能够”看懂”图像和视频。

具体来说,我做的是”目标检测”——在图像中找出我们关心的物体,并标出它们的位置。

这个方向很热门,也很有挑战性。目标检测是自动驾驶、视频监控、医学影像等领域的基础。

每周要读大量的论文、每周要汇报进展、每个月要出成果……

压力很大,但成长也很快。

研一结束的时候,我发了一篇会议论文,虽然不是什么顶级会议,但这是我研究生阶段的第一篇论文。


导师和同门

我的导师李老师,是实验室的核心人物。

他四十多岁,头发有点稀疏,但精神很好。每天早上八点准时到实验室,晚上十点才走。

第一次见李老师的时候,他问我:“你为什么想读研究生?”

我说:“因为我对计算机视觉感兴趣,想深入研究。”

李老师笑了笑:“搞科研很苦的,你想好了吗?”

我说:“想好了。”

李老师点了点头:“好,那你先去看看这几本书,有问题随时来找我。”

那几本书都是计算机视觉的经典教材,每本都有几百页。

后来我才知道,李老师对学生很严格,但也很关心学生的发展。

组里的师兄师姐人都很好。博士师兄小王经常带我们吃饭,聊聊科研进展和未来规划。

有一次,小王师兄跟我说:“做科研最重要的不是天赋,而是坚持。很多人不是因为不够聪明而放弃,而是因为看不到希望而放弃。”

这句话我一直记在心里。


收入情况

研究生的补贴不高:国家助学金600元每月,导师补贴1000到2000元每月,奖学金一年大概5000到20000不等。

综合下来,大概2000到3000元每月。

在一线城市,这点钱只够基本生活。

但读研本身就是投资——毕业后的收入会比本科高很多。

师兄师姐们的毕业去向大概是这样的:60%去了企业,华为、腾讯、阿里、字节跳动……30%继续读博,10%去了研究所或者高校。

工资方面,大厂的算法岗能给到30到50万,甚至更高。


未来规划

我的规划是:硕士毕业后继续读博深造,去美国或者欧洲;以后进高校或者研究院工作;或者去大厂做算法研究。

说实话,计算机这条路,只要技术够硬,不愁没饭吃。

而且人工智能是未来的方向,前景很好。

我也想过直接工作。跟导师聊过,他说:“你的研究方向很好,博士毕业后的选择会更多。如果只是想工作,硕士就够了;如果想做研究,博士是必要的。”

我还在考虑中。


碎碎念

软件工程,保研是一条不错的路

不用考研的压力,可以提前进入科研状态。

几点建议:

绩点很重要

保研的第一步是拿到本校的保研资格,绩点是核心指标。建议从大一开始就认真对待每一门课,不要等到大三再后悔。

竞赛和项目加分

光有绩点不够,有竞赛获奖和项目经验会让你的申请更有竞争力。建议参加ACM、CTF等竞赛,或者进实验室做科研项目。

提前准备

大三上学期就要开始准备保研了——了解目标学校、联系导师、准备材料……保研是一场信息战,你知道的越多,机会就越大。

选对方向

研究方向很重要,要选自己有兴趣、也有前景的方向。建议多了解各个导师的研究方向,跟师兄师姐打听实际情况。

英语不能丢

不管是读论文、写论文还是出国交流,英语都很重要。建议提前准备托福或雅思,以后如果想出国读博会用到。

科研经历很重要

如果你想保研到好学校,科研经历是加分项。建议大二大三就进实验室,跟着导师做项目,争取发表论文。

不要只顾学习

大学四年不只有学习,还有生活。多参加社团活动,多认识朋友,这些都会成为你宝贵的回忆。

最后,送计算机er说一句话:愿你在这条路上,写出改变世界的代码。

加油,软件工程的学弟学妹们!


关联阅读