×
Register Here to Apply for Jobs or Post Jobs. X

Software Engineer, Robotics

Job in Minneapolis, Hennepin County, Minnesota, 55400, USA
Listing for: Tennant Company
Full Time position
Listed on 2026-05-05
Job specializations:
  • Software Development
    Software Engineer, Embedded Software Engineer
Salary/Wage Range or Industry Benchmark: 60000 - 80000 USD Yearly USD 60000.00 80000.00 YEAR
Job Description & How to Apply Below

With more than $1B in revenue, Tennant Company is a globally recognized leader in the cleaning equipment industry. For the past 150 years, we have been passionate about developing and manufacturing innovative and sustainable solutions for our customers. At Tennant Company, we are committed to stewardship and creating a cleaner, safer and healthier world. With manufacturing, operations and sales, service, and support functions across the globe, your journey at Tennant can take you places you never expected.

Tennant Company is developing advanced robotic and connected cleaning platforms that operate in complex, real-world environments. We're looking for an Experienced Software Engineer who enjoys working close to the hardware, thrives in cross-disciplinary teams, and wants to see their code running on physical machines used every day.

In this role, you'll develop embedded and connected software systems that power robotic products—from machine controllers to communication interfaces—working alongside systems, electrical, mechanical, and test engineers. Your work will directly impact product reliability, performance, scalability, and customer experience.

This is an excellent opportunity for a hands‑on engineer who values quality, enjoys debugging complex systems, and wants to grow toward senior or technical‑lead responsibilities.

What You'll Do Embedded & Platform Software Development
  • Design, develop, test, and maintain embedded software in C/C++ running on Linux and/or RTOS platforms.
  • Contribute software for machine controllers and companion processing units.
  • Support key low‑level activities such as:
    • Board bringup and hardware/software integration
    • Driver configuration or modification (with guidance from senior engineers)
    • Debugging complex software and hardware interface issues
  • Ensure clean integration with electrical, controls, and mechanical subsystems.
Connected Systems & Communications
  • Develop and support software for distributed and connected systems, including:
    • Controller-to-controller communication (CAN, CANO

      pen)
    • Ethernet and USB-based interfaces
  • Support implementation of IoT-enabled features such as data exchange, monitoring, and diagnostics.
  • Apply best practices for secure, reliable, and maintainable communication.
Software Design & Requirements
  • Define and refine functional requirements and performance targets for assigned features or subsystems.
  • Create and maintain clear software documentation, including interface definitions, diagrams, and design descriptions.
  • Participate in software and system design reviews—both giving and receiving constructive feedback.
  • Ensure designs align with product, safety, and regulatory requirements.
Quality, Testing & Debugging
  • Write software with a strong focus on quality, robustness, and long‑term maintainability.
  • Perform debugging, fault isolation, and root‑cause analysis across software and system boundaries.
  • Participate in unit-level and system-level testing to verify software behavior.
  • Follow coding standards and actively participate in peer reviews.
Development Process & Tooling
  • Execute development tasks throughout the New Product Development (NPD) lifecycle.
  • Work within Agile or iterative development processes as a contributing team member.
  • Use modern engineering tools for:
    • Version control and configuration management (e.g., Bitbucket or similar)
    • Task and defect tracking (Jira)
    • Requirements management and collaboration (Visure or similar)
  • Contribute ideas to improve software processes, tooling, and documentation.
Cross-Functional Collaboration
  • Work closely with Systems, Electrical, Mechanical, Test, Manufacturing, and external partners.
  • Support product launches and address issues found during integration, validation, or early production.
  • Clearly communicate technical status, risks, and recommendations within the team.
What You Bring

Required Qualifications
  • BS in Electrical Engineering, Software Engineering, Computer Engineering, or related field.
  • 3‑5 years of professional software engineering experience, including embedded or systems‑adjacent work.
  • Hands‑on development experience using C/C++.
  • Familiarity with Linux and/or RTOS environments.
  • Experience using requirements, configuration…
To View & Apply for jobs on this site that accept applications from your location or country, tap the button below to make a Search.
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).
 
 
 
Search for further Jobs Here:
(Try combinations for better Results! Or enter less keywords for broader Results)
Location
Increase/decrease your Search Radius (miles)
0
200
Filters
Education Level
Experience Level (years)
Posted in last:
Salary