Sr. Motion Planning Engineer
Job description
Sr. Motion Planning Engineer at Embedding Vc.
About the role
You will own the design and delivery of motion planning capabilities for robotic systems operating in production environments. This involves close collaboration with perception, control, and hardware teams to ensure algorithms function correctly within real-world pipelines. You will research and evaluate modern motion planning techniques to guide implementation choices for the robot software stack. The role requires mentoring junior developers and upholding high-standard software development practices across the team. You will validate algorithms in simulation and drive their deployment on physical hardware. Effective communication will be essential to translate complex planning concepts to cross-functional partners. You will proactively identify edge cases and innovate solutions to improve reliability and performance. Your work will directly impact the robustness and scalability of robotic operations in embedded settings.
Key facts
What you'll do
- Investigate and integrate advanced motion planning algorithms with perception and control modules for embedded robotic deployments.
- Evaluate modern motion planning techniques to inform implementation choices and guide long-term software architecture.
- Develop motion planning solutions in C++ and Python, ensuring performance, correctness, and maintainability.
- Utilize ROS and ROS2 along with MoveIt or similar frameworks to enable perception, planning, and control integration.
- Create and maintain simulation-based test environments to validate algorithms before real-world hardware deployment.
- Mentor junior developers on planning concepts, code quality, and debugging strategies within the robotics software stack.
- Collaborate with hardware and control teams to align motion planning behavior with system constraints and operational goals.
- Design modular and scalable planning components that adapt to varying robot configurations and task requirements.
- Analyze execution logs and simulation data to diagnose failures and iteratively improve algorithm robustness.
- Participate in code reviews, architecture discussions, and technical documentation to uphold high software standards.
- Implement optimization-based, sampling-based, and search-based planning methods to address diverse operational scenarios.
- Drive the deployment of motion planning algorithms through the full software lifecycle from prototype to production.
- Partner with cross-functional stakeholders to translate requirements into technical specifications for planning systems.
- Continuously benchmark planning performance and refine algorithms to meet reliability and latency targets.
Requirements
- Demonstrate 4+ years of experience developing, implementing, and testing motion planning algorithms for industrial robot arms.
- Possess strong knowledge of optimization-based, sampling-based, and search-based planning methods.
- Be proficient in C++ and Python for algorithm implementation, testing, and performance analysis.
- Have hands-on experience with ROS/ROS2 and MoveIt or similar frameworks for robotic software integration.
- Have developed and tested motion planning algorithms in simulation environments prior to hardware deployment.
- Communicate effectively in both written and verbal forms to collaborate with engineering and technical teams.
- Be self-motivated, proactive, and confident in initiating innovative solutions to complex planning problems.
- Hold a Bachelor's degree as a minimum educational requirement for the role.
Nice to have
- Experience with mobile manipulators and integrated motion planning, simulation, and real-world deployment scenarios.
- Familiarity with standard robotic frameworks that combine perception, planning, and control workflows.
- Background in simulation environments used for validating algorithms before operating on physical hardware.
- Strong collaboration skills that support effective communication across multidisciplinary engineering teams.
Practical notes
The role is based in Fremont, CA, as a full-time position with competitive compensation and stock. Comprehensive health insurance covers you and your family, and flexible PTO is provided. Regular off-site events and 401K participation are included. Typical interview steps for engineering roles usually start with a recruiter screen, followed by one or two technical rounds. Candidates often solve a coding problem, discuss past projects, and answer system design questions. Some loops include a take-home task. Final rounds typically cover team fit and give candidates a chance to ask questions. Interviewers look for how you break down an unfamiliar problem, not just whether you reach the answer. Practicing a few problems aloud and reviewing your own past projects are the best preparation.
Good to know
Motion planning for mobile manipulators combines algorithms, simulation, and real-world deployment. C++ and Python are commonly used for performance and flexibility in robotic software. ROS and MoveIt provide standard frameworks for perception, planning, and control integration. Simulation environments validate algorithms before operating on physical hardware. Communication skills support collaboration across engineering teams.
Questions to ask
Good questions to ask the employer in the interview: what does success look like in the first six months, how is the team structured, what is the current biggest challenge, and how are decisions made. Asking about growth paths and the review process is also well received. Employers expect questions, and good ones show preparation.
Career growth
Engineering careers usually progress from individual contributor to senior, staff, and principal levels. Some engineers move into management and lead teams of five to twenty people. Others stay on the technical track. Growth follows demonstrated impact, not tenure alone. A typical engineering ladder has clear levels with defined expectations for scope, quality, and mentorship. Moving up usually requires owning outcomes end to end rather than completing assigned tickets.