[robotics-worldwide] [jobs] Research Software Engineer for Self-Driving Project at MIT

rus rus at csail.mit.edu
Fri Feb 22 07:52:22 PST 2019

 <>Experienced Research Software Engineer Wanted 
for MIT CSAIL Autonomous Driving Project

Project Overview:
The Computer Science and Artificial Intelligence Laboratory at MIT is seeking an exceptional Research Software Engineer to help lead the software development effort in our research initiative in partnership with Toyota. This initiative aims to develop new technologies for autonomous driving and advanced driver assistance systems. We focus on developing advanced decision-making algorithms and systems that allow vehicles to perceive and navigate their surroundings safely, enabling autonomous driving and/or a parallel autonomy to augment a human driver. The project is led by Daniela Rus, Sertac Karaman, and Igor Gilitschenski.

Position Overview:

The Research Software Engineer will work towards the development and integration of autonomous navigation technologies for our platforms involving miniature race-cars, autonomous wheelchairs, and two full-scale autonomous vehicles. S/he will be responsible for both, leading the overall system design as well as implementation, deployment, and maintenance of our software stack. This will involve deployment of new sensing and control hardware in collaboration with a hardware and systems engineer and jointly carrying out experiments with MIT researchers at all levels.

Principal Duties:

●      Modify existing software stack to improve software design, implement new functionality, and adapt to new hardware, sensors, platforms, and requirements.

●      Develop software tests to verify capabilities and performance of systems.

●      Evaluate new software packages to determine feasibility and desirability of incorporating its capabilities within autonomous driving.

●      Support in-vehicle integration/debugging and on-road testing and data collection efforts.

●      Mentor Junior Engineers, students and other members of the research team by providing guidance throughout the development cycle and reviews of developed code modules.

●      Maintain an up to date awareness of relevant best practices in software engineering, sharing new developments with team members and implementing as appropriate.

●      Research new algorithms and frameworks to drive the state of the art perception and control.

●      Develop technical specifications and documentation.

●      Establish goals and remain on schedule, collaborating with team members to move the project to meet its objectives, even at times when there is no supervision or guidance.

●      Other duties as needed, required, or assigned.



●     Bachelor’s Degree in Computer Science, Robotics, Engineering, or a related field.

●     Experience in robot navigation algorithm development involving deployment of perception, planning, and control algorithms on robotic platforms.

●     Prior professional experience in design methodologies, design patterns, and architecture of large and complex software systems.

●     Knowledge of modern software development practices (continuous integration, style guides, code reviews) and tools (such as GIT, CMake, Jenkins).

●     Proficiency in C++ and Python with a good understanding of Object Oriented Design, data structures, and language constructs.

●     Knowledge of Linux and development on Linux systems.

●     Experience with ROS (Robot Operating System).

●     Excellent interpersonal and relationship management skills that promote teamwork, collaboration, and cooperation amongst a wide diversity of faculty, staff, students, and external stakeholders.

●     Excellent verbal and written communication and presentation skills. Must be able to communicate collaboratively at the highest technical levels with vendors, partners, and all levels of MIT staff.

●     Strong project management and leadership skills; a demonstrated ability to coordinate software development efforts among multiple technical members as well as launch and deliver IT projects on time and within budget.

●     Strong analytical and problem-solving skills.

●     Ability to work evenings, nights, and weekend as required in order to attend relevant meetings and teleconferences.

●     Ability to deal with confidential information and/or issues using discretion and judgment.



●      MS or Ph.D. in Computer Science, Robotics, Engineering, or a related field.

●      5+ years of professional experience in the full software development cycle (requirements analysis, conceptual and functional design, implementation, testing, and deployment).

●      Experience with simulation environments such as Gazebo, Carla, or AirSim.

●      Knowledge of  state-of-the-art Deep Learning frameworks, particularly PyTorch and Tensorflow.

●      Knowledge of computer vision algorithms (particularly for object detection, target tracking, navigation, and scene understanding) and related libraries (particularly OpenCV, pcl, and Open3D).

●      Hands-on experience with real-world deployment of robotic perception algorithms and software packages such as cartographer, DSO, Maplab, ORB-SLAM, ROVIO, or SegMap.


Prof. Daniela Rus
Director, CSAIL
Andrew (1956) and Erna Viterbi Professor, EECS

More information about the robotics-worldwide mailing list