[visionlist] Research Software Engineer for Autonomous Driving Project at MIT

Igor Gilitschenski igilitschenski at mit.edu
Mon Mar 4 10:05:18 -04 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.


QUALIFICATIONS & SKILLS:

Required:
- 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.

Preferred:
- 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.


Applications are evaluated on a rolling basis. Please send me an 
up-to-date CV if interested.

-- 
Igor Gilitschenski, Senior Postdoctoral Associate
MIT - Computer Science and Artificial Intelligence Laboratory
32 Vassar Street | Room 32-379 | Cambridge, MA 02139




More information about the visionlist mailing list