Sign up to access all features of our service.
  • Job search
  • Favorites
  • Create a CV
    New
  • Salaries
  • Subscriptions

Senior Embedded Software Engineer

Puck Enterprises

Job Description

Job Description

Senior Embedded Software Engineer 

Location: Worthing, SD   Department: Engineering    Job Type: Full-Time 

About Puck 

Puck started with a family, a few acres in Manning, Iowa, and a habit of building better tools than the ones on the market. Since then we've grown into a family of manufacturing brands serving agriculture, oil and gas, fire, and industrial markets - engineering equipment that's used hard, in the field, everyday. We're Built to Lead, and that shows up in how we build products and how we build careers: we invest in people, push for continuous improvement, and don't cut corners. 

About the Role

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. 

What You'll Do 

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

What You Bring 

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

  • 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

Why Puck 

  • Competitive pay and benefits, including health, dental and vision
  • 401(k) with company match 
  • Paid time off and holidays 
  • A family-owned company where your work directly shapes machines used in the field - not just a slide deck. 

Puck is an Equal Opportunity Employer 

Vacancy posted more than 2 months ago

Do you want to receive more vacancies?

Subscribe and receive similar vacancies to Senior Embedded Software Engineer. Be the first to apply!