As a dynamic multinational tech company operating in 50 countries, we drive innovation and create projects that shape the future and greatly enhance the quality of life. You will find our solutions supporting advanced AI initiatives, financial analytics, and enterprise-scale digital transformation across global organisations.
About the role
As a Senior Embedded C++ Engineer (2 FTE), you will be responsible for designing, developing, and maintaining firmware for advanced industrial automation products. You'll work on embedded systems, network communication protocols, and real-time software, contributing to reliable and high-performance solutions used worldwide.
In this role, you'll participate in the full software development lifecycle, from requirements analysis and system design to implementation, testing, debugging, and code reviews. You'll collaborate with international engineering teams, contribute to architectural decisions, drive technical improvements, and mentor less experienced developers.
We're looking for someone with strong experience in embedded firmware development, C++, system-level debugging, and software development lifecycle methodologies. Experience with TCP/IP, Ethernet-based communication, RTOS (e.g. QNX, VxWorks), Git, CI/CD pipelines, and industrial automation systems will be highly valued.
Requirements 'must have':
- Bachelor's degree in Computer Engineering, Computer Science, Automation and Robotics, Electronics, or related IT degree (or equivalent practical experience).
- Typically, 5+ years of practical software development experience in C++, using software lifecycle development methodologies (software requirements analysis, software design, software testing).
- Knowledge of one or more of: network protocols (TCP/IP, Ethernet-based communication), embedded systems architecture, or real-time operating systems (e.g. QNX, VxWorks).
- Typically, 5+ years of experience in embedded systems firmware development and debugging.
- Practical experience with version control systems like GitHub/GitLab and CI/CD systems like Jenkins.
- Fluent English (B2 or higher).
- “I'll figure it out and help others do the same.” mindset.
Requirements 'nice to have'
- Practical programming experience in Python or similar languages (to support testing activities and tooling).
- Experience in industrial automation systems (PLCs, drives, I/O modules).
- Experience working across multiple hardware platforms or SoC architectures.
- Practical knowledge of embedded security concepts or safety standards (e.g., IEC 62443, IEC 61508) and product certification workflows (TÜV, ODVA).
- Experience with industrial network protocols (e.g., EtherNet/IP, CIP).
- Familiarity with hardware-software interaction concepts (registers, interrupts, memory management, BSP/HAL).
- Experience with real-time systems.
- Familiarity with hardware debugging tools (e.g., Lauterbach, JTAG, and logic analyzers).
- Experience in Agile software / SAFe development.
- Collaborative mindset: willingness to support the team, share knowledge, experiment, and maintain technical documentation.
Responsibilities:
- Firmware Development
- Design firmware components for multiple Automation devices.
- Implement and validate product features in your domain, such as network protocols (Ethernet/IP, CIP), controller runtime functions, or platform/OS services.
- Perform firmware debugging and defect analysis, using systematic root cause analysis techniques, and apply prioritization based on the most complex and critical problems.
- Write unit tests and integration tests, contributing to CI/CD-driven quality workflows. System Design & Architecture
- Participate in requirements analysis, system design, and architecture discussions, taking responsibility for components or features.
- Create design documentation, including high-level and low-level specifications.
- Conduct code reviews and ensure compliance with embedded coding standards.
- Lead analysis and resolution of complex system-level issues. Collaboration & Continuous Improvement
- Mentor less experienced engineers and support knowledge sharing within the team.
- Contribute to technical decision-making and improve development processes.
- Collaborate with teams worldwide
To learn more about Seargin, please visit our web page: www.seargin.com