5 ms·
Robotics is very niche and the market is dominated by early stage startups (since most of them go out of business a few years in), so salaries are average unles
by DoctorDabadedoo 3y ago
Robotics is very niche and the market is dominated by early stage startups (since most of them go out of business a few years in), so salaries are average unless you are working specific jobs for FAANG. Job hoping usually means moving elsewhere, since working close to the hardware makes it much easier, which in turn means having a good picture of what is a competitive salary sometimes is not obvious.
source: I work in robotics. AMA.
- badpun 3y agoThanks for the AMA! Do you see a lot of opportunities for people utilizing computer-vision based SLAM (aka Structure from Motion)? I quite like that technique, but it seems too niche to make a consistent career out of it.
- jpace121 3y agoComputer vision based SLAM definitely has use cases and you can definitely make money applying it at the right companies to the right set of problems. Building a whole career around a single technique, any technique, probably is probably not gonna work. You need to be broader than that.
- 0xfaded 3y agoI work for a self driving doing mapping. There are definitely roles out there, more broadly look into other areas of state estimation. It gets interesting when these systems need to be productionized and scaled. A strong software engineer who can speak the math is invaluable. My first year on the job was basically removing N^2 loops and making 3D visualizations.
- DoctorDabadedoo 3y agoSLAM and localization in general are early bottlenecks in mobile robotics solution, unless the core business of the product is localization itself (e.g. waymo, cruise, etc.) it's not uncommon for that to take a back seat during product development later on. In my experience lidar based solutions are more common out there due to their "simplicity" and safety for industrial applications (i.e. PL-rated) You certainly can work with visual slam in the industry, but the job pool for that is not very big, I would say.
- moffkalast 3y agoWhat kind of robotics? It's a pretty wide field.
- DoctorDabadedoo 3y agoMobile robotics, slam/localization and robotics backend.
- moffkalast 3y agoAh neat, then I do have an actual question for you. If you're using ROS 2, which version and middleware? And does it work reliably in your application? I feel like lots of companies have ditched ROS 1 only because of support being cut and cargo culting about how ROS 2 is better for unclear reasons, but in practice it feels anything but production ready to me. Everyone talks big how Zenoh will solve everything, but the thing is a damn prototype and really goes against the whole idea that having a DDS will be somehow better instead of just adding absurd overhead in both CPU and networking.
- DoctorDabadedoo 3y agoI'm using ROS 1 Noetic on Ubuntu Focal at my current job. I've touched ROS 2 back in 2019 during the Crystal Clemmys era but it still felt experimental back then (and I believe still was considered beta), I plan to re-evaluate later this year/early 2025 how stable ROS 2 is now. ROS 2 is better in some aspects that weren't accounted for back when ROS 1 was developed (which started as research platform), mainly distributed systems (multi-robot environments) and good tech developed elsewhere that the system could benefit from. My personal take is that there is a lot of hit and miss between versions, no guarantee that what works now will work on the next one due to the decentralized nature of the community and the fact the team developing all this is relatively small. I would love to have a way to do small iterations on my own stack to bring it to the latest and greatest ROS release, but the combo of ROS 2 + major Ubuntu upgrade every 2 years is maybe too much for my own peace of mind.
- 3y ago
- penjelly 3y agohow would you recommend a software dev break into the industry over the next 3-5 years? Preferably without going back to university. What sorts of projects are best to focus on initially?
- DoctorDabadedoo 3y agoRobotics is a broad field and is a confluence of many specialties: mechanical engineering, hardware engineering, software engineering, control, machine learning, computer vision, anything in between is a good entrance. Coming from software, if you are interested, I would suggest either: - Backend platform development (Python, C++ as main programming languages with a strong focus on ROS[1]). - Frontend development (nothing too different from what's out there). As small projects I would suggest playing with ROS to learn it and getting a running simulation with a simple robot that you can teleoperate, most of the stack already exists, it's just connecting everything together [2]. Another venue is open source contribution [1] to get known within the community and potentially attract interest from companies. ROS has multiple packages, from cloud infrastructure to drivers and simulation, if you see anything there you could contribute to, they will gladly take contributions. In general robotics greatly benefits of good technologies from other areas, if there is a tool we use you believe could be better or a lack of good tooling in a specific area, it will get noticed. So this would be my suggested path: learn C++/Python if you're not familiar with, learn ROS and watch which specialties appear more often in robot related jos posts [3]. If you are really invested, maybe go to a robotics conference as ROSCon to meet other enthusiasts, which companies are engaged with the community, etc. Good luck! Note: not everything robot related is done in ROS, but it's almost a standard within the field save for a few exceptions. [1]: https://www.ros.org/ https://www.ros.org/ [2]: http://wiki.ros.org/ROS/Tutorials http://wiki.ros.org/ROS/Tutorials [3]: https://discourse.ros.org/c/jobs/15 https://discourse.ros.org/c/jobs/15
- Animats 3y ago> not everything robot related is done in ROS, but it's almost a standard within the field save for a few exceptions. In academia, yes. ROS is a piece of middleware for passing messages around, and a standard for talking to it. Funding agencies pushed academic robotics projects to talk to ROS so that results from different projects could interoperate. Which they sort of do. You get a lot of tooling for logging, user interfaces, wiring things up, etc. Think of it as a solderless breadboard for robotics software. The final product probably doesn't use it.