Senior Embedded Software EngineerPuck | Built to Lead.Location: Worthing, SD Department: Engineering Employment Type: Full-Time Schedule: Monday - Friday, 8:00 AM - 5:00 PMWho We AreAt Puck, we are Built to Lead. We are a dynamic manufacturing company committed to delivering high-quality products and fostering a team environment where every member plays a critical role in our success. If you are a technically minded problem-solver who picks up new concepts quickly and thrives when there's always something new to learn, we want to hear from you.What You'll DoAs a Senior Embedded Software Engineer, you will lead the design, development, and integration of complex embedded software systems in an embedded Linux environment using C++, Qt, and Structured Text Language (ST).
This is a senior individual contributor role with accountability for technical direction, architectural decisions, and delivery of reliable software for connected industrial, vehicle, or machine-control systems.Your day-to-day responsibilities will include:Leading the design, implementation, and long-term evolution of embedded software components and applications using C++, Qt, and modern software engineering practices in an embedded Linux environmentOwning technical design for complex embedded systems, including software architecture, hardware-software interfaces, inter-process communication, device integration, and performance optimizationDeveloping and maintaining software for machine, vehicle, or industrial control systems using communication protocols such as J1939 and CANBusDesigning and implementing user interface and application-layer functionality using Qt for operator displays, diagnostics, and configuration tools where applicableContributing to control logic and automation solutions using Structured Text Language (ST) and collaborating across embedded and controls domains as neededDriving engineering quality through code reviews, design reviews, technical standards, testing strategy, and continuous improvement of development practicesPartnering with product, program, QA, and peer engineering teams to translate functional requirements into robust embedded software solutions and delivery plansLeading troubleshooting and root-cause analysis of complex field and lab issues across software, hardware interfaces, networking, and communication busesBuilding and enhancing automated build, integration, test, and release workflows to improve software quality, traceability, and repeatabilityMentoring engineers through technical guidance, design feedback, and knowledge sharing, and contributing to technical roadmaps and architectural decisions that shape long-term embedded platform directionWhat We're Looking ForCompetencies:Technical CapacityProblem Solving/AnalysisCommunication ProficiencyInitiativeCollaboration/TeamworkStrategic ThinkingRequired Education & Experience:Bachelor's degree in Computer Engineering, Electrical Engineering, Computer Science, Software Engineering, or a related technical field — or equivalent practical experience6+ years of professional software engineering experience developing production-grade embedded systemsDeep proficiency in C++ for embedded applications, including object-oriented design, multithreading, memory management, and performance-conscious developmentStrong hands-on experience developing software in an embedded Linux environment, including system bring-up, process-level debugging, and interaction with device interfacesExperience building UI or application components with Qt in embedded or industrial device environmentsPractical experience with industrial or vehicle communication protocols, including J1939 and CANBus or Ethernet, with strong understanding of message-based system integration and diagnosticsExperience with Structured Text Language (ST) or comparable IEC 61131-3 programming used in control systems, PLC integration, or automation environmentsExperience with source control, automated testing, debugging tools, and modern software development practices in a team-based engineering environmentExperience using AI-assisted development tools to improve software design, coding efficiency, testing, and debugging while maintaining code quality and sound technical judgmentStrong debugging, performance tuning, and problem-solving skills across embedded software, device interfaces, and communication networksExcellent communication skills and the ability to collaborate effectively across software, hardware, systems, and non-engineering stakeholdersPreferred Education & Experience:Experience with low-level Linux development, device drivers, board support packages, or hardware abstraction layersExperience with cross-compilation toolchains, Yocto, Buildroot, or similar embedded Linux build environmentsHands-on experience with embedded debugging tools such as bus analyzers, logic analyzers, or protocol analyzersExperience with real-time systems concepts, concurrency, deterministic behavior, and performance optimization in resource-constrained environmentsExperience integrating software with sensors, actuators, displays, controllers, or other embedded peripheralsKnowledge of software safety, reliability, diagnostics, and secure development practices for industrial or vehicle systemsExperience with automated hardware-in-the-loop (HIL), system integration, or validation testingExperience mentoring engineers, shaping coding standards, and influencing engineering practices across multiple teamsFamiliarity with secure software development practices for connected embedded devicesFamiliarity with regulated, industrial, automotive, agricultural, or heavy equipment environmentsSupervisory ResponsibilityThis position has supervisory responsibilities.Physical RequirementsThis is primarily a sedentary role in a professional office environment. Team members must be able to:Sit for extended periods and work on a computer throughout the dayOccasionally stand, walk, and use hands and fingers to handle or feel objects and reach with hands and armsOccasionally lift office products and supplies up to 20 lbs.Work EnvironmentThis role operates in a professional office environment and routinely uses standard office equipment such as computers, phones, photocopiers, and filing cabinets.TravelTravel is primarily local during the business day, although some out-of-area and overnight travel may be expected.RelocationAt this time, relocation assistance is not available for this position. We encourage candidates within a commutable distance of Worthing, SD or those willing to relocate independently to apply.What Puck Offers YouWe believe our team members deserve a benefits package as strong as the products we build.
Full-time team members are eligible for benefits beginning the first of the month following 60 days of employment.Health & WellnessMedical insurance through Wellmark Blue Cross Blue Shield — choice of $2,000 PPO or High Deductible Health Plan (HDHP)Employee-only medical premium starting at $120/monthFree Doctor on Demand virtual visits (covered at 100% on both plans)Dental insurance through Delta Dental of IowaVision insurance through Delta VisionHealth Savings Account (HSA) — eligible with HDHP enrollmentFlexible Spending Accounts (FSA) — Health Care, Limited Purpose, and Dependent Care optionsFinancial ProtectionCompany-paid Basic Life & AD&D Insurance (1x annual earnings up to $50,000)Voluntary Supplemental Life Insurance for employee, spouse, and dependentsVoluntary Short-Term Disability — replaces up to 60% of income (up to $1,500/week)Voluntary Long-Term Disability — replaces up to 60% of income (up to $7,500/month)Voluntary Accident, Critical Illness, and Hospital Indemnity Insurance through Mutual of Omaha401(k) retirement planSupport & Well-BeingEmployee Assistance Program (EAP) through Mutual of Omaha — free, confidential support for emotional
Senior Embedded Software Engineer in worthing at Unknown Company
This position is listed as full time and onsite.