Software Engineer Robotics

Tennant Company•Minneapolis, MN

About The Position

Tennant Company is seeking an experienced Software Engineer to join its Robotics Product Development organization. The role develops, integrates, and supports embedded and connected software systems for robotic cleaning machines and related platforms. The engineer works with Systems, Electrical, Mechanical, Test, and Software Engineers to turn product requirements into robust, maintainable software, with success measured by software quality, reliability, integration effectiveness, timely delivery, and sound engineering practices. The position covers embedded and platform software on machine controllers and companion processing units, connected-system communications, software design and requirements, quality and testing, development processes and tooling, and cross-functional collaboration. The engineer supports new product launches and resolves issues identified during integration, testing, or early production.

Requirements

  • Bachelor of Science in Electrical, Software, or Computer Engineering.
  • At least 3–5 years of professional software engineering experience, including embedded or systems-adjacent development.
  • Hands-on experience developing software using C/C++ and familiarity with Linux and/or RTOS environments.
  • Experience working with requirements, configuration management, and defect tracking tools.
  • Demonstrated ability to debug software and support system-level troubleshooting.
  • Experience working effectively on cross-functional engineering teams.

Nice To Haves

  • Experience in robotics, autonomous systems, or complex electro-mechanical products.
  • Exposure to IoT or connected systems.
  • Experience with scripting or higher-level languages such as Python or C#.
  • Familiarity with communication protocols such as CAN or CANOpen.
  • Experience with unit testing, integration testing, or system verification.
  • Interest in growing technical scope and responsibility over time.

Responsibilities

  • Design, develop, test, and maintain embedded software using C/C++ on Linux and/or Real-Time Operating Systems (RTOS).
  • Contribute to software running on machine controllers and companion processing units.
  • Support board bring-up, hardware/software integration, driver configuration or modification under guidance of senior engineers, and debugging of software and interface issues.
  • Ensure software integrates with electrical, controls, and mechanical subsystems.
  • Develop and support connected and distributed systems, including controller-to-controller communication and Ethernet- and USB-based interfaces.
  • Support implementation of IoT-enabled features within defined architectures, including data exchange and system monitoring, following secure and reliable communication practices.
  • Establish and refine functional requirements and performance targets for assigned features or subsystems.
  • Create and maintain software design documentation, including flowcharts, context diagrams, and interface descriptions.
  • Participate in design reviews and incorporate review outcomes into designs, ensuring alignment with regulatory and product requirements.
  • Debug software, isolate faults, and perform root cause analysis.
  • Participate in unit-level and system-level testing to verify software requirements; follow coding standards and contribute to peer reviews.
  • Execute software development activities through the New Product Development (NPD) lifecycle and contribute to Agile or iterative development.
  • Use configuration management, defect tracking, task management, requirements management, and collaboration tools, and help improve software processes and documentation.
  • Work with Systems, Hardware, Test, Manufacturing, and external partners to resolve integration challenges.
  • Support new product launches and address issues found during integration, testing, or early production.
  • Clearly communicate technical status, risks, and recommendations within the team.

Benefits

  • Multiple medical plan options.
  • 401(k) with a 100% match up to 6%.
  • Paid vacation time.
  • 8 paid company holidays and 3 personal holidays.
  • Dental and vision coverage.
  • Wellness rewards.
  • Family support programs.
  • Company-paid disability and life insurance.
  • Employee Assistance Program.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service