What are the responsibilities and job description for the Software Engineer position at HDT Global?
Join a team creating novel robotic & mechatronic devices for diverse applications in military, medical, & scientific research fields. Participate in all aspects of control systems design & embedded software engineering including architecture definition, requirements analysis, design, implementation, test, & documentation. Software ranges from low level device drivers & motor commutation to communications, power management & high-level applications controlling robotic devices. Must be comfortable with hands-on debugging that spans the mechanical, electrical, & control system domains typical of robotic systems. Must be able to work independently; to lead software development projects of moderate to high complexity & to work in a highly-collaborative, multi-disciplinary team environment.
ESSENTIAL DUTIES, RESPONSIBILITIES, & SKILLS:
- C/C /Python software development
- Experience with ROS (Robot Operating System)
- Proficiency with Git/Github
- Real-time programming under Linux
- Familiarity with Linux command line tools
- Design and implementation of control algorithms
- Experience with Matlab/Octave/Python (NumPy/SciPy/Matplotlib)
- Development of device drivers and board support packages
- Experience with communications protocols and peripherals (RS232/422/485,CAN, TCP/IP, etc.)
- Familiarity with instrumentation & tools required for debug, test and integration of embedded systems, including oscilloscopes, logic analyzers, etc.
- Ability and desire to learn new concepts and skills quickly
- Experience with motor control and sensor interfacing
- Experience with electronics design (Altium or similar) is desired
- Supports, communicates, reinforces and defends the mission, values and culture of the organization
- Adheres to all quality and safety standards
- Supports other projects and performs duties as assigned
- Guide junior engineers across disciplines
DESIRED SKILLS:
- Experience with motion planning
- Experience with unmanned ground vehicles
- Experience with localization, mapping, and autonomous navigation
- Experience with software safety
EDUCATION/EXPERIENCE:
- BS/MS/PhD in Robotics, Mechanical or Electrical engineering, Physics or a related field.
- At least 5 years’ experience