Embedded Software Engineer
Location: Worthing, SD Department: Engineering Employment Type: Full-Time Schedule: Monday - Friday, 8:00 AM - 5:00 PM
What You'll Do
As an Embedded Software Engineer, you will design, develop, and support embedded software solutions using C++, Qt, and Structured Text Language (ST) in an embedded Linux environment. You will independently deliver reliable, production-ready software for connected industrial, vehicle, or machine-control systems and own features through development, testing, integration, and support.
Your day-to-day responsibilities will include:
- Designing, implementing, testing, and maintaining embedded software components and applications using C++ in an embedded Linux environment
- Developing and enhancing user interfaces and application frameworks using Qt for device-based or industrial HMI solutions
- Creating, modifying, and supporting control logic using Structured Text for PLC or automation-related system functionality
- Contributing to software architecture and technical design decisions with attention to performance, reliability, maintainability, and hardware integration
- Integrating software with embedded hardware, communication interfaces, peripherals, and industrial protocols as required by the system design
- Writing clean, well-tested production code and participating actively in peer code reviews and engineering best practices
- Troubleshooting and resolving defects across software, device, and system integration layers, including field or lab debugging when needed
- Supporting build systems, deployment processes, and software version control practices to improve release quality and consistency
- Documenting technical designs, interface behavior, implementation details, and troubleshooting procedures for embedded systems
- Collaborating with cross-functional teams including product, program, QA, and peer engineering teams to deliver integrated embedded software solutions
What We're Looking For
Competencies:
- Technical Capacity
- Problem Solving/Analysis
- Communication Proficiency
- Collaboration/Teamwork
- Time Management
- Initiative
Required Education & Experience:
- Bachelor's degree in Computer Science, Software Engineering, Electrical Engineering, or a related technical field - or equivalent practical experience
- 3-5 years of professional software engineering experience developing production software for embedded or industrial systems
- Strong proficiency in C++ with solid understanding of object-oriented design, memory management, and performance considerations
- Hands-on experience developing applications or interfaces using Qt
- Experience programming in Structured Text Language for automation, control, or PLC-related applications
- Working knowledge of embedded Linux development, including system-level debugging, process management, and interaction with hardware interfaces
- Experience with source control, automated testing, build systems, and standard software development lifecycle practices
- Experience using AI-assisted development tools to improve software design, coding efficiency, testing, and debugging while maintaining code quality and sound technical judgment
- Strong debugging and problem-solving skills across software, device, and system integration environments
- Ability to work independently on defined technical problems while collaborating effectively within a multidisciplinary engineering team
- Clear written and verbal communication skills
Preferred Education & Experience:
- Experience with multithreaded application development, inter-process communication, and performance optimization in Linux-based systems
- Practical experience with industrial or vehicle communication protocols including J1939 and CANBus or Ethernet, with strong understanding of message-based system integration and diagnostics
- Familiarity with cross-compilation toolchains, Yocto, Buildroot, or similar embedded Linux build environments
- Understanding of real-time or near-real-time software behavior and system resource constraints
- Experience with hardware bring-up, board support packages, or low-level debugging tools
- Experience building UI or application components with Qt in embedded or industrial device environments
- Experience with automated test frameworks, scripting, or simulation tools for embedded software validation
- Experience mentoring junior engineers or supporting cross-functional knowledge sharing
- Familiarity with secure software development practices for connected embedded devices
- Familiarity with regulated, industrial, automotive, agricultural, or heavy equipment environments
Physical Requirements
This 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 day
- Occasionally stand, walk, and use hands and fingers to handle or feel objects and reach with hands and arms
- Occasionally lift office products and supplies up to 20 lbs.
Work Environment
This role operates in a professional office environment and routinely uses standard office equipment such as computers, phones, photocopiers, and filing cabinets.
Travel
Travel is primarily local during the business day, although some out-of-area and overnight travel may be expected.
Relocation
At 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 You
We 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 & Wellness
- Medical 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/month
- Free Doctor on Demand virtual visits (covered at 100% on both plans)
- Dental insurance through Delta Dental of Iowa
- Vision insurance through Delta Vision
- Health Savings Account (HSA) - eligible with HDHP enrollment
- Flexible Spending Accounts (FSA) - Health Care, Limited Purpose, and Dependent Care options
Financial Protection
- Company-paid Basic Life & AD&D Insurance (1x annual earnings up to $50,000)
- Voluntary Supplemental Life Insurance for employee, spouse, and dependents
- Voluntary 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 Omaha
- 401(k) retirement plan
Support & Well-Being
- Employee Assistance Program (EAP) through Mutual of Omaha - free, confidential support for emotional, legal, financial, and personal well-being available 24/7/365
Ready to Join the Team?
Apply today at www.puck.com/careers or contact our HR team:
Puck | Built to Lead.