diff --git a/_posts/2024/06/2024-06-12-why_gap.md b/_posts/2024/06/2024-06-12-why_gap.md index 5f460f6..1282dd9 100644 --- a/_posts/2024/06/2024-06-12-why_gap.md +++ b/_posts/2024/06/2024-06-12-why_gap.md @@ -20,15 +20,15 @@ typora-root-url: ../../../ 毕业后感谢一位浙大学长(公司CTO)要我,开始做Java后端。21年公司被收购,学长和其他领导又带我进入区块链行业,开始做[Filecoin(FIL)](https://filecoin.io/),也是这个时候开始用Golang和Rust。几乎是我一个人来改FIL官方源码,也自认为做得不错,弄清FIL计算原理后使我们的封装进度(其实就是挖矿速度)和业内比肯定是中上的。甚至发现FIL的Rust代码中有并发编程的逻辑错误,这会导致FIL最核心的功能出错,用户不能正确恢复其保存在链上的文件数据。之后我修复了这个错误,但没有公开。22年面试其他做FIL的公司的时候,所有面试官甚至都不太相信有这个错。 -也是在这21到22年期间,我在学习一些大家推荐的国外课程,经典的CSAPP,s6.081,15-445都做过,还有一些自己选的课程比如并行编程,用Rust写gdb之类的,总之都和system相关。我也越来越对这些内容感兴趣,感觉这些才是学计算机的“正道”,而不是去背所谓的“八股文”。正因如此,在1Token做 Golang 后端转正以后,我又答应学长邀请去做数字货币的量化编程语言DSL,对标的是[pine](https://www.tradingview.com/pine-script-reference/v5/),做的也比较顺利。 +也是在这21到22年期间,我在学习一些大家推荐的国外课程,经典的CSAPP,s6.081,15-445都做过,还有一些自己选的课程比如并行编程,用Rust写gdb之类的,总之都和system相关。我也越来越对这些内容感兴趣。正因如此,在1Token做 Golang 后端转正以后,我又答应学长邀请去做数字货币的量化编程语言DSL,对标的是[pine](https://www.tradingview.com/pine-script-reference/v5/),做的也比较顺利。 但是,当我回顾过往经历时,发现总体上做的比较杂,没有在一个领域深耕下去,而且对system的学习也只是以课程lab为主,并不算很深入,更可怕的是开始有一点年龄焦虑。我本身是非常想提升自己的,有时候也会很遗憾本科时没有接触到好的教学资料,所以逐渐萌发出想花时间自己学习的想法,想的是之后无论重新找工作做什么,这些底层知识都是有用的。 #### 3. Gap时期 -有收获,特别是更了解硬件后,对计算机系统整体运行有更深刻的理解。此外,对Rust语言更熟悉,对分布式基础原理和计算机网络基础原理也更理解。最重要的是,对自己更有信心,我也可以对某些领域有深入的了解,而且这些理解至少在中文互联网上是很难找到的。 +有收获,特别是更了解体系结构后,对计算机系统整体运行有更深刻的理解。此外,对Rust语言更熟悉,对分布式基础原理和计算机网络基础原理也更理解。最重要的是,对自己更有信心,我也可以对某些领域有深入的了解,而且这些理解至少在中文互联网上是很难找到的。另外,某种程度上也对system有一点祛媚,各种基础软件本身也是业务,也需要处理很多业务逻辑,并不比应用开发高人一等,只是大家接触的少。 -当然也有不足,一个人学确实效率比较低,而且容易走弯路,有时候会卡在不是那么重要的问题上,有时候找相关资料都要很久,比如如果不是无意间看到[这门课](https://www.coursera.org/learn/comparch)的话,可能都不会有上面的成果。而且整体偏理论一点,这期间写的代码不算多。不过好在有完整的基本认识后,再去丰富细节会更容易。 +当然也有不足,一个人学确实效率比较低,而且容易走弯路,有时候会卡在不是那么重要的问题上,有时候找相关资料都要很久,比如如果不是无意间看到[这门课](https://www.coursera.org/learn/comparch)的话,可能都不会有上面的成果。 #### 4. 总结