
Principal Software Engineer
- Minneapolis, MN
- $111,400-172,300 per year
- Permanent
- Full-time
- Serve as a leader for project teams, applying engineering principles, technical knowledge, experience, and research to product development efforts.
- Work with the engineering leadership and program management to estimate and schedule development effort and provide regular updates on project progress to stakeholders.
- Provide mentorship and guidance to other software developers and engineers, as well as contribute to development and refinement of departmental best practices.
- Collaborate with cross-functional teams to gather and analyze requirements, and provide technical expertise and guidance. Conduct code reviews, debugging, and testing of software to ensure high-quality and reliable code.
- Identify and resolve technical issues and challenges related to software development and implementation. Create and maintain technical documentation, including design specifications.
- Experience developing embedded (Linux or RTOS) systems using C/C++.
- Ability to present complex technical information to internal and external customers.
- Experience working on cross functional teams (Hardware, Systems, Software, Production, Supply Chain, etc.).
- Capable of leading technical teams through structured problem solving.
- Ability to debug Hardware/Software interfaces.
- Ability to critique design details against overall product requirements.
- Ability to use CAN interface tools, debuggers and other common diagnostic tools.
- Experience developing embedded (Linux or RTOS) systems using C/C++.
- Debugging software and hardware/software integration issues.
- Must be eligible to work in the U.S. without sponsorship.
- BS in Electrical, Software or Computer Engineering with 7-10+ years of engineering experience.
- Proven track-record in SW architecture, design, implementation in a developer leadership role
- Experience developing embedded (Linux or RTOS) systems using C/C++.
- Experience with requirements management, SCM, and defect tracking tools.
- Some experience with Embedded Linux, board bring-up, kernel modules, drivers, device tree.
- Experience with custom hardware and low-level board bring-up with SPI, UART or I2C.
- R&D and new product development experience strongly preferred.
- Understanding of the Agile development process.
- Experience with Jira, Confluence, and Bitbucket.
- Experience working with and configuring automated build pipelines such as Azure DevOps, or Jenkins
Posted salary ranges are made in good faith. Tennant Co. reserves the right to adjust ranges depending on the experience/qualifications of the selected candidate as well as internal and external equity.
Total Compensation = Base Salary + Benefits
Benefits = A comprehensive benefits package including health insurance, 401(k), profit sharing, disability, life insurance, paid time off, and voluntary benefits!Begin your journey with us. Let's reinvent how the world cleans.Equal Opportunity EmployerTennant 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.