DevJobs

Robotics Software Team Lead

Overview
Skills
  • C C ꞏ 5y
  • Python Python ꞏ 5y
  • Docker Docker
  • RabbitMQ RabbitMQ
  • Containerization
  • Multi-processing
  • Threading
  • C Python PyTest
  • Embedded Linux
  • Message queuing systems
  • Real-time operating systems
  • STM
  • Variscite variants of the ARM cortex family of processors
  • Yocto
  • ZeroMQ

At Fabric, we enable retailers and brands to profitability scale both their online and brick-and-mortar business with a high density, high-throughput automated fulfillment platform. With its proprietary software-driven robotics, Fabric is developing a micro-fulfillment solution that enables businesses to increase their fulfillment capacity and overcome labor scarcity, guarantee accuracy, and meet growing consumer demand. Whether it’s for e-commerce fulfillment in a distribution center, back-of-store fulfillment, or B2B replenishment, Fabric enables brands to control costs while delivering an engaging, branded experience that helps strengthen their customer relationships.


Founded in 2015, Fabric has raised $338 million to date and is backed by Aleph, Corner Ventures, Canada Pension Plan Investment Board (CPPIB), Evolv (Kraft Heinz), Innovation Endeavors, La Maison, Playground Ventures, and Temasek.



Robotics Software Team Lead



We are seeking an experienced Software Development Team Leader to oversee a talented team of engineers within Fabric’s robotics group.

The role involves leading the development of both embedded robotic systems and server-side services that mediate between the robot’s motor controllers and the robot motion algorithmic layer. The ideal candidate will have a strong background both in embedded systems programming and backend development, with the passion and skills to lead a team to successfully solve difficult problems.


Fabric’s robotics group consists of a diverse group of professionals including Mechanical Engineers, Electrical Engineers, Computer Engineers, and software developers - all working together to design, develop and deploy a fleet of robots that power Fabric’s robotic fulfillment centers.



What you'll do:



  • Team Leadership: Lead and manage a team of software engineers and programmers, providing guidance, support, and mentorship. Identify training needs within the team and provide coaching and guidance to enhance their technical skills and knowledge. Foster a culture of learning and professional development within the team
  • Software Architecture and Design: Develop and maintain architectural frameworks for both embedded systems and server-side applications. Ensure software design adheres to best practices and supports scalability and maintainability. Conduct code reviews and enforce coding standards.
  • Project Management: Manage timelines, resources, and priorities for multiple projects. Track project progress and ensure deliverables are met on time and within budget. Identify risks and implement mitigation strategies.
  • Cross-Functional Collaboration: Collaborate with other teams within the robotics group, such as hardware engineering, V&V team and control team, or throughout Fabric, such as the RoboCore group (responsible for coordinating the motion of the robot fleet) and the Delivery team (responsible for operating and servicing the robots at Fabric’s sites). Communicate effectively with stakeholders to understand requirements and provide technical insights.



Who you are:



  • At least 5 years of experience in embedded systems programming, particularly in Python and C
  • At least 2 years of experience leading and mentoring engineering teams, as well as interpersonal skills to collaborate with stakeholders
  • Experience with parallelization schemes such as threading and multi-processing
  • Proficiency in Containerization (Understanding how to containerize and deploy applications using Docker)
  • Bachelor's degree in a relevant field: Software / Electrical Engineering or Computer Science



Advantages:



  • Familiarity with real-time operating systems and embedded Linux, including Yocto.
  • Excellent problem-solving abilities and a strong focus on code quality and testing.
  • A good understanding of electronics, as a basis for hardware debugging skills
  • Ability to prioritize and manage multiple tasks in a dynamic environment.
  • Experience with the following languages, frameworks and modules is an advantage:
  • C
  • Python
  • PyTest
  • Message queuing systems (e.g. RabbitMQ, ZeroMQ)
  • STM and Variscite variants of the ARM cortex family of processors
Fabric