Sr. Principal Software Engineer - Supervisor (Embedded)

TSI, Inc.Shoreview, MN
$175,000 - $190,000

About The Position

TSI is reimagining their business and customer experience by delivering game changing digital solutions across a variety of market segments. TSI is using leading-edge technologies on a SaaS platform and the Internet of Things (IoT) to solve complex problems. The teams are developing embedded software in C, C++, and .NET running on both RTOS and Linux operating systems for both TSI-designed hardware and commercial off the shelf hardware. System functions include measurement, user interface, local communication, and IoT communication. In order to grow and build a successful career with TSI, you will: Analyze user requirements and architect and develop, test, implement, and support software solutions using programming languages, platforms, frameworks and tools Write code to deliver elegant and scalable solutions, both on-prem and cloud Update existing software applications to enhance functionality, fix issues, and incorporate new features Demand quality—develop in a test-driven manner with automation in mind Define and perform rigorous testing, including unit testing, integration testing, and debugging Collaborate—partner well with a diverse and passionate team Learn—adapt quickly to an evolving market and emerging trends, including outside-of-the-box thinking, teamwork, and self-organization Work with product owners to understand desired application capabilities Continuously improve and document software engineering practices Lead the craftsmanship, availability, resilience, and scalability of your solutions Coach and mentor team members Consider the organization's entire infrastructure when making changes and improvements

Requirements

  • Bachelor’s Degree in Computer Science, Engineering, or related field
  • Extensive experience architecting and delivering embedded Linux platforms, including kernel customization, board support packages (BSPs), and full system bring-up on complex hardware
  • Expertise with Yocto, including creating and maintaining custom layers, optimizing build systems, and managing long-term maintainability of embedded distributions
  • Deep expertise in C/C++ and .NET for low-level systems programming, with a strong track record of diagnosing and resolving complex performance, memory, and concurrency issues
  • Strong background in hardware/software co-design, including working closely with electrical engineering teams and debugging across interfaces such as SPI, I2C, PCIe, and high-speed peripherals, and debugging tools (e.g., GDB, strace, perf) in resource-constrained environments
  • Demonstrated leadership in technical direction and mentoring, including driving architecture decisions, establishing best practices, and guiding teams through complex embedded development lifecycles
  • Experience with DevOps and CI/CD
  • Experience with SOLID principles
  • Unit testing and E2E testing experience
  • Agile experience
  • Willing and excited to learn new technologies
  • Legal authorization to work in the United States without the need for sponsorship.  We require proof of eligibility to work in the United States.

Nice To Haves

  • Mobile application skills a plus

Responsibilities

  • Analyze user requirements and architect and develop, test, implement, and support software solutions using programming languages, platforms, frameworks and tools
  • Write code to deliver elegant and scalable solutions, both on-prem and cloud
  • Update existing software applications to enhance functionality, fix issues, and incorporate new features
  • Demand quality—develop in a test-driven manner with automation in mind
  • Define and perform rigorous testing, including unit testing, integration testing, and debugging
  • Collaborate—partner well with a diverse and passionate team
  • Learn—adapt quickly to an evolving market and emerging trends, including outside-of-the-box thinking, teamwork, and self-organization
  • Work with product owners to understand desired application capabilities
  • Continuously improve and document software engineering practices
  • Lead the craftsmanship, availability, resilience, and scalability of your solutions
  • Coach and mentor team members
  • Consider the organization's entire infrastructure when making changes and improvements
  • Supervise a team of approximately 4-6 employees (e.g., bi-weekly 1:1 meetings, performance reviews, mentoring and coaching, promotion recommendations, monitoring goals and objectives, recognition, etc.)

Benefits

  • Health Insurance: Comprehensive medical, dental, and vision coverage.
  • Retirement Plan: 401(k) with company match.
  • Paid Time Off Program: Paid time off, paid holidays, and paid floating holidays.
  • Other Benefits: Life insurance, employee assistance program (EAP), and professional development opportunities.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service