通过复现技术来精通编程
你每天都在使用各种库和框架。大多数开发者并不了解它们的工作原理。你可以改变现状。
使用 “Build-Your-Own-X” 法。这意味着你从头开始复现现有的工具。你不仅仅是在做克隆,而是在学习技术的核心运作方式。
这种方法的益处:
- 深度知识:构建一个 HTTP server 能让你理解请求头(headers)和状态码(status codes)。构建一个 hash map 能让你理解速度与内存的关系。
- 更强的调试能力:因为是你亲手构建了系统,所以你清楚错误隐藏在哪里。你能更快地修复 Bug。
- 创新能力:你不再只是墨守成规,而是开始创造属于自己的解决方案。
- 职业成长:在面试时告诉面试官你构建过一个微型区块链,这能证明你是一名真正的工程师。这会让你脱颖而出。
- 真正的自信:从零开始解决难题可以消除“冒充者综合征”(imposter syndrome)。
如何开始:
不要一上来就去构建操作系统。从小处着手。选择一些你每天都在使用的东西。
可以从这些项目开始:
- 一个用于列出文件的
ls命令。 - 一个用于模式搜索的
grep命令。 - 一个基础的 Linked List 或 Hash Table。
- 一个用于静态文件的简单 HTTP server。
- 一个微型的命令行待办事项列表。
- 一个自定义的 Promise 实现。
如果你使用 React,就去构建一个极简的组件渲染器(component renderer)。如果你使用 Git,就去构建一个简单的 git init 版本。
停止盲目地使用工具。开始动手构建它们。