You are viewing a preview of this job. Log in or register to view more details about this job.

Senior Machine Learning Software Engineer

iRobot Corporation, with a mission of “empowering people to do more” is at the forefront of the development of robotics and artificial intelligence technologies. iRobot has become one of the world’s preeminent specialist designers and builders of consumer robots. iRobot invests in the development and growth of its people, in a culture of empowerment, innovation and fun. Come work with some of the most talented and influential people in the robotics field utilizing cutting edge technologies, in an exciting, fast-growing industry! 

Our team's mission is to lead the intelligence revolution for robots, leveraging the power of Machine Learning. Join our Machine Learning team to help us build tooling that will help make our robots smarter!

Responsibilities: 

·       Work collaboratively within our machine learning team to build AWS-based solutions for exciting new projects and use-cases. 
·       Refactor an existing web application into testable components
·       Add new features to / Rest Framework–based backend / API and to existing React/Angular-based web frontends. 
·       Work on exciting new frontend capabilities such as visualization/editing of 2D and 3D data. 
·       Write tests to ensure proper functionality of the system. 
·       Write example Python client code / client library that can interact with the system from the command line. 

Must have a strong understanding of: 

·       Python 
·       Django 
·       Django Rest Framework (DRF) 
·       Modern JavaScript front-end frameworks, such as React (preferred) and/or Angular 
·       Relational database concepts (SQL) / Django ORM concepts. 

Ideally, also have experience with: 

·       Infrastructure as code (IaC) with a preference for CloudFormation
·       Experience of deploying Django application in the field (WSGI, load balancing, …) 
·       AWS services (S3, ECS, ...) and how to interact with them via python (boto3). 
·       JavaScript 2D drawing libraries (e.g. Fabric.js) 
·       JavaScript 3D drawing libraries (e.g. babylon.js, WebGL, …) 
·       AngularJS 
·       Python packaging concepts 
·       Docker 
·       Orchestration of Django background tasks (e.g. RabbitMQ/Celery) 
·       Writing Unit Tests / Continuous Integration 
·       Exposure to Data Science/ML/Analytics and common tools, such as Spark/Pandas/Tensorflow