先介绍一下个人背景:双非本科,先是在计算机系摸鱼3年,大四决定痛改前非,全身投入考研,最终上岸浙大。
这次考研对我的人生产生了巨大影响,改变了研究方向、学习方法,也重新认识了“努力”一词的定义。
1. 本科摸鱼史
先分享一下我本科时的样子。
我的本科是一所普通二本,校园很美,老师们很友好。但在一所双非院校,学校没有任何优势,如果想提升,只能靠自己去努力。只可惜大四之前我都不懂这个道理。
那时候,一到周末我就离开学校到处玩自己的爱好—骑行,买了一辆近3000元的单车,参加了不少省内的自行车比赛。
为了体验生活顺便攒点生活费,我送过外卖,在KFC做过汉堡,上门当过家教;唯独很少把时间放在自我提升和专业能力上。
而计算机系的一些老师有时候过于佛系,怕最新的技术太难我们接受不了,就只教一些老掉牙的方法。
我对教Java老师的印象最深刻。16年上Java课时,老师没教我们Spring、MVC等成熟框架,代码还是用非常古老的JSP和Servlet。最让我吃惊的是,他让我们把后端代码和前端代码直接写在一个jsp文件里。
我们班的一些同学后来在b站自学才知道这种方法有多么不规范。
在这样宽松的环境下,本科三年很快就滑过去了。
2. 考研奋斗史
大三暑假是个分水岭,很多人渐渐知道再这么玩下去就真废了,开始收心苦思出路。有狂投简历找实习的,有在图书馆复习考研考公的,也有家里有钱继续放纵的...
看到很多同学投递大厂简历直接被机刷,我第一次觉得母校不够好。
我想去牛b的学校读书,接触更前沿的技术,看看那儿的同学是怎么学习的。刚好那个暑假,在校园中我遇到了初恋女友,爱情的责任感进一步激发了我潜意识中的斗志。
我要考研,而且要考就考牛b的!
经过谨慎考虑,7月初我把考研目标定为浙江大学计算机专业,这是一个当时看来很难,但冲一冲又有希望的选择。
我用最快的速度收集了考研数学、英语、专业课408的复习资料,和女朋友一起在学院提供的考研教室中开始“8-12-7”的复习模式。
我考研,她考司法,我们每天都在教室中复习的不亦说乎。到了饭点就一起骑小龟去食堂吃饭,饭后绕校园后边的竹林散步,缓解大脑压力。
回想那段青春岁月,可以用“摸着石头过河”形容。每天日程排得满满当当,没有休息日,没有收入,没有可咨询的师兄师姐,压力远胜于现在的“996”。我们只有彼此和一个考研进入名校的梦想。
好在我们都努力坚持下来了!考研前一个月,司法考试出结果,女朋友顺利通过。考研前一天,学校派大巴送我们去各个考点。
车上有同专业ACM集训队的队长,他也是一个非常努力的同学,经常在实验室和宿舍写代码到深夜。后来,他考研被北大成功录取。
考研让我意识到,有吸引力的的目标+正确的努力方法可以让人改变现状,达成想要的目标。于我而言,考研就是最好的选择。
3. 在专业领域继续深耕
2018年6月,我和女友驾车从杭州出发,经安徽、江西、湖北、重庆,最终到达四川成都朋友家,完成了首次长途自驾。在那次旅途中,家里收到了浙大寄来的硕士研究生录取通知书。
9月,进入学校和实验室后,我从最底层的爬虫(为师兄提供训练语料)和机器学习理论学起,将研究方向从开发调整为算法。
学了几个月之后,我开始不安现状。从爬取的文本入手,主动研究文本分类和实体识别等NLP底层任务,带头的博士师兄发现我的动手能力还可以,于是将我从爬虫转向了NLP。
这也是我进浙大后发现周围优秀同学最大的一个学习特点:不用人催,能自我驱动主动学习。
我们实验室有一块大白板,上面列满了今年各大顶会的deadline与投稿目标,每当临近会议时间,很多同学会自发来实验室加班加点写论文、跑实验。即便是已经手握7-8篇A类一作的巨佬,依然很勤奋很努力在学习。
受到周围同学的鼓舞,除了上课和陪女朋友出去玩,我把时间都花在看书提升专业能力上。术业有专攻,我明白毕业后这就是我的主业。
研一阅读《数学之美》,《Python自然语言处理》和《自然语言处理理论与实战》,帮助我启蒙数学和自然语言处理;
研一研二学习《Python深度学习》,《动手学深度学习》,《Deep Learning in Pytorch》,《hands on Machine Learning with Keras and TF》帮助我快速上手机器学习和深度学习框架;
《笨办法学Python》,《Python编程从入门到实践》和《流畅的Python》帮助我持续提升优化Python编程能力;
《百面机器学习》,《百面深度学习》,《深度学习500问》帮助我在面试前查漏补缺。
下面是我硕士期间看过的部分书单,完整电子书资源已经打包好,大小约1G;在公众号【NLP情报局】后台回复“电子书”三个字就可以直接领取哈。只需要单本的同学也可以留言,我单独发送给你。
后来我觉得仅仅看书还不够,是不是还能再努力一些,从项目实践、比赛、paper等方面做些尝试呢?
于是研二开始,我认真参与了公司多个智能机器人项目研发,和室友在天池、Kaggle等比赛上获得了不错的名次,发表数篇发明专利,产出了论文。
计算机真的是一个通过努力可以改变命运的学科。前期专业能力的积累,帮助我在秋招大军中幸存下来,同时收获了BAT的算法offer。
4. 进入职场持续输入与输出
有的同学觉得校招拿到offer上岸,就能躺平了。其实,新的生活和挑战才刚刚开始。
离开学校进入公司,我遇到了很多实力雄厚的同学,无论是专业技术还是业务交流、逻辑沟通能力,他们都有很多值得我学习的地方。每周一次的技术分享,也为大家提供了丰富的养料。
想要保持工作稳定甚至升职加薪,最好的办法就是提高公司对自己的产出/投入比。如果我每一年为公司提供的价值与产出超过了工资收入,那公司一定很乐意将我留下;反之,有可能“入职即巅峰”甚至随时被送飞机票。
而想要达成这样的目标,需要不断提升自己的专业能力,无论在哪家公司何种职位,保持持续学习与输入。认真观察你会发现,身边那些优秀的同学都是这么做的。
这里分享一个费曼技巧提高学习效率:
原文来自 Quora: 如何才能学得快一些 (How can you learn faster)
第一步 - 选择一个你想要理解的概念
选择一个你想要理解的概念, 然后拿出一张白纸, 把这个概念写在白纸的最上边.第二步 - 设想一种场景,你正要向别人传授这个概念
在白纸上写下你对这个概念的解释, 就好像你正在教导一位新接触这个概念的学生一样. 当你这样做的时候, 你会更清楚地意识到关于这个概念你理解了多少, 以及是否还存在理解不清的地方.第三步 - 如果你感觉卡壳了, 就回顾一下学习资料
无论何时你感觉卡壳了, 都要回到原始的学习资料并重新学习让你感到卡壳的那部分, 直到你领会得足够顺畅, 顺畅到可以在纸上解释这个部分为止.第四步 - 为了让你的讲解通俗易懂,简化语言表达
最终的目的, 是用你自己的语言, 而不是学习资料中的语言来解释概念. 如果你的解释很冗长或者令人迷惑, 那就说明你对概念的理解可能并没有你自己想象得那么顺畅 -- 你要努力简化语言表达, 或者与已有的知识建立一种类比关系, 以便更好地理解它。
学习之余,我开始在知乎和公众号上用文字输出原创技术文章,并尽可能做到通俗易懂,与更多亲爱的读者共享学习成果:
“天将降大任于斯人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行拂乱其所为,所以动心忍性,曾益其所不能”——孟子
最后,结合自身经验我概括了计算机系最努力的同学的8个学习方法:
1)尽早明确自己的研究方向,并持续发力;
2)学会自我驱动主动学习,决定未来发展好坏的只有你自己;
3)计算机是一门对理论与实战都非常看重的学科,二者要兼顾;
4)尽早开始实习,为学校过渡职场做好准备;
5)懂得劳逸结合,健康第一;
6)尽可能减少外界负面干扰,认准的事坚持做下去;
7)遇到问题冥思苦想,不如Google或多和同学交流;
8)多看书,多看好书。
最后和你正式介绍一下自己哈:
我是叶琛,一个爱旅行,懂养生的算法工程师兼干货答主,也是个喜欢用接地气的文风为年轻朋友分享职场经验和算法知识的人。希望我的文字可以为你提供帮助!
总结不易,觉得有帮助请给帮我点个赞哟,谢谢啦!
参考资料:
[1] 号称终极快速学习法的费曼技巧,究竟是什么样的学习方法?[[图片上传失败...(image-920c7b-1624953081228)]](javascript:; "问题简报")