——我们走了太远,以至于忘了为何出发
前言
笔者本科读的是数学专业,就是每天和数学分析、高等代数、概率论、随机过程等等这些理论打交道的专业,这个专业出来工作好像一般有两个方向就是金融和计算机,我选择了计算机方向。主要是学习的课程中有一些操作系统、cpp、数据库之类的课程,相比于金融我对计算机更熟悉一些,但比科班生是远远不及的。众所周知,数学专业其实是一个面向考试的专业,除了极少部分打算深入研究某一领域的学生,大部分学生都是为了应付考试而学习,但其实这种模式是对后面的就业不太友好的,因为没有任何相关经验,这就是基础学科的一个极大的劣势。
笔者对这种面向考试的数学模式也曾经比较追崇,所以本科成绩还不错,有幸获得了学校的保研资格,最后申请到了当前学校的软件工程专业。在这一年的追摸滚打,或多或少地学会了一些新知识,但感觉相比本科,好像又缺少了很多东西。
打了鸡血的这一年
本科的最后两年,其实是过的相当自由自在的,每天摸摸鱼,看看书,打打游戏,考试前几个星期复习一下。但到了研究生阶段,由于自己是转专业的,相比身边的同学拉下了一大截,没办法,只能尽可能地补齐自己的短板。
研究生的第一年有一些课程,但实际上我感觉真正想学有针对性的知识,还是需要自己在课外自己整理的,毕竟课上的只是一个梗概,所以课程部分我觉得就没什么好总结的了。刚开学的时候,我们这些转专业的学生需要考一个转专业考试,我当时还是比较重视的,本科毕业的那个暑假一直在看慕课补课程,包括计网、os、db、ds几大件(其实就是考研408的那些),临近考试还看了一些csnote,这就算我对计算机知识的一次大补(虽然现在忘得差不多了,以后面试还会碰到)
同时,受卷王同学们的影响,我也去看了一下mit6.824分布式,听那些课程和看配套的一些论文,只觉得听的云里雾里,似懂非懂,最后还边参考边写了一个raft当作课程作业。另一个小项目就是写一个区块链爬虫,我用了py写,这也奠定了我 这一年专打py的一个方向。然后同时另一条线就是在导师的公司实习,一开始我的方向是区块链的智能合约漏洞方向,看了好多篇论文,发现他的一个主要检测手段都是需要结合一些机器学习和深度学习,然而我这方面相当是0基础,本科学过的那些皮毛根本不够用,所以我看了两个月左右就放弃了。跟导师商量后,就做一些py的开发工作,这个开发也没有很难,反而进一步地加强了我对py的熟悉。
上半学期在导师公司和忙碌课程中结束,下半学期的课程明显少了,但这时候我需要主动去找点活赚点钱,就一边接点活和做一个py的辅导。这两部分具体就不展开了,虽然有点忙,但很大程度上也扩展了我的py技术栈,py游戏开发,py密码学,py爬虫,py数据分析,py自动化办公等等。接着上完最后一门课,我们也不能闲着,要进入下一个阶段实习了。
我去了课题组所在的公司,跟学院不在一个城市,要自己租房啥的,也没有什么认识的人,就当作是一种历练吧。转眼在这边实习了也有快四个月了,主要是py爬虫、py接口测试、py性能测试(然而我心里还是想看后端开发的,我觉得后端逻辑更有意思一点,但我的java实力估计还不允许555)
来了这边之后,遇到了一批很热爱技术很热血的同学们,大家一起读论文做技术分享,虽然有时候会比较累或者有点疑问,但总体来说还是开阔了视野。因为毕业需要发一个专利,我现在也在着手完善我的专利,关于一个框架的想法(具体就不能泄露了哦),然后这个专利需要和毕业论文挂钩的,由于我本科毕设写的也是这个方向,所以我打算研究生毕设再仔细实现一下我专利设计的系统,然后再完善一些细节等。
一些坚持
软件工程/计算机专业的学生就是每天对着电脑coding,所以如果对计算机没有兴趣是不行的,那么如何培养兴趣呢?我的回答就是,让自己参加进各种各样的算法竞赛里面,虽然刚开始会被虐,但只要坚持总结(我是坚持写博客),就一定会有进步,并且一定会看到的。我可以说从刚入学就开始刷力扣,但前几个月都是浅浅地刷,就是象征性地完成每日一题,其实这样的成长是非常慢的。后面我参加了周赛(直到现在大概有七八个月吧),这段时间才是我算法能力得到比较大提升的一个阶段。
打完今天这场周赛,应该可以刚好上Guardian,也算是完成了一个心愿,下一个目标是全国前1k吧,这个大概需要2250左右的竞赛分,不知道能不能下周实现一下,不过也要习惯涨涨落落,重要的是学到新的知识。
另一方面,在大神室友的影响下,我也开始打cf,codeforces(并不是crossfire)。cf更重思维的考查,要用发散性的思维去审视一个问题,也是一个比较有趣的竞赛。最近我上了expert,也就是1600,也算达到了一个小小里程碑。
今年希望上一个1800吧,这个估计要稳定一下div2的四题,对我来说还是有一定难度的,但是只管坚持吧。
然后还有一个就是PAT的考试,由于当时学校要求,保研的前后考了一次,但不理想,后面三月又考了一次,还是很差。最后三到六月份比较系统地刷了一阵子力扣,最后六月份再考了一次pat甲级拿了一个90分,虽然离满分还是差点,但也满足了,差不多就得了
未来的一些方向
我未来的一个方向还是想从事后端开发,毕竟算法比赛比的也是逻辑的编写,时空的优化,这是相对最适合后端的了,但是我的java也是看过几个视频的水平,实战的太少。之前javase看过一波视频,然后最近spring也看了一波狂神的视频,后面要继续补一下javaWeb,SpringMVC, SpringBoot,SpringCloud 以及一堆中间件如MQ、redis\mysql等等,不得不感概,java后端的技术栈是真的多,但没办法还是要一点点学
我觉得还是使用看视频和源码结合写博客的方式吧,因为笔者比较喜欢写博客(最近都是写一些刷题的),但我实际上喜欢写一些夹叙夹议的,就像现在这样,虽然估计没有多少人会看,但是我自己打出来很舒服,就像释放了很多东西一样。
接下来的一些计划我也整理一下吧:
1.十月份左右搞定专利的初稿(按模板),找到相关老师和相关机构准备发
2.每天坚持java技术栈学习,看视频看源码+博客总结
3.还是坚持力扣和cf吧,毕竟我也已经把他两当作游戏了,就是有点烧脑
4.if 有空的话,继续看相关方向的论文,为毕业论文做准备吧
一些迷茫
最近这一年,特别是来了另一个城市实习,我觉得自己好像少了很多兴趣,比如说打游戏啥的,看剧啥的也提不起兴趣,每天除了工作,就是学习一些相关的知识,但其实内心觉得自己有点像一个robot一样吧,可能是缺少一些人文气息之类的,就是对当前生活感到有点疲惫这个样子吧
晚上回到公寓睡觉前,看一些奇奇怪怪的小视频,反而觉得内心更加空空的,一部分的soul不见了吧,或许从学生到社会打工人的一个变化就是会这样子的?其实本身我的兴趣也挺多的,我也希望做一个斜杠青年。然而,就是除了cs相关的东西,我感觉都不想看,有一种push自己的感觉,这就是juan的力量吧。。。
不知道怎么调整,或许还是按着现在的节奏吧,毕竟学生时代就应该多学一点新的技术栈,到出来工作的时候再躺平一点,随缘一点,放松一点吧。。。因为到时候也没有这么多时间可以沉下心来研究一些东西了
一些后话
在这个诺大的城市里,每个人都在忙忙碌碌,但又有多少个人心里还存留着一些属于自己的光芒呢?
街道上人来人往熙熙攘攘,大多数都是疲惫的空壳罢了