Robotic Software Engineer
Job Description
Based in Charlotte, NC, this onsite role focuses on designing, developing, and integrating ROS2 based software for unmanned vehicles and defense robotics.
Responsibilities
- Design, develop, and integrate production‑quality software for unmanned vehicle platforms and robotic prototypes, from concept to fielded capability.
- Build and optimize robotic control and autonomy software, emphasizing ROS2, Python, and C++.
- Hands on integration of sensors, actuators, computer hardware, and user devices; provide electrical troubleshooting to ensure field ready performance.
- Integrate adjacent subsystems such as compute modules, battery management systems, chargers, and power/communications interfaces to ensure robust bring‑up and clean data exchange.
- Execute rapid integration projects to stand up new capabilities quickly, iterating under tight timelines to deliver dependable results.
- Manage software repositories with Git, operate in Linux environments, and contribute to disciplined builds, tests, and release practices.
- Approach complex technical challenges methodically and pursue refinements that extend beyond initial specifications.
- Collaborate across multidisciplinary teams, communicate technical details effectively, and produce professional written work.
- Operate with an entrepreneurial mindset, maintaining composure under pressure, and balancing long work weeks with downtime when needed.
Requirements
- Bachelor’s degree in computer science, software engineering, robotics, electrical engineering, or a related technical field.
- 2 to 4 years of professional software engineering experience in a production environment delivering reliable, maintainable code for field use.
- Experience with Android development for robotics and edge compute platforms such as Raspberry Pi and NVIDIA Jetson.
- Proficiency with ROS2, Python, and C++, focusing on building and debugging nodes and sensor/actuator integration.
- Experience with front end development and operator interfaces for teleoperation and unmanned system control.
- Ability to augment development workflows with AI coding tools to accelerate cycles and improve quality and timelines.
- Strong sensor integration experience, including drivers, calibration, and reliable use of data within a robotics software stack.
- Proven CAN bus experience for integrating, debugging, and validating CAN networks in a robotics environment.
- Git proficiency and solid Linux skills, with hands-on experience in software quality practices (unit/integration testing, debugging, code review) and CI/CD workflows.
- Highly independent, capable of defining technical roadmaps and managing deadlines from concept to delivery.
- Clear and confident communicator, able to represent Hendrick effectively in internal and external interactions.
- Thorough approach with a track record of refining products and producing high quality written work.
- Curiosity about defense robotics and a willingness to contribute to its development.
- Understanding of startup or entrepreneurial environments, with dedication to long hours when needed balanced by downtime.
- Team player who collaborates effectively and remains calm under pressure.
Technologies
- ROS2
- Python
- C++
- Android
- Raspberry Pi
- Jetson
- Git
- Linux
- Gazebo
- Ignition
- CAN bus
Benefits
- 401(k)
- 401(k) matching
- Dental insurance
- Health insurance
- Life insurance
- Paid time off
- Relocation assistance
- Tuition reimbursement
- Vision insurance
Bonus Skills & Knowledge
- Experience with robotics simulation tools such as Gazebo and Ignition, and using simulation to speed development and testing.
- Strong understanding of robotics networking concepts, including IP layers.
- Proven track record of developing robotic systems in high reliability environments.
- Experience with tactical and unmanned systems, including ATAK, UGV/UAV autonomy, and custom operator interfaces.
Work Location
- In person — Charlotte, NC
Similar Jobs
L