过去2023/6/18未来
今天是我21岁生日,突发奇想想对我大学生活想做而又不敢做、想做而又做不到的事进行一个总结,顺便从我当前的视角剖析了我的心理状态,也许过几年会显得十分幼稚。但当下,这就是我最真实的写照。主要讲讲我对专业的理解,以及目前我的状态。已经能预想到过几年我看到这段文字的时候爆笑到止不住发抖了。
首先是我的专业,数据科学与大数据技术,如果说现在的我迷茫与踌躇,那么有一半至少和我的专业挂钩。如果可以,我愿意称它为两个专业——“数据科学”与“大数据技术”。数据科学是偏数学性质的,我们专业主要开设的课程有:算法设计与分析、机器学习、计算智能、人工智能导论和最优化理论;大数据技术,顾名思义,就是研究大数据的技术,我们主要开设的课程有大数据平台基础(Hadoop生态体系)、大数据存储技术(分布式存储)、Spark数据分析、Python数据分析、数据仓库与数据挖掘还有未来还没上的课。
正如我对他们的介绍,这两个方向几乎是完全割裂的,数据科学集中在对算法、流程进行优化,例如最近的ChatGPT当然,其主要是强化学习生成式AI方向,不过套用我最近听到学长的一套理论:Open CV让计算机“看到”世界;机器学习让计算机“了解”世界,强化学习让计算机“控制”世界,那么说实在的,机器学习最终也会和其他方向殊途同归,大模型就是最好的印证。
而说到大数据技术,其实也存在一定的流程优化,但更多是在应用层面上的。如果说数据科学的流程优化是对不同算法的组合,那么大数据技术的流程优化就是对不同框架的整合,但很明显,学校教的内容完全不能支撑我们进行流程优化的技术体系。以比较经典的电商数仓(也就是我之前写过little tips的文档)举例,大数据技术的工作要求你至少从两件事中会干一件事:一是数据仓库的搭建;二是工作流的优化和部署。也就是常说的写SQL。第一件事技术性没有那么高,但是要求你会的组件多、会的方面全,基本上以异构数据源、Hadoop、Zookeeper、Kafka、MySQL、Hive等技术栈为主。说来惭愧,听说目前主流的技术栈是Flink,但是在下还没有抽出时间去学。附带的,你可能还需要会一些可视化工具,常用的可能有Superset和Echarts。第二件事则是在DolphinScheduler之类的可视化工作流系统上对Hive、Spark等SQL软件进行优化和部署,SQL其实并不难写,但是胜在熟练。学校虽然也教了数据库技术,但是侧重于概念的理解而非SQL语句的编写,稍稍复杂的SQL可能就很难应对。(这里我推荐《SQL必知必会》,针对各个阶段的人群都能快速巩固基础)
以上便是我对我自身专业的浅显的理解,也是目前导致我忧郁的主要原因:我的大学经历不算丰富,但确实是走了不少弯路,导致现在了一个高不成、低不就的状态,我大一致力于“享受”大学的生活,拿的出手的就是参与了不少社会实践和学校的活动,主要是在文体方面保持得不错。在大一下学期的时候,因为自己的放纵导致了数据结构只考了60分(其实就是老师捞起来的),这直接导致了我对自己的否定以及强烈的打击,以至于现在我仍然未能从中走出来,即便是现在,被问起算法、数据结构方面的问题时,我还是习惯性先否定自己。
为了解决学业上这种状况,我尝试在大二在提升自己的绩点,但是因为已经在大一注定了与保研无关,所以讲重心放在了技术上。为此我加入了TickNet工作室,但因为自己的自我否定并没有选择加入研发组,而是在运营组深耕,也没想到这一干就是两年半。技术上因为课程的设置,在大二上接触了Java、在大二下接触了JavaWeb,完成了SpringBoot、Mybatis Plus、Vue3等前后端的学习,也花了大量的时间在一些中间件上,例如Axios、Nginx、Git。但是我的学习过程一开始就已经偏离了正确的学习方向,我的学习主要是为了解决这种所遇到的问题,而非常解决规范化的问题,所以在学习过程中对代码并没有特别的规范,导致我现在也无法说自己的代码可读性非常高。在大二的暑假接受了学校老师的推荐,帮助湖南工程学院的老师开发了一个不难不易的教学任务管理系统,包括对教学任务的发布、统计,并使用可视化面板对结果进行反馈。在这个过程中前后端成为了我的一部分,我也具备了基本的开发能力,也成了我之后最大的梦魇。
前面说到前后端成为了我的一部分,但是我的本职是大数据,所以在大三,我还是选择了本源。即使是以同校同专业的角度来看,我现在开始大数据学习也算是其中的佼佼者,但是放到大环境下,我的起步也比别人慢了很多。而前后端又不舍得割舍,导致我学习路线很混乱,最终在整个大三阶段完成了Hadoop、MR、Spark、Kafka、Flume、Maxwell等的学习,同时也在大三上尝试自己搭建了一个离线数仓。曲折又来了:可以看出这些内容都是大数据技术方向,几乎完全不涉猎数据科学方向,于是在今年三月份春招开始的时候我还是很认真的去准备招聘实习,但是会的多反而没有什么优势,说明都不是很专精。同样赶上了今年就业“寒冬”,大数据类职务都比较少,而Java后端又非常的卷,因为大三几乎放下了前后端开发,所以Java后端也只能算半斤八两,在面试时捉襟见肘。最终还是受不了环境的压迫,也不愿意放弃我对大数据的兴趣,我开始考虑继续深造——考研。计划目前就不详细说了,考研的话对技术力要求并没有那么高,但是之后的复试和方向上更看重机器学习等方面的见解,所以不得已,我又需要捡起放弃的数据科学。目前已经学了一些大模型相关,也在强化学习、机器学习方面展现出了一些兴趣。但更多的是一种对现实的无奈妥协。
最后是我个人的一点项目预设,算是这些年来想做但是没能力做的一些事吧。当年我选择计算机也非本意,我其实想学数学的,但是高考分数不够选到好学校的数学,而我们学校的计算机大于数学,因此最终还是进了计算机的坑。学了计算机后我就一直在想我能用计算机做什么来实现我对生活的消遣。到现在也囤了不少我认为不错的奇思妙想了:
- 哼歌编曲:市面上比较流行哼歌识曲,但是作为普通人的我们更可能在生活中不自觉的哼出一些自己觉得是“天籁”的曲子。这不是个大众的企划,但是能给每个人带来个性化服务,用你哼出来的那一段进行续写,让每一段都是属于你个人美妙绝伦对的乐曲。(支持乐器转换、重复生成)
- 老年人监控:市面上应该有些了,但和我想的稍有不同。
- 页面数据抓取:非格式化数据挖掘,通过嵌入Vue、React框架实现对用户数据的挖掘,提供给大数据服务(需要较强的前端技术,目前搁置)
- 在线开发、封包、部署网站(字面意思)
这些项目大多存在构想,一些我也有书面表达的记录,但是碍于自身实力,都没能实现,如果你对这些感兴趣,也可以和我单独交流,在我的Github中可以找到我的联络方式。
这是我对大学生活的一个小结,也是我对当前状态的一个记录,希望未来的我看到这些,能够有新的感悟和行动,现在依旧迷茫,但我相信未来一定充满光明!