About this role
Location: United States - Minneapolis, MN
Pay: $85,200 - $127,600
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.
We are seeking an Experienced Software Engineer to join the Tennant Company (TNC) Robotics Product Development organization. This role focuses on the development, integration, and support of embedded and connected software systems that power robotic cleaning machines and related platforms.
The Software Engineer works closely with Systems, Electrical, Mechanical, Test, and other Software Engineers to translate product requirements into robust, maintainable software solutions. Success in this role is measured by software quality, reliability, integration effectiveness, and the ability to deliver features on schedule while adhering to sound engineering practices.
Key Responsibilities
Embedded & Platform Software Development
- 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 activities such as:
- Board bring‑up and hardware/software integration
- Driver configuration or modification under guidance of senior engineers
- Debugging software and hardware/software interface issues
- Ensure software integrates cleanly with electrical, controls, and mechanical subsystems.
Connected Systems & Communications
- Develop and support software that interfaces with connected and distributed systems, including:
- Controller‑to‑controller communication (CAN, CANOpen)
- Ethernet and USB‑based interfaces
- Support implementation of IoT‑enabled features under defined architectures, including data exchange and system monitoring.
- Follow established practices for secure and reliable communications.
Software Design & Requirements
- Establish and refine functional requirements and performance targets for assigned software features or subsystems
- Create and maintain software design documentation, including flowcharts, context diagrams, and interface descriptions.
- Participate in design reviews, providing constructive feedback and incorporating review outcomes into designs.
- Ensure software designs align with regulatory and product requirements.
Quality, Testing & Debugging
- Develop software with a strong focus on quality and maintainability.
- Perform software debugging, fault isolation, and root cause analysis.
- Participate in unit‑level and system‑level testing, supporting verification of software requirements.
- Follow coding standards and contribute to peer reviews.
Development Process & Tooling
- Execute software development activities through the New Product Development (NPD) lifecycle.
- Participate as a contributing team member in Agile or iterative development processes.
Use established tools for:
- Configuration management (Bitbucket or similar)
- Defect tracking and task management (Jira)
- Requirements management and collaboration (Visure or similar)
- Contribute to improving software processes and documentation over time.
Cross‑Functional Collaboration
- Work closely with Systems, Hardware, Test, Manufacturing, and external partners to resolve integration challenges.
- Support new product launches and help address issues discovered during integration, testing, or early production.
- Communicate technical status, risks, and recommendations clearly within the team.
Education & Experience
- Bachelor of Science in Electrical, Software or Computer Engineering.
- Minimum 3–5 years of professional software engineering experience, including embedded or systems‑adjacent development.
- Hands‑on experience developing software using C/C++; 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.
Preferred
- 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.
Key Attributes for Success
- Strong hands‑on software engineer with solid fundamentals and curiosity.
- Comfortable working in complex systems and learning new technologies.
- Quality‑focused, with attention to detail and follow‑through.
- Collaborative team member who communicates clearly across disciplines.
- Motivated to grow toward senior or lead software engineering roles.
Total Compensation = Pay range + Benefits
Posted salary ranges are made in good faith. Tennant Sales and Service Co. reserves the right to adjust ranges depending on the experience/qualifications of the selected candidate as well as internal and external equity. The salary range reflects both entry into the role and future growth. Total Compensation = Base Salary + Benefits
Benefits = A comprehensive benefits package including 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, robust family support programs, company‑paid disability and life insurance, and a full Employee Assistance Program.
Defining Our Employee Value Proposition
At Tennant Company, we…
Discover fulfilling work with opportunities for growth and meaningful recognition.
Drive the quality and innovation our customers rely on in our products and services.
Connect with people who care about each other, our brands and our communities.
These are the principles that define how our employees experience Tennant Company, make Tennant a great place to grow your career, and are at the core of our legacy and future. Together, they serve as guideposts for working with our customers, our partners and one another.
Begin your journey with us. Let's reinvent how the world cleans.
Equal Opportunity Employer
Tennant Company is an equal opportunity employer. Employment decisions are made on the basis of individual skill, ability, reliability, productivity, and other factors important to performance. We do not discriminate on the basis of race, color, creed, religion, sex, national origin, physical or mental disability, age, veteran status, pregnancy, sexual orientation, genetic information, gender identity, or any other basis protected by state or federal law or local ordinance.