Principal Software Engineer, Robotics

Tennant CompanyMinneapolis, MN
Onsite

About The Position

Tennant Company is seeking a Principal Software Engineer for its Robotics Product Development team. This senior technical leadership role focuses on shaping the software architectures for cleaning robots, bridging embedded systems, machine-level software, and connected architectures. The engineer will define and drive software architectures from low-level hardware interfaces to secure, connected systems, mentor engineers, and influence the technical direction of the robotics portfolio. The impact of this role is visible across multiple generations of robotic products, accelerating development velocity while maintaining technical excellence, safety, and compliance.

Requirements

  • Bachelor’s degree in Electrical, Software, or Computer Engineering.
  • Minimum of 7 years of relevant engineering experience with deep expertise in software architecture, design, and implementation.
  • Proven success in senior technical leadership roles influencing architecture and execution across teams.
  • Strong embedded systems experience with Linux or RTOS, using C/C++.
  • Hands-on experience with requirements management, source control, and defect tracking tools.
  • Demonstrated ability to debug complex system-level hardware/software interactions.

Nice To Haves

  • Master’s degree in Electrical, Software, or Computer Engineering.
  • Background in robotics, control systems, or power electronics.
  • Experience driving adoption of improved engineering practices at scale.
  • Experience designing and deploying IoT and connected systems, including security and cloud integration (e.g., Azure).

Responsibilities

  • Own and evolve the software architecture for new and existing autonomous and robotic cleaning machines.
  • Establish architectural direction emphasizing scalability, reuse, performance, maintainability, and security.
  • Act as a technical authority across embedded and connected domains, including collaboration with external partners on third-party controllers.
  • Partner with Product Management, Systems Engineering, and other architects to translate portfolio-level requirements into executable software designs.
  • Lead development of embedded platforms using C/C++ on Linux and/or RTOS.
  • Provide hands-on technical leadership in board bring-up, kernel configuration, device trees, driver development, hardware abstraction layers, and debugging complex hardware/software interfaces.
  • Ensure clean integration with controls, electrical, and mechanical subsystems.
  • Guide communication architectures across controllers using CAN, CANOpen, Ethernet, and USB.
  • Define and promote best practices across embedded, communication, and connected software.
  • Design systems that meet regulatory and compliance requirements for robotics and connected products.
  • Lead program-level quality initiatives including coding standards, architecture and peer reviews, advanced debugging, fault isolation, and root cause analysis.
  • Lead software development through the New Product Development (NPD) lifecycle.
  • Balance architectural rigor with execution speed in a fast-moving product environment.
  • Provide leadership across requirements management and traceability, source control (Bitbucket), defect and workflow management (Jira), and CI/CD pipelines and automated builds (Azure DevOps).
  • Collaborate closely with Hardware, Systems, Test, and Manufacturing teams from concept through qualification.
  • Lead and participate in design reviews to ensure alignment with system-level requirements.
  • Mentor engineers at all levels, raising the technical bar and fostering strong engineering culture.
  • Communicate complex technical concepts effectively to both technical and non-technical stakeholders.

Benefits

  • health insurance
  • 401(k)
  • disability
  • life insurance
  • paid time off
  • voluntary benefits
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service