Senior Software Engineer & Tech Architect
Listed on 2026-09-05
-
Software Development
Software Engineer, Embedded Software Engineer, Robotics
Job Title:
Senior Software Engineer
Job Description
This Senior Software Engineer role focuses on designing, developing, and supporting advanced software applications for complex automated and industrial systems. You will primarily develop Windows desktop applications in C++ and C#, integrating software with hardware such as motors, sensors, vision systems, robotics, and other electromechanical components. The position requires strong technical leadership, hands‑on involvement throughout the full product lifecycle, and experience with industrial communication protocols and motion control or automation equipment.
Responsibilities
+ Design, develop, and maintain Windows desktop applications using C++ as the primary programming language and C# where appropriate.
+ Develop software for machine control and automation equipment, ensuring reliable and precise control of complex industrial systems.
+ Integrate software with hardware components, including motors, sensors, vision systems, robotics, and other electromechanical devices.
+ Work with industrial communication protocols such as CANopen or EtherCAT to enable robust communication between software and industrial equipment.
+ Support highly automated equipment used in semiconductor, medical device, aerospace, or advanced manufacturing environments.
+ Lead technical projects by providing architectural guidance, making design decisions, and ensuring implementation aligns with system requirements.
+ Mentor and support other engineers by reviewing code, sharing best practices, and fostering strong engineering standards.
+ Participate in the full product lifecycle, including new product development, system integration, deployment, and sustaining engineering for existing products.
+ Develop and maintain large-scale PC-based software applications that interface with complex physical machinery and equipment.
+ Validate and test software directly on physical machinery or automated equipment to ensure performance, reliability, and safety.
+ Troubleshoot and resolve software issues on complex physical machinery and equipment, including diagnosing integration and performance problems.
+ Apply object-oriented programming principles and modern software design methodologies to create maintainable, scalable, and robust solutions.
+ Use source control and project management tools such as Git, Jira, Microsoft Project, or similar platforms to manage code, tasks, and project timelines.
+ Collaborate with cross-functional teams, including hardware, systems, and test engineers, to ensure seamless system integration and successful deployment.
+ Contribute to continuous improvement of development processes, testing practices, and overall software quality.
Essential Skills
+ Bachelor's degree in Engineering, Computer Science, Software Engineering, or a related technical discipline.
+ 7-10+ years of professional software engineering experience.
+ Strong proficiency in C++ development, with C++ serving as the primary programming language.
+ Experience developing applications in both C++ and C# environments.
+ Experience developing Windows desktop applications.
+ Experience developing and maintaining large-scale PC-based software applications.
+
Experience with machine control and automation equipment.
+ Hands‑on experience integrating software with hardware systems and equipment, including motors, sensors, vision systems, robotics, and other electromechanical components.
+ Experience validating and testing software directly on physical machinery or automated equipment.
+ Experience working with automated equipment, robotics, motion control systems, industrial automation, semiconductor equipment, medical device manufacturing equipment, or aerospace systems.
+ Experience working with industrial communication protocols such as CANopen or EtherCAT.
+ Strong understanding of object-oriented programming principles and software design methodologies.
+ Strong understanding of the software development lifecycle, including system integration, testing, and deployment processes.
+ Proven ability to troubleshoot and resolve software issues on complex physical machinery and equipment.
+ Experience using source…
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).