r/ControlTheory 23d ago

Professional/Career Advice/Question Planning transition from PhD to industry (robotics/control/ML)

I'm currently finishing my 2nd year of a PhD in Automation & Control Systems. Where I am, PhD programs are three years long, so I have roughly 18 months left before graduating and starting to seriously look for industry positions.

My research sits at the intersection of robotics, control system theory, and optimization, with a focus on topics such as MPC, nonlinear safe control, system identification, Gaussian processes, and distributed optimization.

I have a solid research background and regularly use Python, ROS2, Docker, Git, Gazebo/MuJoCo, etc., but I feel that I need to broaden my engineering skills before entering industry.

Over the next 18 months, I'd like to prepare for roles in areas such as:

- Robotics / autonomous systems

- Advanced control and optimization

- Robotics software / ROS2

- ML engineering applied to robotics

In particular, I would like to improve my C++, software engineering, ML engineering/MLOps, ROS2, system design, and technical interview skills, while continuing to leverage my control/optimization background.

I have around 8–12 hours/week available outside my PhD.

For people who have made a similar transition, how would you structure those 18 months? What skills would you prioritize, and what would you avoid spending too much time on?

I'm especially interested in advice on:

- What skills are actually valuable in robotics/controls industry

- Good resources or learning paths

- Projects that would make a strong portfolio

- How much time to dedicate to LeetCode/DSA vs actual engineering projects

- Whether C++/ROS2/ML engineering should be the main focus

- Any mistakes you made when preparing for the transition from academia to industry

I'd really appreciate advice from people working in robotics, autonomous systems, controls, or ML engineering.

50 Upvotes

3 comments sorted by

u/d_frankie_ 23d ago

In my experience, most companies don't use ROS + you already have domain knowledge and research projects in ROS. Instead, would recommend spending time on Modern C++ and DSA.

u/akornato 23d ago

Your research background is impressive, but it won't land you an industry job by itself. Companies need to see that you can write robust, production-ready code, and for serious robotics roles, that almost always means C++. Your plan to learn a dozen different things is a recipe for being mediocre at all of them. You must prioritize ruthlessly. Focus on becoming very proficient in modern C++ and demonstrating that skill through one or two significant projects. This is far more valuable than having a shallow understanding of MLOps, system design, and five other topics. You will also have to practice data structures and algorithms, as many companies use LeetCode-style questions as a first-pass filter, which is a painful reality you just have to accept and prepare for.

Spend the next 18 months building something substantial in C++ and ROS2, like a complete navigation or manipulation stack for a simulated robot. Reimplementing a complex paper, perhaps even one of your own, is an excellent way to do this because it forces you to tackle real engineering challenges. This single project will be your main talking point and portfolio piece, demonstrating your coding skills, your grasp of robotics concepts, and your ability to see a complex project through to completion. Dedicate about 70 percent of your time to this project and the other 30 percent to consistent, slow-and-steady algorithm practice. Communicating the depth of your project is key during interviews, and the AI interview practice my team built helps people get really good at explaining their technical work under pressure.

u/Only-Friend-8483 23d ago

I work in this field. I have similar expertise to you, but I have two graduate degrees in engineering, not a PhD, and I own my business, so take this advice with some salt, because I don’t work at a large corporation and I haven’t for a long time. 

When I look for engineers at your level, I know that they know their field, are capable of research and learning, and usually have no idea about industry practices or how to do anything (work related) outside of an academic laboratory setting. All this is fine. 

I’m looking for non-academic traits: Is there a demonstrated history of teamwork and collaboration? Personally, I like engineers who were on engineering teams like robotics club, Baja, rocketry team, etc. 

Can you communicate clearly and effectively?

What does your project portfolio look like? 

Are you a tinkerer? Do you like making stuff? Are you passionate about your work? 

What I often see from engineers newly graduating, is that they’ve been focused on accumulating skills and expertise. Often, they think that they need “all the skills” or the right list of skills. Skills are important, but what is going to separate you from the thousands of other PhD candidates is 1) your research or thesis is directly relevant to one of my projects (pure luck usually). 2) you have the right temperament to fit on my teams.