Lead SW architecture design and maintenance for Tennant’s new and existing software platforms. Focus on key elements such as reusability, scalability, maintainability, and security
Work closely with the product managers, architects, and other cross-functional stakeholders to translate overall product portfolio requirements into well-designed, implemented, and documented software
Participate in iterative software development process, includes scoping, detailed design, estimation, coding, testing, debugging, maintenance and support
Lead/Participate in Design Reviews. Establish functional requirements and performance targets for SW designs
Design systems to meet regulatory requirements
Own departmental efforts to ensure SW quality. Lead the adoption of best-in-class software engineering practices, frameworks, and tools. Provide guidance and feedback to other software developers.

Must be eligible to work in the U.S. without sponsorship
BS in Electrical, Software or Computer Engineering with 12+ years of engineering experience
Proven track-record in SW architecture, design, implementation in a developer leadership role
Experience building IoT systems, collaborating with internal groups and external vendors
Experience developing embedded (Linux or RTOS) systems using C/C++
Experience with requirements management, SCM, and defect tracking tools.

MS in Electrical, Software or Computer Engineering
Experience with wireless technologies (Wi-Fi, Bluetooth, Cellular)
Experience with networking protocols (MQTT, COAP, TCP/IP, UDP, TLS)
Experience with IoT security implementation (hardware, communication, cloud)
Experience using cloud computing platforms (ex. AWS) and services
Experience working on cross functional teams (Hardware, Systems, Software, Vendors, Production, Sourcing, etc.) in all phases of system development and qualification
Some experience with communication protocols, such as CANOpen, etc. is a plus
Some experience with power electronics/systems, and closed loop control systems is a plus
Experience with requirements management tools (JAMA), defect tracking tools (JIRA) and SCM tools (Subversion and Git).

Ability to present complex technical information to internal team members & external customers
Creative, dynamic team player, able to lead small cross functional groups
Ability to work effectively in an innovative, fast-paced environment. Strong multi-tasking ability
Ability to drive change and adoption of practices/tools that improve SW quality and efficiency
Ability to lead and mentor junior engineers and designers throughout the development cycle
Capable of leading technical teams through structured problem solving. Ability to drive root cause identification and corrective action leading to timely resolution
Ability to debug Hardware/Software/Cloud interfaces.