非科班出身,如何补齐软件工程基本功?
Ask HN: Where to learn software engineering fundamentals?
我虽然没有 CS 专业背景,但 lifelong 都在写基础代码,现在借助 AI 加速开发。我想请教大家,哪里是学习软件工程基本功的最佳途径?
直接让 GPT 或 Claude 在 GitHub 上帮你找优质课程和学习路径。别光看理论,先动手做 Demo,在实践中学习。
去挖掘 2012 到 2017 年 MOOC 黄金时代的免费资源,比如 MIT 的 Python 入门课、UBC 的函数式编程课,还有从逻辑门搭建 CPU 的 Computation Structures 课程。
建议向下深挖一层,先搞懂机器底层:内存地址、简单 CPU、汇编和调用约定。理解了底层问题,指针等高级特性就不再神秘,编译器原理也会豁然开朗。
推荐一个专门针对 CS 基础的资源网站 teachyourselfcs.com,里面涵盖了典型程序员日常背后所需的核心原理。
可以阅读 aosabook.org,这本书汇集了众多开源项目的架构设计经验,是理解软件工程的绝佳材料。