puck

puck

Senior Embedded Software Engineer

Worthing, South Dakota · Senior · Full-time

Sponsorship not specifiedDetected 5 days ago
C++Code ReviewLinuxEmbedded SystemsElectrical EngineeringControlsTest AutomationCommunicationProblem SolvingMentoringActuators

About the role

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

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

Requirements

  • Bachelor's degree in Computer Engineering, Electrical Engineering, Computer Science, Software Engineering, or related field - or equivalent practical experience
  • 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
  • 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
  • Excellent communication skills and the ability to work across software, hardware, systems, and non-engineering teams.
  • 6+ years of professional experience developing production-grade embedded systems
  • Experience building UI or application components with Qt in embedded or industrial environments
  • 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

Nice to have

  • 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
  • 401(k) with company match

Skills

  • We're Built to

This listing is sourced directly from puck's careers page and normalized into a canonical job model.