27 岁的程序员 Gap 一年感受

最大的感受:变成 28 岁了

好吧,开个玩笑,下面是正文。

0.背景以及 Gap 原因

我硕士毕业时是 26 岁,然后校招进入一家航天国企,负责 Web 后端开发,工作了一年之后发现个人成长和挑战的空间极其有限,同时发现自己很喜欢编程,但不是计算机专业,没有系统学过 操作系统、计算机网络、数据库、分布式、计算机组成原理 等课程,同时自己又对这些底层原理有着极强烈的好奇心,根据 learn from the best 原则,将目光投向了北美四大计算机名校,并从其中挑选出了 5 门课程,基本涵盖了计算机所有基础领域:

  1. CMU15-213,计算机组成原理,教材是 CSAPP
  2. Stanford,CS144,计算机网络,课程要求实现一个 TCP 协议
  3. MIT6.s081,操作系统,课程要求魔改 xv6 操作系统,为其添加很多 feature,基本涵盖了 OS 的各个方面
  4. MIT6.824,分布式系统,课程要求实现基于 Raft 的分布式 kv 数据库
  5. CMU15-445,数据库系统导论,课程要求实现一个面向磁盘的关系型 数据库,其中的缓冲池、存储引擎层、执行器、优化器都需要自己实现,对于有性能追求的同学还提供了 LeaderBoard 打榜。

(这些课程在我决定 gap 时还不算特别“出圈”,但现在计算机学习者都应该听过了,我很开心这一点,我希望每个计算机学习者的简历上都可以出现这些课程)

但是随着真正开始学习,我发现这些课程都及其硬核,需要花费大量的时间思考和写代码(我曾经和 b 站一个粉丝破万的数据库开发老哥聊过,他说 CMU15-445 这门课需要写的代码量比他在公司一年写的都多)

问题一:为什么不能边上班边学习,要选择 Gap 脱产学习?

我当时的处境是,工作收益除了工资外,基本没有个人成长,而且我相信年轻人最宝贵的就是时间,如果利用下班时间,预计一门课需要半年,还得是风雨无阻天天坚持学习,预计这些课程全部学完需要 3 年左右的时间,即我 30 岁的时候,可以扎扎实实地学完这些课程(扎扎实实的定义是,独立思考并完成课程所有的 Lab 与作业),但这个时间对我来说太晚了,我希望用一年的时间,毕其功于一役。而且还有一点:一天学 1 小时,一次学 3 天,和一次性学 3 小时,效果是完全不一样的(参考《deep work》和《心流》)

另外就是,我相信那句话:种一棵树最好的时间是十年前,其次是现在。我只是勇敢地践行了这句话。

问题二:Gap 期间经济来源?

得益于我前单位(这个词果然一股浓浓的国企风)对应届生的慷慨,我在上班的一年时间攒了 10 个 W,用于支持我 Gap 期间的花销。

另外,父母身体健康,而且都有养老金,不需要我支持。也是我可以选择 Gap 的重要客观原因,我很感激这一点。

1.Gap 期间出现的问题

学习方面

这些课程本就是开设给全世界最优秀的本科生以及研究生的,所以有难度很正常,尤其是 CMU15-445 和 MIT6.824 这些课程,所有的 Lab 都是一脉相承的,后面的 Lab 是建立在前面的 Lab 基础之上的,如果前面的 Lab 卡壳,后面的 Lab 就会做不下去。

面对这些问题的时候,不要慌张,认真看所有的视频、所有的教案、所有的 slides 以及所有的 guide,就是这么朴素,因为计算机是建立在布尔代数之上的科学,他里面没有黑魔法,沉下心去,所有的东西都是人想出来的,即使你认为发明那些概念的人是天才,但并不代表它们是不可理解的,就好比“补码”确实是天才的发明。

 

而且经过我实际学习的经验,这些课程之所以称为“神课”,不光是因为其知识密度大,更主要是其难度设计合理,而且给学生提供一个很合适的动手环境,是一个你跳一跳,就能够到的高度,绝对不会出现下面的情况:

所以只需要沉下心来,就像"左耳朵耗子"说过的:“在这种环境下(短视频大量充斥我们的生活),你根本不需要努力的。你只需要踏实一点,像以前那样看书,看英文资料,你只需要正常学习,根本不用努力,就可以超过你身边的绝大多数人。”

心态方面

我身边的同学朋友也问过我:你有没有后悔?从前单位辞职,只为了学习计算机底层原理?

我当然有,如果说没有一丝丝后悔,那是骗人,在 Gap 的一年中,我也经常在某个深夜想:我是不是当时太不懂得珍惜了。我也会焦虑,尤其是偶尔刷手机,看到一些文章的标题:

  • 《互联网崩了》
  • 《职场不接受 Gap Year》
  • 《计算机彻底没了》
  • 《双 985 秋招投了 300 家 0 offer》

这种焦虑的心态在过年时期达到了顶峰(亲戚,你懂得)

但我很清楚,悲观和焦虑会迅速毁掉一个人,如果有习惯性的焦虑,那么这个人会在思想、行为、情绪、身体等方方面面遇到问题;比如生活中很小的问题都会看上去像不可逾越的高山、情绪会很差,行为上变得被动和犹豫不决、身体上则是没有胃口、失眠、容易疲倦等等;

所以我意识到,如果任由悲观和焦虑在我头脑中泛滥,我的 Gap 一定会拉胯的,最后的结果就是:想学的课程没学完,还找不到新工作。

意识到这一点后,我迅速制定了以下计划并执行:

  1. 系统学习"积极心理学",每天都花费 30 分钟和自己进行积极的心理对话,改变自己对于事物的解释风格
  2. 坚持运动,开始跑步和健身,通过生理状态影响心理状态
  3. 坚持和朋友一周一次电话,和他们保证,绝对不失联(在此感谢我的两位好友)

得益于这三点,我最终度过了最焦虑的时期(大概是我 Gap 半年的时候),而且事实也证明了,正是因为我采用乐观的心态去应对 Gap 期间发生的各种问题,我才顺利学完了这些课程,并且最终拿到了满意的 offer。

2.后续计划

我的 Gap 算是画下了一个句号,至于这个句号是否圆满,至少我自己是满意的,接下来我会去工作了,但我是带着更强大的头脑更乐观的心态投入到工作中,我希望自己能创造一些有意义的东西,并能够为开源世界做出一点贡献,正如我的签名那样:make the world a litte better

最后,放上一些我最近一个月找工作时的暖心瞬间吧,让我明白,只要认真努力,这个世界总有人会欣赏你,学习计算机底层原理,就是做正确的事。

至于职场不接受 Gap Year?我觉得重点是解释清楚 Gap 做了什么

如何学习AI大模型?

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。


👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。


> ***1.AI大模型学习路线图
> 2.100套AI大模型商业化落地方案
> 3.100集大模型视频教程
> 4.200本大模型PDF书籍
> 5.LLM面试题合集
> 6.AI产品经理资源合集***

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓


 

为了模拟这种情景,我们可以编写一个Python程序来计算每天根据学习与否能力值的变化。我们将使用列表来存储每一天的能力值,并利用循环进行增长或减少操作。这里假设初始能力值为1.0。 ```python # 初始化变量 initial_ability = 1.0 # 第1天的能力值 learning_rate = 0.001 # 提高1‰ 的比例 forgetting_rate = -0.001 # 下降1‰ 的比例 # 定义一天的能力值变化函数 def daily_change(ability, is_learning): if is_learning: return ability + learning_rate * ability else: return ability - forgetting_rate * ability # 模拟365天,分为学习日和非学习日交替 days = 365 learning_days = [True] * (days // 2) + [False] * (days // 2) ability_values = [initial_ability] for i in range(1, days): ability_values.append(daily_change(ability_values[i-1], learning_days[i])) # 计算最终能力和差距 final_ability_learning = ability_values[-1] final_ability_not_learning = ability_values[0] gap = final_ability_learning - final_ability_not_learning print(f"经过一年的学习和放任后,能力值差距为: {gap:.4f}") # 可能无法直接生成图片,但你可以画一个简单的折线图来可视化结果,例如用matplotlib import matplotlib.pyplot as plt plt.plot(range(1, days+1), ability_values, label='能力值') plt.xlabel('天数') plt.ylabel('能力值') plt.title('学习与不学习情况下一年的能力值变化') plt.legend() plt.show() # 注意:这只是一个模拟程序,真实情况可能因人而异,而且这里我们简化了遗忘和增长的比例为恒定的1‰。 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员辣条

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值