三年总结

三年总结

回顾过去三年在 CS 领域走过的路

许多具体的学习细节现在都已经忘记了,通过 GitHub Commit 记录和博客来回忆。

2019.9 - 2019.12

  • 大一上学期学 CS 的时间并不多,更多时间花在旅游和学习必修课上了,现在看来挺幸运的,赶在疫情前去了好几个城市
  • 加入了学长的创业公司——北极星工作室,学了点 Node.js 并给一个后端项目重构代码,第一次体验软件开发
  • 还参加了机器人社团,学了点 Python 和 Arduino,体验了简单的硬件开发
  • 用 AWS 的学生优惠体验了 Linux 服务器
  • 当时自己没有特别感兴趣的方向,每个方向都探索了一下下,也没有学习压力,一段轻松且美好的时光

2020.1 - 2020.8

  • 疫情爆发,在家学习(打游戏),这段时间学习和打游戏的效率都蛮高的
  • 学了一周 Python 爬虫:https://segmentfault.com/blog/papapa
  • The Missing Semester of Your CS Education by MIT 学习了这门很棒的课程,教各种基础工具和概念
  • 玩了几个月的算法竞赛(高中有一点算法竞赛的基础),Leetcode 和 Google Kick Start,现在看当时写的题解,很多题目都不会做了…
  • 华为软件精英挑战赛,跟同学一起进了复赛,拿了二等奖,这是目前唯一能写在简历上面的奖项
  • 机器学习初体验
  • 上了 CSC3170 数据库,认识了几个很厉害的学长学姐,学了些用处不大的数据库设计理论
  • 跟两位前端同学一块做了个校内问答网站,我用刚学到的数据库知识和现学的 Django 写后端。后来跟他们一起在校内创业,我也由此进入了 Python 后端开发的深坑。
  • 大一结束后,我意识到学校的 CS 教育不适合我,进度太慢,跟不上时代,唯一的学习动力只是 GPA。我决定把学习重点放在课外,在课外找到自己的兴趣点并为之努力,课内就随便水水。

2020.9 - 2020.12

  • 面试字节后端实习岗,被问了一道 Leetcode Hard 题目然后挂了:第一次技术面试
  • 上了 20 学分的课:GFH + ENG + 物理实验 +离散数学 + Cpp + 操作系统 + 数字电路
  • 跟小伙伴一起校内创业,一家名为 TeaBreak 的公司
    • 继续做 Python 后端开发,还做一些运维的工作,Django + Nginx + MySQL + DNS + CDN
    • 参与了第一次招新,第一次当面试官,认识了很多新朋友

2021.1 - 2021.5

  • 这学期只上了 10 学分的课,主要在创业公司做 Python 后端开发
  • 现在看来,当时做的事情也没啥技术难度,实现细粒度的权限管理
  • 培养了用 Google 和 Stack Overflow 解决 bug 以及看英文文档的能力

2021.6 - 2021.12

  • 字节二面挂了,简历上没啥亮点项目,算法题不够熟练,基础知识也不扎实,能进大厂就怪了
    • 现在想来,没去也好,要去北京实习租房,而且还是教育线的,要是去了的话,估计没到三个月就被裁了😂
  • 凭借东拼西凑的工程能力,我捡漏进了一家小厂
  • 在晶泰科技实习了半年,9 月到 12 月边上课边实习,一周去 3 天
  • 详见:https://huangyongjin.com/2021/11/26/2021/xtalpi-intern-experience/
    • 前四个月还是做 Python 后端开发,只不过是从我熟悉的 Django + MySQL 换成了 Flask + Neo4j
    • 后两个月做 Go 后端开发,从零开始学,在项目中学习的效率很高
    • 期间还学习和体验了敏捷开发和 DevOps,深入学习了 Docker
  • 这段经历还是十分宝贵的,让我同时体验了业务开发和基础架构开发两个方向
    • Python 后端开发没有前途,市面上岗位很少,只适合做小型应用
    • 个人感觉业务开发挺无聊的,基本是 CURD,需求还会经常变,技术难度低
    • 基础架构开发似乎有意思些,需求变化较慢,技术难度高
    • 当然,业务开发也没有这么糟糕,它离客户更近,可以培养产品能力
    • 可以看下这篇文章:https://mp.weixin.qq.com/s/1GhZq-jOPrHCT-alAcKHJg
  • 因为大二下暑课生物拿了 C-,所以这学期要认真卷,GPA 才能过 3.3,最后出人意料地拿了 4.0 😝

2022.1 - 2022.5

  • 前三个月,疫情爆发,在家摆烂
  • 学了计算机图形学,暂时也用不上,领悟到了做渲染器很难
  • 四月回校后开发 TCP 教学游戏,学了一些 TCP 和前端知识

2022.6 - 2022.7

  • 本来打算暑假出去玩一两个月,然后准备秋招的
  • 突然看到一个校内 web3 实习的机会,不用通勤,工资不错,还可以接触新领域,于是就面试并成功入职了
  • 接触到 web3 后,觉得这个领域前景广阔,萌生了 all in web3 的想法
  • 学习 Rust,深入了解波卡(Polkadot)生态
  • 初学 Haskell 和范畴论,数学也蛮有意思的哎

总结

  • 大一:探索兴趣,寻找方向
  • 大二:后端开发和运维入门
  • 大三:深入底层,思考方向
  • 现在想起来,其实有点后悔自己没有早点学底层知识,太早去做应用层开发了
  • 当然,现在学底层知识也不晚