软件工程-本校保研
说实话,我选择本校保研,说白了就是——懒得折腾。
外校保研要重新适应环境、重新联系导师、重新融入课题组,想想就累。本校本专业导师我早就熟悉了,实验室的师兄师姐都是我的人,何必出去重新开始呢?
而且说实话,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说一句话:愿你在这条路上,写出改变世界的代码。
加油,软件工程的学弟学妹们!
关联阅读
- 保研参考 3.保研_高价值信息差
- 专业参考 软件工程.md
- 案例索引 0000_1001案例总索引
- 知识库总索引 0000浪尖大学四年知识库_总索引