Senior Embedded Software Engineer

Puck EnterprisesWorthing, SD
Onsite

About The Position

We're looking for a Senior Embedded Software Engineer to lead the design and development of embedded software powering our connected industrial and machine control systems. You'll work in an embedded Linus environment across C++, Qt, and Structured Text (ST), owning technical architecture from hardware-software interfaces down to the UI layer. This is a senior individual contributor role - you'll set technical direction, mentor other engineers, and directly shape how our platforms evolve, while staying hands-on with firmware, application code, and system-level debugging. If you like solving hard problems at the intersection of software, hardware, and controls - and want your work to end up running in real machines in the field - this is that role.

Requirements

  • Bachelor's degree in Computer Engineering, Electrical Engineering, Computer Science, Software Engineering, or related field — or equivalent practical experience
  • 6+ years of professional experience developing production-grade embedded systems
  • Deep proficiency in C++ for embedded applications, including object-oriented design, multithreading, memory management, and performance-conscious development
  • Strong hands-on experience in embedded Linux, including system bring-up, process-level debugging, and device interfaces
  • Experience building UI or application components with Qt in embedded or industrial environments
  • Practical experience with industrial or vehicle communication protocols (J1939, CANBus, Ethernet) and message-based system integration
  • Experience with Structured Text (ST) or comparable IEC 61131-3 programming for control systems or automation
  • Solid grounding in source control, automated testing, debugging tools, and modern team-based development practices
  • Comfort using AI-assisted development tools to improve design, coding, testing, and documentation without sacrificing code quality or judgment
  • Strong debugging and problem-solving skills across software, hardware interfaces, and communication networks
  • Excellent communication skills and the ability to work across software, hardware, systems, and non-engineering teams.

Nice To Haves

  • Low-level Linux development, device drivers, board support packages, or hardware abstraction layers
  • Cross-compilation toolchains, Yocto, Buildroot, or similar embedded Linux build environments
  • Hands-on experience with bus analyzers, logic analyzers, or protocol analyzers
  • Real-time systems, concurrency, and performance optimization in resource-constrained environments
  • Experience integrating software with sensors, actuators, displays, controllers, or other embedded peripherals
  • Knowledge of software safety, reliability, diagnostics, or secure development practices for industrial/vehicle systems
  • Experience with hardware-in-the-loop (HIL), system integration, or validation testing
  • A track record of mentoring engineers and shaping coding standards across teams
  • Familiarity with regulated, industrial, automotive, agricultural, or heavy equipment environments
  • Experience with ASP.NET Core, background services, microservices, or event-driven architectures
  • Experience with Azure services such as App Service, Functions, Azure SQL, Service Bus, Storage Accounts, Key Vault, Application Insights, Monitor, and Entra ID
  • Familiarity with containerization and orchestration technologies such as Docker and Kubernetes
  • Experience with infrastructure as code, environment automation, or configuration management
  • Understanding of observability, distributed tracing, caching, messaging patterns, and performance tuning
  • Experience supporting modernization efforts or cloud migrations
  • Experience mentoring junior engineers or interns
  • Familiarity with AI-assisted development tools for coding, testing, documentation, or productivity
  • Microsoft Azure certifications

Responsibilities

  • Lead the design, implementation, and long-term evolution of embedded software components using C++, QT, and modern engineering practices in an embedded Linux environment.
  • Own technical design for complex embedded systems - architecture, hardware-software interfaces, inter-process communication, device integration, and performance optimization.
  • Build and maintain software for machine, vehicle, or industrial control systems using protocols, and configuration tools.
  • Design UI and application-layer functionality in Qt for operator displays, diagnostics, and configuration tools.
  • Contribute to control logic and automation using Structure Text (ST), collaborating across embedded and controls. domains.
  • Drive engineering quality through code reviews, design reviews, technical standards, and testing strategy.
  • Partner with product, program, QA, and engineering peers to turn requirements into robust software solutions.
  • Lead root-cause analysis on complex field and lab issues spanning software, hardware interfaces, and communication buses.
  • Build and improve automated build, integration, test and release workflows.
  • Mentor engineers and help shape the technical roadmap and long-term architecture of our embedded platforms.

Benefits

  • Competitive pay and benefits, including health, dental, and vision
  • 401(k) with company match
  • Paid time off and holidays
  • Room to grow — mentorship from senior engineers and a clear path to take on more ownership over time
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service