Senior Software Engineer
Nordson Industrial Coating Systems · South Carolina, United States · 2 wk ago
EngineeringFull-time
About the role
The Senior Software Engineer designs, develops, and maintains embedded software for industrial control systems, operating with a high degree of autonomy and technical ownership. This role serves as a technical leader within the development team, providing advanced expertise in embedded systems, real-time operating systems, and industrial communication networks.
Responsibilities
- Lead the design, development, integration, and testing of embedded software solutions for industrial control products.
- Serve as technical owner for assigned features, subsystems, or products throughout the entire development lifecycle.
- Contribute to and influence system and software architecture decisions, ensuring scalability, reliability, and maintainability.
- Conduct design and code reviews and provide technical guidance and best-practice recommendations to other engineers.
- Develop and review software requirements, design documentation, verification and validation plans, and build procedures.
- Support hardware bring-up, system integration, and troubleshooting at both the subsystem and system level.
- Provide technical support during product launch activities, including field issue investigation and root cause analysis.
- Collaborate cross-functionally with Hardware Engineering, Systems Engineering, Manufacturing, and Quality teams.
- Drive continuous improvement in software design practices, coding standards, development processes, and tool usage.
- Mentor and provide technical coaching to less-experienced engineers.
- Perform other duties as assigned.
Requirements
- Bachelor’s degree in Computer Science, Electrical Engineering, or a related field required.
- 6–10 years of embedded software development experience in an industrial or regulated environment.
- Demonstrated experience owning complex software components or subsystems.
Skills and Abilities
- Proven experience developing embedded software in C and C++.
- Strong experience working with Linux-based embedded systems and/or real-time operating systems (RTOS).
- Solid understanding of industrial communication networks, with CAN bus experience strongly preferred.
- Experience with embedded microcontroller architectures, preferably STMicroelectronics (STM32) devices.
- Hands-on experience with CODESYS PLC programming and control logic development.
- Demonstrated ability to debug and troubleshoot complex issues across hardware and software boundaries.
- Working knowledge of software version control systems, build systems, and embedded development toolchains.
- Experience supporting products throughout the entire product lifecycle, including development, release, production, and field support.
- Demonstrated ability to translate system-level requirements into robust, maintainable software designs.
- Strong analytical and problem-solving skills applied to complex technical challenges.
- Effective written and verbal communication skills, including the ability to explain technical concepts clearly.
- Ability to manage multiple priorities across parallel development efforts.
- Demonstrated ability to influence technical direction without formal authority.
- Comfortable mentoring peers and providing clear, constructive technical feedback.
Education and Experience
- Bachelor’s degree in Computer Science, Electrical Engineering, or a related field required.
- 6–10 years of embedded software development experience in an industrial or regulated environment.
- Demonstrated experience owning complex software components or subsystems.