Stackademic最近发了篇工程师自述,讲一个写了十年代码的人怎么被焊锡烟雾呛出了顿悟。作者原本觉得硬件是"别人的事",直到强迫自己每月做一个硬件项目,才发现两个世界之间的墙比想象中薄。
第一个月他焊坏了七块板子,代码里的异步bug却突然看顺眼了。硬件没有print语句,错就是错,LED不亮就是不亮。这种即时反馈逼他重新理解了"状态"这个词——不是文档里的定义,是3.3V和0V之间的真实差距。
「软件工程师习惯了无限撤销,硬件教会你每个操作都有物理代价。」这是他焊完第三个项目后写的。后来他开始用示波器看I2C波形,意外发现自己读网络协议文档的速度变快了,以前要啃三小时的RFC,现在半小时能抓住关键时序。
六个月下来,他做了蓝牙传感器、简易示波器、一个能显示天气的墨水屏。最后一个项目用了FreeRTOS,这是他第一次从用户角度理解实时系统的"硬截止期"——不是调度算法的概念,是马达不按时停就会撞墙的物理现实。
文章底下有条评论被顶到最上面:"焊了二十年,终于看到软件佬承认我们也有东西可教。"作者回复说,他现在的IDE旁边常年放着万用表,不是为了修电脑,是提醒自己代码最终要跑在硅片上,不是PPT里。
热门跟贴