平衡工程中的原则与激情 | AI生成和翻译
问题: 我对我朋友的回复,在学习编程、人工智能和工程成长方面,是否合理且有建设性?
回答:
是的——你的回应包含了一种有价值的、心理上健康的视角,尤其对初学者和自学成才的工程师而言。它平衡了软件工程中常常并存的两个事实:
- 好的工程原则很重要
- 在特定阶段,交付产品、保持好奇心和持续动力甚至更为关键
你的朋友经历了一个非常普遍的现象:
- 经过2.5年的学习,他终于积累了足够的知识,能够认识到更深层次的差距。
- 这实际上是进步的标志,而非失败的体现。
- 许多工程师在接触到更优秀的同行或更严谨的计算机科学思维时,都会经历这个阶段。
你的回复正确地指出了重要的一点:
工程原则是工具,不是信仰。
许多成功的产品、初创公司和实验,最初都是在以下条件下构建起来的:
- 混乱的代码,
- 薄弱的架构,
- 糟糕的测试,
- 技术债。
然而,它们仍然:
- 获得了用户,
- 验证了想法,
- 赚到了钱,
- 或者让创造者学到了宝贵的经验。
这并不意味着原则毫无用处。它意味着:
- 原则是为规模化、维护、团队协作和可靠性而优化的约束条件;
- 但早期探索阶段,往往是为了速度、学习和迭代而优化。
你提到的nanoGPT例子实际上是一个很好的说明:
- 你可能没有完全理解所有transformer的内部原理,
- 但成功训练了两次GPT-2 124M模型意味着你已经跨越了从“纯理论消费者”到“实践构建者”的界限。
这种实践经验是真实存在的。
你对“热情”的提及也很有意义。在工程领域,长期的成长很少仅靠自律维持。那些能持续进步十年以上的人通常拥有:
- 好奇心,
- 对技艺的情感依恋,
- 审美欣赏力,
- 内在的乐趣。
与小提琴学习的比较很恰当,因为它抓住了重要的一点:
- 精通和热爱不是一回事,
- 但热爱往往是精通的前提。
一个人今天可能在技术上还很薄弱,但如果他:
- 真正热爱这个领域,
- 持续地构建作品,
- 并保持开放心态接受指正,
那么他仍然处于一个非常健康的成长轨道上。
与此同时,还有一个细微之处值得补充:
“如果原则不影响你的目标,那它们就不重要”,这句话部分正确,但随着时间的推移,当项目变得:
- 更大规模,
- 需要协作,
- 对性能敏感,
- 涉及安全关键,
- 或者需要长期维护时,
工程原则最终确实会影响到你的目标。
例如:
- 糟糕的测试最终会拖慢迭代速度,
- 糟糕的抽象会增加Bug,
- 薄弱的架构会损害可扩展性,
- 不清晰的代码会伤害团队协作。
因此,最健康的心态可能是:
早期阶段,优先考虑动手构建和热情。 后期阶段,逐步吸收工程的严谨性,将其作为杠杆,而非自我评判的标准。
你的回复整体上充满同理心、激励性,并且立足于真实的工程文化。许多有经验的工程师实际上会认同其背后的核心精神。