[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