三万行代码的终点 - 大三那年,我的GitHub绿了365天


文档摘要

故事五:三万行代码的终点 大三那年,我的GitHub绿了365天 不是因为我多厉害。是因为我每天强迫自己写代码、提交commit。整整一年。 那年我的目标是:毕业前,写够十万行代码。 我觉得这是成为一个合格程序员的最短路径。多写、多练、多犯错误、多解决问题。 一年后,我的GitHub确实绿了。代码量也确实达到了——不算注释和空行,大约十一万行。 然后我毕业了,去找工作。 面试官没有问我写了多少行代码 第一场面试,面试官问:"你做过最有技术挑战的项目是什么?" 我愣住了。 十一万行代码,分布在几十个小项目里。玩具项目、教程复现、刷题答案、课程作业……真正算得上"有技术挑战"的,一个都没有。 面试官又问:"你平时怎么学习新技术的?" 我又愣住了。我说:"看文档、看博客、写代码。

故事五:三万行代码的终点

大三那年,我的 GitHub 绿了 365 天

不是因为我多厉害。是因为我每天强迫自己写代码、提交 commit。整整一年。

那年我的目标是:毕业前,写够十万行代码。

我觉得这是成为一个合格程序员的最短路径。多写、多练、多犯错误、多解决问题。

一年后,我的 GitHub 确实绿了。代码量也确实达到了——不算注释和空行,大约十一万行。

然后我毕业了,去找工作。

面试官没有问我写了多少行代码

第一场面试,面试官问:"你做过最有技术挑战的项目是什么?"

我愣住了。

十一万行代码,分布在几十个小项目里。玩具项目、教程复现、刷题答案、课程作业……真正算得上"有技术挑战"的,一个都没有。

面试官又问:"你平时怎么学习新技术的?"

我又愣住了。我说:"看文档、看博客、写代码。"

"能具体说说你最近学到了什么新技术吗?深入到什么程度?"

我说不上来。因为我的学习方式是"广而不深"——什么都学一点,什么都不精通。十一万行代码,没有一行是我在真正解决一个复杂问题中写出来的。

那场面试,当然没有通过。

我发现了"勤奋"的假象

回去之后我认真反思了一下。

我那一年做的不是"学习",而是"缓解焦虑的仪式"。

每天写代码、提交 commit、看着 GitHub 变绿——这些行为让我觉得自己在进步。但实际上,我在原地踏步。

真正的学习不是"写了多少行代码",而是"理解了多少概念"、"解决了多少问题"、"建立了多少知识之间的连接"。

我的 GitHub 绿了 365 天,但我的知识网络依然稀疏得可怜。

一个学长把我拉回了正轨

毕业后的第一份工作是在一家小公司做后端开发。有个比我早来两年的学长,技术非常好。

我问他:"你是怎么学的?"

他说:"我不怎么写代码。我主要读书和做笔记。"

"读书?读什么书?"

他打开了一个网站——灏天文库。

"这是我用的知识库。你看,这是我建的文集:分布式系统、数据库内核、网络编程、系统设计。每个文集大概 30-50 篇文档。"

他接着说:"我的学习方法是:先系统地把一个文集从头到尾读完,然后在实际工作中遇到问题时,回来用 RAG 问答查。这样我学的每一点知识都是'带上下文'的——我知道它在整个知识体系中的位置。"

我看着他那几个文集,每个都有详细的目录、清晰的层次结构。不是碎片化的博客文章,而是精心组织的知识体系。

那一刻我才明白:学编程不是比谁写的代码多,而是比谁的知识体系更扎实。

我的改变

我改变了自己的学习方法。

不再追求 GitHub 绿点。不再每天盲目写代码。

取而代之的是:

  1. 在灏天文库里,找到自己需要系统学习的方向(比如"数据库原理")
  2. 从文集第一篇开始,按顺序读
  3. 读的过程中做笔记(用 Markdown,导出上传)
  4. 工作中遇到相关问题,用 RAG 问答验证和补充
  5. 定期回顾,把零散的知识点串联成体系

半年后,我再次参加面试。

面试官问:"你对数据库索引有什么理解?"

我没有从"什么是索引"开始背定义。我从 B+ 树的结构开始,讲到聚簇索引和非聚簇索引的区别,讲到索引选择的策略,讲到覆盖索引和回表优化的场景,讲到线上项目中遇到的慢查询优化案例——这些内容全部来自灏天文库上系统化学习的积累。

面试官说:"你的基础很扎实。"

三万行代码的终点

我现在依然写代码。但我不再追求行数。

我追求的是:每写一段代码,都清楚地知道它在解决什么问题、基于什么原理、有什么 trade-off。

这种清晰感,不是靠"多写"获得的,而是靠"学透"获得的。

灏天文库给了我"学透"的工具和路径。它不是一个教你怎么写代码的网站。它是一个帮你理解技术为什么是这样的知识库。

三万行代码的终点,不是更好的代码。而是更深的理解。

如果你也在盲目地"多写多练",也许你需要停下来,先把基础知识体系搭好。

灏天文库,aiknowledge.cn。让每一行代码都有根。


发布者: 作者: 转发
评论区 (0)
U