本篇文章属于随笔类,它可能无法对你起到直接帮助,它只是我这个普通学生一年半以来的一些足迹与思考。它可能更适合大二,研0研一的同学查看。本文首发于我的个人博客 Forever Young
我的本科像硕士,有实验室有工位,桌子超级大,有老师带有学长可以问。
我的硕士像本科,没有实验室,工位真的是公共座位,导师放养,没有直系学长,开题毕业求职差不多纯靠自己
本文约有6k字,阅读大约需要15min,请提前准备好爆米花,感谢你花时间阅读此文,但凡它能对你有丁点帮助都是我的荣幸。(本文图片的图床用的是GitHub,可能需要读者准备个🪜)
2023年1月28更新:本文冲到了牛客热榜第一,感谢朋友们的关注与点赞支持
我的硕士前半生
22年11月底,马上要离开成都了,离开这个自己没什么感觉甚至是有些厌恶的城市(吃不习惯、听四川话听到PTSD),刚好也是读研读了一半,遂写此文当作纪念
23年1月中旬回家高铁上伴着窗外大雪写了一部分
除夕当天在个人博客上发布本文
21年9月 迷茫
研一刚入学还是有些迷茫的,这种迷茫不是那种无头苍蝇式的迷茫,大体方向是准备实习找工作,落实到具体细节却并没有做好
先是没有吸取大学的经验,都准备去找互联网工作了,竟然还准备去参加班干部选举(幸亏没选上😂,要不然就被学校绑死了
然后发现了学校政策其实不是那么完善,奖学金和国奖有漏洞,花时间和钱就一定能拿,但这样拿了又有什么意义
和本科实验室的阿里学长聊了下该学什么,简单规划路线后就开始学了
21年11月 GSoC
缘起
准备过程说起来也很简单,就是正常的学,刷题、八股。
忘记了是因为什么想起了GSoC,算是为了圆梦吧,第一次认识它也是在知乎,来自那篇广为流传的文章
Google 编程之夏(GSoC):海量优质项目,丰厚报酬,你竟然还不知道?
我还记得再次读到这篇文章还是觉得很酷,是那种不同于其他比赛、竞赛、活动的酷,于是踏上了准备GSoC的路
查找资料
确定参加后就开始查找资料,国内国外中文英文资料都在搜。
也收集了很多前人的经验,认识了各个组织和社区,了解了开源的“玩法”,这些也为后面我编写 《开源小册 》做了良好的铺垫。
因为官网的搜索并不是很好用,我的主要技术栈是 Java,于是想从一些Java社区入手,在官网上搜索 Java,结果会连 Javascript 的社区也一并搜索出来,我觉得这很不方便,于是将官网2021年的项目信息爬下来,存到数据库里。
然后用 SpringBoot 读取出来做些简单数据处理输出到MD文件中,也就产生了早期的 gsoc-analyse 项目,本意是为了更好的查找符合自己技术栈的项目。
Casbin 奇遇
gsoc-cn有一个gitter群(一个聊天室,可以查看很久之前的信息),我查找资料的时候,翻看了近2年的所有聊天记录,发现了 Casbin 的罗老师有在收人,也就是 Casbin明日之星预选生计划-Talent for Casbin 2022, 我去加了群,也给罗老师发了简历。
因为我当时比现在更菜,简历上也没什么能看的,硕士还写了个电子信息,让罗老师误以为是 EE (Electronic Engineering ) 而不是 CS (Computer Science ),这也给我提了个醒,看简历的人不一定和写简历的人有相同的知识背景,只是大致相等,对于部分可能出现误会的地方应该标识/解释清楚。
然后我又和罗老师围绕着我简历交流了一些其他问题(后来才知道罗老师是两届GSoC学生,北大博士,跪了
最后罗老师还是友善的给了建议,其实一直知道自己菜,但没能完全找到自己的弱点。如果是想一直靠技术吃饭,但活到老学到老是必然的。即时是想先进个好点的厂打工,知识的深度也是要远比广度重要的。
后面在开源相关的事上也请教过很多次罗老师,后面GSoC开始申请前还有幸以采访的形式写了一篇文章:Google Summer of Code谷歌编程之夏活动流程全解析(上), 罗老师对问题的回答真的是高屋建瓴,每次阅读都有新的收获。
21年11月 申请维护GSoC QQ群
我感觉gitter上交流没有群聊方便,gsoc-cn之前的QQ群也没人维护了,我建立了新的QQ群,并发到Gitter上,又在GitHup上的GSoC-CN仓库上提交了issue,申请把QQ群加入到他们的readme中,让更多的人加入到群里。
仓库的reviewer也同意了我的请求,让我提交pr,然后快速的学习了下pr之类的操作提交了第一个pr。
算是迈出了个人开源的一小步
22年4月 前期准备及提交申请
这部分细说起来要写很多,就不详细写了
大致就是我先选了一个社区,社区不是很活跃(一个博士课题组的社区,他们都很忙,一个pr得审好久好久),我没有收到正反馈以及不知道能做些什么,也就放弃了这个社区。
也是运气使然,我后来的mentor 在群里发布了社区的项目,我一开始不知道他是mentor,先加了他微信,看了社区的项目,发现有一个是自己还敢尝试一下的,然后在github上发现了项目导师的联系方式
巧的是,我已经加了他的微信(在不了解项目时加了联系方式,后面选的项目刚好是他当导师😂
因为之前看了很多经验贴,建议不要在没了解过项目的前提下和导师交流
后面也就开始了贡献,在社区里解决了第一个 good first issue 后初步了解了项目,
后面开始解决其他问题时,也遇到了愿意帮忙解决问题的贡献者(Jooks 、Y哥、福哥 .....
(算是另一种意义上的组>部门>公司了)
中间也是提交了一部分pr
然后花了一周每天2-3点睡,学习了项目中用到的另一个东西
晚上疯狂用GitHub 的 action 做实验,最后做出了一个demo
期间也和项目mentor一直在讨论项目细节,mentor也给了很多建议
或许是之前写保研申请书的时候经验起了作用,再加上看了很多前辈的申请书,proposal 中加了一些花里胡哨的图、apache要求的内容,mentor reveiw之后还夸了我的 proposal (开心~
gsoc是支持一个人申请三个项目,我一直在这个项目上探索,最后也就申请了这一个项目
22年5月 GSoC-CN社群分享会
建立QQ群之后,因为有gsoc-cn的引流,也吸引了很多小伙伴
比如后来我们一起举办分享会的 cheverjohn , 彼时他还在 Apache Apisix 实习,也认识很多开源大佬,和他交流后也了解到了很多关于Apache 基金会的东西,然后我们就在群里举办了 GSoC-CN的第一个分享会,是由 Skywalking 的 Committer 江前辈 (Apache SkyWalking Committer | Google Summer of Code 2021 Student | pingcap intern )主讲的 关于OSPP 的 分享会。
活动视频 :GSoC-CN 社群关于OSPP的开源经验分享
侥幸中选
分享会之后不久,就是 GSoC 开奖了,规则限制导师不能提前透露相关信息,我也没有去问,公布名单的时间是国内时间的晚上两点,我还记得那天晚上我开了个腾讯会议,群里很多人一起在那等待,2点过了一会等到了第一封邮件。
22年6月 开题与GLCC
这里首先要感谢我的导师,没有他的“支持”,我也不能这么自由。
我导师应该是个反卷达人了,也不加班,平时自己接点项目自己做,学生想做可以做,不想做也没事,工程领域里的他全都会,前后端嵌入式人工智能都会
在开题这件事上,他允许我自己去探索,即使他自己也不懂我当时想做的云原生领域。
我一开始不懂为什么不能直接放手学生去做自己想做的,后来和罗老师交流才明白导师能让我做是多么不容易。
对于研究生来收,一个组通常都是做同一个细分方向的,如果有个学生要做其他领域的东西,对于导师来说,这个东西他也不懂,也就很难给出指导,所以一般不会允许自己的学生去做其他方向。
后来和导师商量着先自己去探索,如果探索出了些东西,很好。如果没有,那就需要在他指导下做点东西。(毕业还是要毕业的,兴趣不能当饭吃
学习分布式相关知识
因为对分布式比较感兴趣,之前看谷歌的三驾马车也是囫囵吞枣的阅读完了,没有真正的学懂它们。
然后从谷歌、知乎、GitHub、各种社区搜寻分布式的资料
得益于谷歌的搜索及排名算法,我找到了很多不错的资料和博客
然后就是自己看论文,看项目代码
花了几周,学了一些基础知识,自己太菜了,没人带没能深入到具体的某个方向
后续因为在GLCC上看到了感觉合适的项目,和校内导师商量之后觉得可以作为毕设,就去申请,因为自己没申请上,用一个自己感兴趣的东西作为毕设的想法也就泡汤了 😭
GLCC-开始-结束
彼时,计算机学会的 GLCC 刚开放申请,我也申请了一个项目,分布式相关的,也和导师做了一些交流,可惜,太菜了,没能获得社区导师的认可。
路漫漫其修远兮,吾将上下而求索
22年8月 日常实习求职实录
投递&面试
花了一个月面试
小厂、中厂、大厂,除了字节约面拒了以外,其他约面的都面完了
期间也记录下每天的投递与面试 24届双非日常实习求职实录
因为之前花时间入门了一下分布式的东西,再加上当时已经写了 这篇博客,所以将一些分布式的东西也写在简历上,我觉得是运气加持,遇到了一些比较match的面试官,他们有的懂分布式,就会问一些问题,这些问题,我有的会,有的以前没思考,借用他们的提问,我完善了我的八股串,后期熟练之后可以不间断输出自己的理解
有的不懂,那我会从其他方面聊一些入门知识,聊着聊着就耗完了面试时间,做道算法题,这场比试就结束了。
可能是我唬住了面试官,除了一开始投的某八股厂,剩下的面试都过了(以及一堆面完之后没发感谢信也没发后续流程的公司)
Offer 选择--人生处处CAP
靠着8分运气,也拿到了一些offer,大厂、中厂、技术厂、小厂外包、传统公司都有,
选择起来说简单也简单,自己学历不够好,选个大厂学学项目规范,让简历看起来好看一些。
然后就剩下了几家了,但都是卧龙凤雏,base、部门、公司 每个offer都欠一样,或许人生处处CAP吧
23年1月 创建 拿个Offer
找日常实习时,在随想录星球里认识了也在准备日常实习的 ConquerJ (现在是titok的实习生),然后在群里一起准备日常实习,群里也收集了一些有实习/准备找实习的同学一起学习 。后续为了更好的“捕捉”大佬,也为了建造一个高质量的交流群我们开始了建立知识星球。
拿个offer 来源自 “真还传”的罗老师的 交个朋友
offer 是广义的,公司的offer是offer,申请海外硕,夏令营申请,都会有offer,这个名字的本义也是希望我们能够从一个目标到另一个目标,一直拿offer,一直进步
无限进步 ( 影视飓风打钱
给巨佬们跪了
有了第一批人之后,也就更容易收集到新的佬哥,然后事情也就开始变得魔幻了起来
目前有:
获得 N个 SSP 算法岗 offer 23届佬哥 | N个 SPP offer 佬哥们 |23届 阿里P6 佬哥 |top +米哈游 佬哥
top+顶会+大厂实习佬哥 | 985+NUS 佬哥 | UCLA + 华尔街量化佬哥
Apache 某社区 Committer 佬哥 | CNCF 某社区 Reviewer 佬哥
本科发顶会论文佬哥 |国内顶尖实验室佬哥 .......
2023年1月25更新
邀请到了
Apache IoTDB committer 谭新宇
以及乾象的 悟空哥
正式创建星球后,在知乎上收到了一些巨佬的入驻,然后巨佬之间又是互相认识的,也就造成了后面群里能有神奇的梗
“我经常被他们嘲笑,因为我有一个offer是sp”
部分佬哥们的自我介绍:
23届 11 个算法 SSP Offer
和佬哥们一起交流
因为群里都是同一届找工作的,大家也会聚一起模拟面试、交流简历。
星球正式建立的第一周周末
和两位多段大厂实习佬交流简历✔️
和源码佬八股佬大厂实习佬交流模拟面试✔️
晚上和IEG佬哥交流简历暑期实习秋招✔️
随着看过的优秀简历增多,我也对简历有了新的理解,而这都是在交流中获得的,好的交流环境更容易诞生出更好的想法。
23年1月 GSoC-CN社群第三次活动
筹划了两周的活动于2023年1月14日,小年夜,顺利举行,此次人数全程50+,最多有60人在线。
第三次活动宣传稿:https://docs.qq.com/doc/DWVR1cVJzWFBkd0Fw
活动PPT:https://blog.aflybird.cn/2023/01/before-good-first-issue
最后
回首才发现走出去了很远
如同乔帮主在斯坦福演讲中所讲的
当然,当时的我没有办法把这些点点滴滴连接起来,但当我从这回头看时,一切都变的清清楚楚。
的确如此,没有人可以未卜先知,把自己所学到的东西连接在一起,我们只能在回首的时候,发现这些是如何改变现在的自己的。
所以,你必须要有这样一种信念,那就是你现在的所有点滴,都会在未来的某一天连接起来,改变你的人生。
你必须要有一种信念,相信胆识,命运,生活,轮回,无论什么都好。
因为通过这些信念,会带给你遵从内心的勇气。
即使你内心的声音让你走一条人迹罕至的路,这些信念也会给你勇气,然后改变一切。
当时因为感兴趣而去准备GSoC,去维护QQ群,去举办活动,才能在后面认识了很多前辈,进入了另一个圈子。
GSoC的活动,或许并没有让我的编程水平有突飞猛进式的提升,但通过参与它,我有了勇气去尝试新的未知的东西,这是最大的收获。也因为参与GSoC,我认识了社区里的前辈,后期投递实习时拿到了很多内推机会。
当时因为兴趣去学的分布式基础知识,没能在毕业设计中直接用到,但在后面面试中用到了很多,也获得一些面试机会,获得一些offer。
当时因为喜欢交流,加入了随想录的星球,才能在后来认识了八股战神&放弃直博复旦的冰冰同学,认识了三个月上岸的titok的凡哥.......
没有人可以未卜先知,我们只能基于当前时间之前的经验做出选择
直到回首望去,所有的脚步都会被串联起来,指向你现在的位置
Follow your heart
不一定大公司就适合每一个人,可能它要求实习生日报,正式员工okr,双月okr,可能每天要开站会,可能要早上8点上班,也可能支持永久远程。
公司有很多很多,但我们很难知道自己想要什么。
我之前没去过字节,对字节有种好奇,后来知道同学进去那么卷,它可能不太合适我,但如果它给我一个机会去实习,我还是想去体验下,然后视情况离职。
希望大家都能去一个自己觉得合适的公司。
工作将占据你生命中很大的一部分
Your work is going to fill a large part of your life只有相信自己所做的是伟大的工作,你才能获得快乐
and the only way to be truly satisfied is to do what you believe is great work而伟大的工作就源自你的爱
And the only way to do great work is to love what you do如果你还没有找到
If you haven't found it yet继续寻找,不要止步
Keep looking and don't settle全心全意地寻找
As with all matters of the heart当你遇到它时,你就会明白
You'll know when you find it就像那些美好的爱情
And like any great relationship随着岁月的流逝,愈加醇美
it just gets better and better as the years roll on所以,继续寻找,绝不止步!
So keep looking, don't settle
读书好 多读书 读好书
大学时人傻,没有好好利用好时间
读研后,因为睡眠一直不好,控制变量做了些实验后觉得是睡前没有平复心情
然后开始看书,小说、传记、技术书都看
学校的图书馆很好,一次可以借很多本,借完放床头,睡前开始看,看个1h再睡,睡眠改善了很多。
在这个信息纷杂的年代,读书可以帮助我们更好的思考,
很多经典技术书也是非常值得一看的,还记得面试某游戏厂时遇到的一个问题,最近有看什么书吗?
当时在看DDIA,刚读完吴军博士的软能力,对着面试官就是一顿输出😂
多读一些经典书、好书,总会派上用场的
鸣谢
非常感谢本科实验室的 L 哥、T哥,以及实验室的老师,或许学校不是很好,但学校已经将最好的资源给了我,而我目前“一事无成”,实在是愧对学校😭
非常感谢硕士学校的导师及舍友小伙伴,是导师的信任才让我有这么多自由,是舍友小伙伴的帮助,使得我能花更少的精力在学校的琐事上
非常感谢ShenYu社区的小伙伴,让我在初入开源时体会到了良好的社区是怎样的,
@JooKS-me,@ HessTina-YuI,@ yu199195 ........
非常感谢 gsoc-cn 的小伙伴,一起筹备活动,开源布道,@John Chever,@Yuang XU, @Bird,
非常感谢某里巴巴工程师 PS 哥在我准备实习期间的指导( @凌云师兄
非常感谢某东后端实习生冰冰同学在我实习期间教导我八股、算法题 ,让我有机会和面试官聊天吹牛拿offer ( @冰冰
非常感谢 拿个offer星球 的第一批用户,我在群学到了很多很多,每天都有新的收获,有些东西是很难拿钱买来的,比如眼界、比如信息差。