# 如何作为软件工程师涉足机器人技术 [译]

- Link: https://paooo.com/ai-study/8612/
- Published: 2024-10-18T18:18:36+08:00
- Author: 宝玉的分享

⚡ [Prompt](https://paooo.com/ai-image-prompts/) 语宙 AI 导读 · 30 秒核心看点

 * 从 CRUD 转向机器人：软件工程师可用控制系统、数据分析和图像处理驱动硬件落地。
 * Nix 是管理机器人有状态系统的关键工具，可在 git 中统一配置并自动更新。
 * 入门建议很明确：学 C/C++、尝试 Rust，再补 CAD、3D 打印和焊接实践。

我一直在网站服务和移动应用开发领域工作，但这最终变得有些单调。回想起高中时代，我
曾是焊接俱乐部的一员，那时起我就有种想挑战更高难度问题的渴望。两年前，我开始在阿姆斯特丹
寻觅机遇，最终加入了Monumental。如今，我在这里致力于利用机器人技术自动化建筑施工，
首先从砖石工作开始。当系统顺利运行，亲眼见证一堵墙慢慢建成时，那份成就感是难以言
喻的。相比之下，看到别人忙于加密货币或金融科技的项目时，我总感觉如果我去做那些事情，
肯定会感到极度无聊。

![如何作为软件工程师涉足机器人技术 [译]](https://paooo.com/wp-content/uploads/2024/
10/robot-jpg.avif)

走出位与字节的世界，转向原子与电子的世界，你能带来更大的影响。软件应用无法为人们
提供住所、食物或将他们送往火星。仅凭更智能的软件无法解决气候变化问题，我们还需大规模
投入太阳能板和能源存储设备。随着人口老龄化，我们需要重新思考食物来源、住房供暖方式，
以及如何为退休人口提供住房。

解决这些问题离不开软件技术。通过控制系统、数据分析和图像处理，我们能够让硬件设备“
复活”。软件技术是整合各个系统的关键。

涉足硬件领域，意味着你将与来自其他专业领域的工程师合作，比如机械和电气工程师。这种
跨学

科的合作不仅令人兴奋而且极具启发性，它能够拓宽你的视野，使你成为更出色的软件工程
师。与机械工程师的合作让我意识到，他们对世界的看法与众不同——周遭的一切都比你想象
的更加可塑。我在进行家居改善项目时有了这个体会——即便你不小心在墙上打了个洞，也总
有办法修复它。

初次与其他领域的工程师合作时，你可能会感到不安：他们谈论的“2020 视力”、“冲击维护”
和“电磁干扰”等概念可能让你摸不着头脑。但随着时间的推进，你将足够了解他们的工作方式，
能够跨学科交流并贡献自己的见解。你所从事的编程工作将与众不同，更类似于涉及 3D 几何
学和场景图的游戏编程。

但最终，机器人软件还是软件。你需要处理数据清洗、备份等常规任务。然而，在硬件领域，
你会遇到全新类型的问题，比如之前我从未需要考虑过电缆是否接触不良的问题，但现在这
成了调试系统时的一个常见问题。能够跨领域工作的人才是关键，必须有人确保各个部分能够
协同工作。

处理物理对象意味着更多挑战。在 DevOps/GitOps 时代，我们已经解决了如何管理云服务版本
的问题：你总是部署最新版本，并进行逐步部署。你不需要担心运行系统上的状态残留，因为
每次部署都会替换掉你的容器/虚拟机。这就是所谓的“牲畜而非宠物”的软件开发方法。

想象一下，如果你的办公室里有三台机器人，每台机器人都运行着不同的服务，并且有不同
的同事同时在这些服务上工作。还有运行在操作员电脑上的软件需要保持最新。同时，你希望
现场工作的机器人既稳定又保持最新，这一切变化如何管理？你不能每次更新软件就抛弃你的
机器人！

这些问题完全可以通过工程手段解决。我的工具箱中有一个必不可少的工具是Nix，它允许我在
git 仓库中管理整个系统配置，并让系统自动更新配置。这就像在有状态系统上实现了虚拟
机的一次性使用的好处。然而，面对这类问题时，你可能会怀念那些简单的 CRUD 应用开发。

你需要学习 C 或 C++，因为微控制器编程就是使用它们。实际上，现代 C++ 并不像你想象
的那么糟糕，但确实需要一定的自律。你得做好准备，面对那些充斥着宏的嵌入式 C 代码。
采用一些简单的面向对象编程技巧，如类和关注点分离，很快就能让你在嵌入式软件工程领域
脱颖而出。试试手头的树莓派 Pico、面包板、伺服电机和 LED 灯，开始你的实践之旅吧。

此外，不妨尝试一下 Rust 编程。它的强类型系统和安全性特性非常引人注目，而且构建工具
和生态系统远胜于 C++。尽管Rust for embedded还在不断完善，但其前景令人期待。

当你开始探索新领域时，CAD 和3D 打印技术值得一学。不仅因为制造实物和学习新技能本身
就很酷，而且这能让你更好地理解同事在 Fusion 360 崩溃时的挫败感。学习焊接也是一个
好主意，它不仅能帮助你进行简单的修理，还能让你深入了解电子产品的开发过程。如今，
硬件原型制作比以往任何时候都要容易，CAD 工具易于上手，网络上有大量的教学视频。消费
级 3D 打印机也在变得越来越易用和不断进步。

行动起来，开始构建你的机器人吧！发送你制造的机器人照片给我！生活太短暂，不应浪费
在开发另一个《糖果粉碎传奇》的克隆游戏上！

如果你对参与建筑机器人的开发感到兴奋，来加入我们吧！

_感谢[Xavier](

https://xav.io/)和Phatho审阅本文草稿_。

2024 年 2 月

❓ 常见问题解答（FAQ）

软件工程师转机器人开发要学什么？

优先补齐嵌入式与硬件协作能力：C/C++ 是微控制器编程基础，Rust 适合提升安全性与工程
体验；同时要了解控制系统、数据分析、图像处理，以及 CAD、3D 打印和焊接等原型制作技能。

为什么机器人项目需要 Nix？

因为机器人是有状态系统，不能像云服务那样随意替换容器。Nix 可以把整套系统配置放进
git 仓库统一管理，并让设备自动更新配置，帮助团队稳定维护多台机器人和操作员电脑。

软件工程师做机器人会遇到哪些新问题？

除了常规的软件调试，还要处理电缆接触不良、硬件联调、跨学科沟通等问题。你需要和机械、
电气工程师协作，理解他们的术语与约束，才能让整套机器人系统真正协同工作。

🔬 语宙深潜追问 · 进阶实操拆解

转机器人最该先学哪些技能？

优先补 C/C++、Linux、传感器接口、控制基础和调试方法；如果做工程落地，再加 Rust、
CAD、3D 打印与焊接。核心不是“会写代码”，而是能把软件、硬件和时序问题一起定位。

如何快速进入机器人团队实战？

从一个可闭环的小系统切入，比如机械臂末端、移动底盘或视觉定位模块；先把日志、标定、
故障复现和版本管理做好，再逐步接触运动规划与系统集成，效率远高于泛学理论。

🗳️ 读者观点微投票 · 您的实战立场是？

软件工程师转机器人，先补哪块最值？

🕸️ 语宙向量知识图谱 · 语义强关联深度内链

[🐋 所属权威专题：DeepSeek 深度实战与部署 →](https://paooo.com/topics/deepseek/)

 * [软件开发的未来展望 [译]](https://paooo.com/ai-study/8652/)
 * [作为软件工程师，你可能不知道的 4 件事 [译]](https://paooo.com/ai-study/8506/)
 * [3天敲完3万行全栈代码、顺手要来德国博物馆图纸！前谷歌工程师王咏刚自白：亲历被Claude Opus 5.5“架空”后，传统程序员的技术价值正被彻底重写](https://paooo.com/trends/41589/)
 * [开发者视角：项目管理的智慧 [译]](https://paooo.com/ai-study/7099/)

[🏛️ 宝玉的分享](https://paooo.com/author/baoyu/) · 前沿大模型翻译与提示词工程实战
分享专栏，聚焦海外一手 AI 技术动态与工程实践。

[📄 Markdown 纯净版](https://paooo.com/ai-study/8612/?format=md)

💡 这篇内容对您有启发吗？

[📡 RSS 订阅](https://paooo.com/feed/)[✨ 提交 AI 工具 / 合作](https://paooo.com/submit-tool/)

**🚀 Prompt 语宙 AI 创作者生态：**探索 2,800+ 全球实用 AI 工具与高精度生图提示词
咒语库

[🧭 语宙 AI 导航 (ai.paooo.com)](https://ai.paooo.com/)[🎨 AI 生图 Prompt 库](https://paooo.com/ai-image-prompts/)
[📚 核心专题导航](https://paooo.com/topics/)[⚡ AIGC 早报生成器](https://paooo.com/mtool/)
