Jobs · Engineering · Minnesota

Principal Software Engineer, Robotics

Tennant Company · Golden Valley, MN · 3 wk ago
Engineering$114k–$176k/yrFull-time

About the role

This is a senior technical leadership role for an engineer who thrives at the intersection of embedded systems, machine-level software, and connected architectures. You'll define and drive the software architectures that power complex robotic platforms—from low-level hardware interfaces to secure, connected systems—while mentoring engineers and influencing the technical direction of our robotics portfolio.

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, and device trees
    • Driver development and hardware abstraction layers
    • 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)
    • CI/CD pipelines and automated builds (Azure DevOps)
  • Cross-functional leadership & mentorship:
    • 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.

Qualifications

  • 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.

Preferred Experience

  • 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).

Benefits

A comprehensive benefits package including health insurance, 401(k), disability, life insurance, paid time off, and voluntary benefits!

Pay

Competitive base salary commensurate with experience: $113,600 - 175,700.

Schedule

Not specified.

Similar jobs