HORUS/blog

Sep 5, 2026 · ros2 · careers · beginners · learning-path

Is ROS 2 Worth Learning If You Want a Robotics Job?

Yes, learn ROS 2 first if you want a robotics job. Employers name it, interviews assume it, and nothing else appears on adverts nearly as often.

Yes, learn ROS 2 first, because employers name it in job adverts far more often than they name any alternative middleware, framework or in-house stack. ROS 2 is the field's shared vocabulary, so knowing it lets you read someone else's robot and be understood in an interview. That flips only if you are aiming at one team that already left ROS 2 for HORUS or an in-house stack. The rest of this post is for someone early in their career deciding what to spend the next few months of evenings learning.

You have watched the tutorial where a simulated turtle drives in a circle, and then you opened a real job advert and it asked for five things you have never heard of. Somebody in a forum says nobody uses ROS in industry any more. Somebody else says every serious robotics company runs it. A friend at a startup says her team wrote their own thing and never touched it. You have a laptop, maybe a single-board computer in a drawer, and about two free evenings a week.

What you actually want to know is whether the months you are about to spend will still be worth something when you are sitting in front of an interviewer. You do not want to learn a museum piece. You also do not want to skip the one thing everyone in the room will assume you already know, and then spend the interview explaining why you took a different path. The tutorials will not answer this, because tutorials are written by people who made the choice years ago and never had to make it again.

Is ROS 2 worth learning if you want a robotics job?

Yes, and if you only have room for one thing, make it ROS 2. Robotics hiring is small and concentrated: the same tools appear in advert after advert, and ROS 2 appears more than anything else, across warehouse robots, inspection drones, agricultural machines and research platforms. Learning it does two useful things at once. It teaches you the vocabulary an interviewer will use without explaining — nodes, topics, transforms, launch files — and it gives you a way to build something that actually moves without writing every layer yourself.

The second part matters more than people admit. A candidate who can say here is a robot I built, here is the video, here is the part that broke and why, beats a candidate who has read more books. ROS 2 is currently the shortest route from nothing to a moving robot plus a story you can tell about it. That is the whole argument. Notice that it does not depend on ROS 2 being the best-designed software in the field, which is a separate question with a much less flattering answer.

What is ROS 2, if you have never installed anything?

ROS 2 is a set of conventions and tools for splitting robot software into separate programs that talk to each other. A robot is never one program. Something reads the camera, something works out where the robot is, something decides where to go, something drives the wheels. ROS 2 gives all of those a common way to exchange messages, a common way to start and stop together, and a common way to record a run and replay it at your desk afterwards.

Around that core sits the part people actually stay for: thousands of packages other people wrote. Mapping, navigation, arm motion planning, camera and lidar drivers, simulator bridges. When a job advert says ROS 2, it usually means the whole of that, not just the messaging.

The name is misleading, which trips up newcomers constantly. It is not an operating system; it runs on Linux. If that distinction is still fuzzy, what middleware actually does in a robot is worth twenty minutes before you install anything.

What are your real options for learning robot software?

There are about five, and only one of them is aimed squarely at employability. You can learn ROS 2, which is what most robotics employers hire against. You can learn microcontroller firmware, which teaches you what a motor and an encoder really do but leads to a different kind of job. You can write plain Python against a simulator and learn the maths without the plumbing. You can learn one vendor's SDK because you happen to own that arm or that drone. Or you can learn a specialised middleware such as HORUS, an open-source real-time system for Rust, Python and C++ that exists for robots whose control loop misses its timing, which is a real problem but not the problem a career switcher has this year.

Those paths are not exclusive, and the good ones overlap. But your evenings are finite, and the order matters far more than the total. Start with the one that opens the most doors, then add the others as specific projects demand them.

How do the main learning paths compare?

Here is the same set laid out by who each path suits, rather than by which is technically strongest.

OptionWho it is forWhat it assumes you knowWhen to pick itWhen not to
ROS 2Anyone aiming at a robotics job in industry or a labLinux basics, Python or C++, patience with build toolsYou want the skill most employers screen forYou only want to make an LED blink this weekend
Microcontroller firmwarePeople who want hardware moving by SundayA little C, and how to read a wiring diagramYou are learning what motors and sensors really doThe roles you want say autonomy or manipulation
Plain Python and a simulatorCareer switchers from web or data workPython, and how to read someone else's libraryYou want the maths before the plumbingThe advert you are targeting names a framework
One vendor's SDKSomeone with access to one specific machineWhatever language that vendor shipsYour target employer builds on that exact platformYou want skills that travel to another company
HORUSRust, Python or C++ builders whose loop misses its timingHow your processes are split across one machineYou already build robots and timing is the blockerYou are starting robotics from scratch

Most of that table is about you, not about software quality. That is the correct way to read it.

Should you learn ROS 2 if you are already a software engineer?

Yes, and you will find the first month harder than you expect, for reasons that have nothing to do with your ability. Web and backend engineers arrive with excellent instincts about abstraction and testing, then hit a wall made of build systems, Linux distributions, environment variables and hardware that lies to you. Nothing in your career so far has prepared you for a sensor whose driver silently reports the wrong units.

The good news is that the second month is much better, and your existing skills then compound fast. Most robotics teams are short of people who write clean code, test it, and understand version control properly. You already are that person. What you are missing is the physical intuition: that a number arriving late is not the same as a number arriving wrong, that a robot behaves differently on carpet, that gravity does not care about your unit tests.

Treat the first month as an apprenticeship in a strange operating environment rather than as learning a library, and it will hurt less.

What hardware do you actually need to learn ROS 2?

A laptop running Linux, and nothing else, for the first two or three months. This is the single most common reason people stall before they start: they decide they need a robot, discover a decent one costs more than a holiday, and quietly give up. You do not need one. A simulator will teach you almost everything about messages, transforms, navigation and debugging, and simulation is where professional teams do much of their work anyway.

Where you do eventually want hardware is the moment your simulated robot works perfectly and you have learned nothing new for a fortnight. Then buy the cheapest thing with wheels, a camera and a motor controller. A small differential-drive base with a single-board computer is enough, and the frustration it causes you is the education you are paying for.

Beware the dual-boot detour. Running Linux inside a virtual machine or a container is fine for learning, and the hours you spend fighting your graphics driver teach you nothing an employer will ask about.

How long until ROS 2 helps you in an interview?

About three months of consistent evenings gets you to the point where you can hold a real conversation about it. The curve is lumpy rather than linear. The first fortnight feels like nothing works. Then something clicks around the time you can start a system of several nodes and see them find each other, and progress speeds up sharply. Getting a navigation stack to drive a simulated robot around a map you built yourself is usually the milestone that makes the whole thing feel real.

Interview-ready is a lower bar than you fear. Nobody expects you to have shipped a product. They want to hear you describe a system you built, name its parts correctly, and explain one thing that went wrong and how you found it. That last part is the whole interview, honestly. If you want a fuller breakdown, how long it really takes to learn ROS 2 walks through the stages in detail.

How much programming do you need before starting?

Enough Python to write a program of a few hundred lines without copying it from somewhere. That is the real bar, and it is lower than most people assume. You need to be comfortable with functions, classes, loops and reading an error message without panic. You do not need C++ on day one, and you do not need to understand pointers, templates or build systems in advance.

What genuinely helps, and what people skip, is command-line comfort. Moving around a Linux filesystem, editing a file over a remote connection, reading a log, understanding what an environment variable is. Robotics work happens on machines you cannot see, and every hour you invest in the terminal repays itself many times.

If you are still deciding between languages entirely, which language to learn for robotics first is a better starting point than this post. Come back once you can write a small program without a tutorial open beside you.

What does it look like when learning ROS 2 goes wrong?

It goes wrong as three months of setup and no robot. The pattern is recognisable from the outside: you have a folder of half-finished tutorials, you have reinstalled your operating system twice, you can recite the difference between two messaging settings you have never knowingly changed, and nothing you own has moved under its own power. The learning has become an end in itself.

The second failure looks different and hurts more. You copy a working demonstration, it runs, you change one number, and it stops working in a way you cannot explain. Because you skipped the part where you built something small from nothing, you have no mental model to debug against, only a config file you are editing at random.

The cure for both is the same and slightly humbling. Build the smallest possible thing that moves, from an empty folder, with no tutorial open. Two nodes, one message, one motor or one simulated wheel. Then break it deliberately and find the break.

What do you give up by choosing ROS 2 first?

You give up several months you could have spent on the parts of robotics that are genuinely hard, and you learn a lot of accidental complexity along the way. A real chunk of your first year will go on build tools, workspace layouts, distribution upgrades and the many ways two processes fail to discover each other over a network. None of that is robotics. It is the tax you pay for the ecosystem, and it is a real cost, not a rumour.

You also risk a subtler thing: learning to reach for a package before you understand the problem. People who arrive through ROS 2 sometimes cannot explain what their navigation stack is doing, because they never had to write one. That gap shows up in interviews, when a good engineer asks why the robot chose that path and the answer is a shrug.

Mitigate both by writing at least one thing yourself. One controller, one filter, one estimator, understood end to end.

When is ROS 2 the better choice?

Almost always, for anyone whose goal is a job. If you want to be hired into robotics within the next year or two, ROS 2 is the better choice than every alternative in this post, and it is not close. Employers screen for it. Colleagues will assume it. Half the open-source code you will want to read is written against it. Choosing anything else as your first framework means arriving at every interview needing to explain a decision, which is a cost you pay repeatedly for no return.

ROS 2 is also the better choice whenever the hard part of your project is perception, mapping, navigation or talking to hardware that already has a driver written for it. That covers most robots most of the time.

HORUS is not the answer to a career question. That kind of middleware addresses message timing on one machine, which is a problem you meet after you already have a robot and a team behind you, not while you are trying to get hired for the first time. Learn the thing employers ask for first.

Is ROS 2 dying, so is learning it a waste?

No, and here is why. The complaint you have read is real but misdiagnosed. People are frustrated with ROS 2 — with its build tooling, with how it behaves on ordinary Wi-Fi, with the amount of configuration between a fresh install and a robot that moves. Frustration in forums reads like decline. It is not the same thing.

What is actually happening is that mature teams increasingly keep ROS 2 for the parts where the ecosystem earns its keep, and replace one specific piece — usually the transport under a tight control loop — with something else. That is a normal shape for a maturing field, and it does not remove ROS 2 from job adverts. It changes what a senior engineer does in year four, not what a junior needs in month one.

Every one of those teams is still hiring people who know ROS 2, because the rest of the system is still ROS 2. Whether ROS 2 is used in industry or only in labs covers who is actually running it.

Does knowing ROS 2 get you hired on its own?

Partly, but not the way you think. ROS 2 on a CV gets you past the first filter and into a conversation. It does not get you an offer, because everyone else in the shortlist has it too. What separates candidates at that point is whether they can debug something in front of another human being.

Interviewers in robotics ask a predictable shape of question: your robot is doing something wrong, walk me through how you find out why. The answer they want involves narrowing the problem down — is the sensor reading right, is the estimate right, is the command right, is the timing right — rather than naming tools. Someone who has genuinely built and broken a small robot answers that well. Someone who has completed tutorials does not.

So learn ROS 2 to get in the room, then spend your remaining time on the maths and the debugging habits that get you the offer. The framework is the entry fee, not the qualification.

How should you decide what to learn in the next three months?

Decide by asking what you want to be doing eighteen months from now, then work backwards from the adverts for that job. Open ten real postings for roles you would actually take, and write down every tool named in them. The list will be short and repetitive, and it will make your decision for you far better than any blog post. If ROS 2 dominates that list, which it usually does, the argument is over.

Then commit to one project instead of many tutorials. Pick a robot behaviour you can describe in a sentence — it drives to a room and comes back, it picks up a block and puts it in a box — and build only that, in simulation, from an empty folder.

If you are weighing this against building your own stack from scratch, when rolling your own actually makes sense is the honest version of that argument for teams.

Here is the decision in six lines.

The HORUS Fit Framework compresses a framework choice into five axes: ecosystem size, setup effort, team size fit, deployment target, and licence. As a learner, ecosystem size outweighs the other four, which is exactly why ROS 2 wins this argument for you and might not win it for your future employer.

When you get to the point where timing, not packages, is what your robot is missing, that is the moment HORUS becomes worth your attention: star it so it is in your list when you start building.

Found this useful? Share it:Discuss on HNShare on X