Software and Controls Engineering Internships

Seeking talented interns to be part of the IHMC Robotics Team to develop software tools for controlling humanoid robots and exoskeletons. We are seeking software interns for several projects, including:

  • Extreme Humanoid Mobility: This project focuses on increasing the mobility of humanoid robots in complex environments. Focuses include multi-contact locomotion, high speed locomotion, contact planning, path planning, and balance algorithms.

  • High-speed Humanoid Behaviors: This project aims to develop autonomous and semi-autonomous behaviors for humanoid robots to perform tasks at high operational tempos in complex settings such as indoor and urban environments. Elements of this include user interface, autonomy architecture and design, and integration of open-source perception packages.

  • Rapid Perception for Locomotion: This effort supports the first two projects in the ability to rapidly perceive and model the environment for humanoid locomotion and behaviors.

  • Improved Exoskeleton Mobility: This focus area centers around assisting with two ongoing exoskeleton projects, the Toyota Mobility Foundation’s Mobility Unlimited Challenge and the 2020 Cybathlon, where the goal is develop an exoskeleton system to enable individuals with paraplegia to perform mobility feats otherwise impossible. Possible tasks include low-level motor integration to high-level trajectory planning and decision making.

  • Algorithms for Assistive Exoskeletons: This project aims to develop the software and algorithms necessary for lower-body exoskeletons to assist able-bodied individuals with tasks such load carrying for extended periods of time.

Internships are available for students who are currently pursuing an undergraduate or graduate degree in engineering, computer science, or related field.

Ideal internship candidates should have the ability to write clean code in Java to the highest standards, have an understanding of advanced object-oriented programming concepts, and have excellent analytical, problem solving, and organizational skills. Applicants must have excellent communication and documentation skills, be self-motivated and function with little micro-management, thriving in both a team and individual environment.

To Apply:  Complete the timed Java challenge at HackerRank by going to the following link:

Please note that the Java programming challenge is difficult and you will be given up to 16 hours to complete it. The challenge contains some straightforward robotics problems, as well as some more complex programming challenges. The challenge cannot be paused, so only begin it when you are ready and have allotted adequate time and brainpower to complete the challenge. In addition, you will be asked to upload your resume to the site during the challenge.

Once you have completed the Java challenge, we require that you submit a PDF of your CV/resume with filename as LastName_Resume and a one-page cover letter. In addition, we ask that you submit a 1 minute video of you discussing either:

  • A robotics project you have worked on in the past.


  • How you solved one of the programming challenges. From the HackerRank programming questions you just completed, choose one for which you can clearly describe your solution.

The purpose of this video is to demonstrate your communication skills. You can see a sample video at: The video should:

  • Introduce yourself (first and last name, etc)

  • Include you talking about your robotic project or your solution to one of the programming challenges

  • Be 1 minute (+/- 15 seconds) in length

  • Have clear audio

To submit the video, please email a link (unlisted or public) to a youTube video. The subject of the email should be: 2020-Software Internship YourLastName YourFirstName

Your score on the Java programming challenge will be factored into your application and is required to apply for this position. Team IHMC develops almost exclusively in Java and therefore new team members must be effective Java programmers. If you are proficient in other programming languages and wish to learn Java, we recommend reading “Thinking in Java” by Bruce Eckel, and installing the Eclipse IDE to quickly get up and running. If you want to practice on programming similar programming challenges, before trying the IHMC challenge, we suggest getting an account at HackerRank and trying out some of their warmup challenges at

Updates to this announcement may appear at


Location: Institute for Human and Machine Cognition (IHMC), Pensacola, FL

IHMC is an Equal Opportunity/Affirmative Action employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, national origin, disability, or protected Veteran status.