这个误区?“你必须先会编程” #tenminemail.com
Source: Dev.to
我不懂高级算法。
我不懂系统设计。
我无法自信地解释身份验证流程或部署流水线。
但我有想法。一直困扰我的一个问题是:我的收件箱不断被我在各网站注册时收到的垃圾邮件淹没——试用、下载、社区、我根本不想订阅的新闻通讯。感觉互联网在为好奇心收取费用。
第一个版本并不惊艳
当我开始构建时,我并没有从头写所有代码。我使用了工具、AI 助手以及能够脚手架部分应用的平台。我不断依赖文档,并且提出了大量荒唐的问题。我并不觉得自己是个“真正的开发者”;更像是一个在不完全理解每个组件的情况下拼装机器的人。
有时会出现故障,我根本不知道原因:邮件投递失败、DNS 记录未按预期传播、Webhook 表现不可预测,甚至出现乍看之下毫无意义的错误。每一个问题都迫使我在情境中学习,而不仅仅是理论上学习,这正是关键所在。
门槛的谎言
技术圈里有一种不成文的信念:只有当你能够在没有任何帮助的情况下手写复杂系统时,才配去构建——否则你就不算“合法”。
我发现的事实:
构建本身才是让你合法的行为。第一次我的应用通过正确配置的 MX 记录成功收到邮件时,我对邮件基础设施的了解已经超出了单纯阅读文档所能达到的程度。第一次我调试失败的 API 请求时,我对 HTTP 行为的理解比任何教程都更深入。第一次生产环境出现故障时,我感受到责任感。开发不再是抽象的概念,而是变得真实。
工具并不取代思考
使用工具可以消除机械摩擦,但它并不会消除决策过程。
我仍然需要决定:
- 我在解决什么问题?
- 流程应该如何运作?
- 当出现故障时会怎样?
- 用户体验应该是什么样的?
- 我该如何防止滥用?
没有任何工具能替你回答这些问题。真正的开发就在这些问题中。
灵光一现的时刻
转折点并不是应用终于能运行,而是我意识到了一点微妙的变化。我不再是“不会编码的人”,而是比昨天更懂的人。这种差距会不断累积。你不会在某一天醒来后突然成为开发者;你是通过不断交付不完美的作品并承担后果,慢慢成为开发者的。
那么不懂编程还能开发吗?
可以,但要有细微的区别。你可以在不懂编程的情况下开始,但如果不学习就无法成长。区别在于学习不一定要先于开发——它可以在开发过程中发生。如果你持续构建,好奇心会驱动你获取知识。你会想了解抽象层背后发生了什么,提出更好的问题,识别模式,并关心架构,因为错误会让你在意。等你意识到时,你已经不再是“尽管是初学者仍在构建”,而是“因为正在成为开发者而构建”。
我现在的信念
- 你不需要许可就可以开始构建。
- 你不需要学位、十个认证,或是全懂所有东西。
- 你需要一个问题、坚持不懈,以及愿意在一段时间内显得笨拙的勇气。
我没有等到觉得自己准备好了才动手。我先构建了东西。正是这让自己准备好了。