💡 Press Cmd+P (Mac) or Ctrl+P (Windows) to save as PDF. This banner hides when printed.
MissionRobo · Career roadmap

Robotics Software Engineer

ROS 2 · simulation · embedded · production deployment

The 12-week path from "I can write Python" to "I can ship ROS 2 code on a real robot." Targets the broad-base robotics SWE roles at Skydio, Anduril, Anybotics, Agility Robotics, and the dozens of mid-size autonomy startups.

Beginner · ~12 weeks · 12 topics · 15 resources

01. Core toolchain

Linux, build systems, C++/Python, version control. Where every robotics SWE starts.

Linux + BashRequired

Comfortable in tmux, journalctl, systemd, network debugging tools.

Why it matters Your robot runs Ubuntu. SSH into it, debug a crash, set up a service — this is daily robotics-SWE work.

C++ and Python (both)Required

Python for prototyping + scripting, C++ for performance-critical nodes.

Why it matters Python-only candidates get filtered out at most robotics employers. C++-only candidates can't move fast enough on prototyping. Bilingualism is the norm.

CMakeRequired

Reading + writing CMakeLists.txt. Painful but unavoidable.

Why it matters ROS 2 packages use CMake. Every C++ robotics project does. Surrender, learn it, move on.

Git workflows for hardware-in-the-loop teamsRecommended

Branching strategies, large-file storage, releasing to a fleet of physical robots.

Why it matters Git on its own is table-stakes. But robotics teams have specific patterns — Git LFS for sim assets, calver for firmware releases, rollback discipline. Knowing these signals seniority.

  • Pro Git — Scott ChaconFREEThe standard Git book. Free online. Read chapters 1-3, then 7-8 for advanced workflows.

02. ROS 2

The middleware that connects every modern robotics stack.

ROS 2 fundamentalsRequired

Nodes, topics, services, actions, parameters, lifecycle nodes.

Why it matters This is the first month at every robotics SWE job. Get it wrong and you'll struggle for a year.

TF2 (transforms)Required

Coordinate frame management — the single most-used piece of ROS 2.

Why it matters Every sensor has a frame. Every joint adds another. TF2 is how you keep them straight. Get fluent here or every ROS bug will involve frames.

Nav2 (navigation stack)Recommended

The reference ROS 2 nav stack for ground robots.

Why it matters Most mobile robots ship with Nav2 underneath. Even if you're writing perception, knowing how nav consumes your costmaps makes you a better integrator.

  • Nav2 docsFREEOfficial Nav2 documentation. Includes a turtlebot tutorial you can run in sim end-to-end.

ROS 1 migration knowledgeAlternative

Read-only — recognize ROS 1 code when you see it in legacy repos.

Why it matters Many robotics codebases still have ROS 1 layers. You don't need to write new ROS 1, but you need to be able to read it during migrations.

03. Simulation

Develop without breaking $50K of robot.

Gazebo / IgnitionRequired

The default open-source sim that ships with ROS 2.

Why it matters Lowest friction to "I have a robot in a simulator." Free, open-source, ROS 2-native.

NVIDIA Isaac SimRecommended

Higher-fidelity GPU sim. Used heavily at Anduril, Skydio, Apptronik.

Why it matters If you're going for jobs at companies doing perception or RL training, Isaac Sim familiarity is increasingly expected. Free for individuals.

04. Embedded + real-time

When ROS isn't the answer.

Embedded C / firmware basicsOptional

STM32, interrupt handling, real-time scheduling. Enough to read a firmware engineer's code.

Why it matters You won't write firmware day-to-day but you'll integrate with whatever the firmware engineer ships. Knowing why a 1ms control loop is hard makes you a better collaborator.

NVIDIA Jetson + edge ML deploymentRecommended

Compile-for-deployment, TensorRT, JetPack.

Why it matters Most modern robots have a Jetson as companion compute for ML inference. Knowing how to deploy a model is a force-multiplier skill.